博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大象vs蚂蚁
阅读量:2228 次
发布时间:2019-05-09

本文共 784 字,大约阅读时间需要 2 分钟。

大象vs蚂蚁
黄国强 2004-12-22
 

    前两天,去参加了微软的软件开发高级管理培训班。有一点感想,与大家分享。

微软是软件行业的巨无霸、航空母舰。我所在的公司比较起来,可能算是一个蚂蚁。所以,一只蚂蚁要象大象学习,教条的照搬可能会死的会很难看。而且开发一个产品最终是否成功,直接的因素还是依赖于开发人员的软件方面水平。好的开发管理只是提高效率的手段而已,不要过于迷信。
    俄国作家托尔斯泰曾经说过:“幸福的婚姻都是相同的,不幸的婚姻却各有各的不幸。”微软这样一个25年历史,成功的软件公司应该而且肯定有值得借鉴的普遍规律性的东西。
    Joel Spolsky的一篇文章[1]比较详细的阐述了每日构建的必要性和重要性。他在文中提到“REP循环”(Rep loop)这个概念。REP是“读入,求值,打印(Read, Eval, Print)”的缩写。每日构建意味着自动地,每天,完整地构建整个代码树。你的工作过程是循环的。一个循环所花时间越短,你的生产力就越高。你必须想方设法使得报告-修正-再测试循环(Report-Fix-Retest loop)花的时间更少。
所以在这个微软的讲座中,也重点提到了以下三点:

* 源代码管理

* 每日构造
* Bug管理

我的理解,做到这三点所要追求的目的就是效率。这是我们应该抓住的主题。虽然目前我们项目组在开发上按照当前的框架基本上保证了最短的REP循环,但在发布这个环节上有很大问题。

鲁班钢筋的版本发布周期一般在一个月左右,每到发布前的两三天,程序员都忙于整合代码,做了很多与开发没有直接相关的事情,效率显然很低。考虑到又要坚持短周期发布的开发策略,我觉得从微软的那里还是可以学到一些做法。比如微软已经做到每日构建。近期我们可以考虑从每周构建做起,逐步过渡到每日构建。在这里,关键是自动,如果做不到自动,手工构建没有任何意义。

转载地址:http://mlefb.baihongyu.com/

你可能感兴趣的文章
HTM+CSS实现立方体图片旋转展示效果
查看>>
FFmpeg 命令操作音视频
查看>>
问题:Opencv(3.1.0/3.4)找不到 /opencv2/gpu/gpu.hpp 问题
查看>>
目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备
查看>>
问题:Mysql中字段类型为text的值, java使用selectByExample查询为null
查看>>
程序员--学习之路--技巧
查看>>
解决问题之 MySQL慢查询日志设置
查看>>
contOS6 部署 lnmp、FTP、composer、ThinkPHP5、docker详细步骤
查看>>
TP5.1模板布局中遇到的坑,配置完不生效解决办法
查看>>
PHPstudy中遇到的坑No input file specified,以及传到linux环境下遇到的坑,模板文件不存在
查看>>
TP5.1事务操作和TP5事务回滚操作多表
查看>>
composer install或composer update 或 composer require phpoffice/phpexcel 失败解决办法
查看>>
TP5.1项目从windows的Apache服务迁移到linux的Nginx服务需要注意几点。
查看>>
win10安装软件 打开时报错 找不到 msvcp120.dll
查看>>
PHPunit+Xdebug代码覆盖率以及遇到的问题汇总
查看>>
PHPUnit安装及使用
查看>>
PHP项目用xhprof性能分析(安装及应用实例)
查看>>
composer安装YII
查看>>
Sublime text3快捷键演示
查看>>
sublime text3 快捷键修改
查看>>