项目经验(转)
1,永远不要往延期的项目中添加人手,这个在《人月神话》中说的很清楚,但是在操作上人永远会犯这个错误,公司好几个项目都是这样的,一延期,客户在催了,马上就开始来叫人去帮忙了,结果是越帮越忙。
2,做业务系统,尤其是基于BS的项目,3个熟练的程序员和30个生手,我宁愿要3个熟练的程序员,这种项目,在最快的时间和客户确定需求,在最快的时间把代码编写完,把测试做完,绝对不能拖,要让客户跟着你跑,千万不能让客户有太多的空余时间。否则客户今天说这里颜色不对,明天说你给我在表里加个字段,你会疯的。
3,sales永远是sales,无论是特级还是顶级的,千万不能让sales当PM。
4,无论多小的项目,必须先有需求再设计,千万不能边需求边设计。
在项目开发中引入技术:
1、选择(定义)你想要重新构建的技术特性部分(比如性能提升等)
2、设计一些入门级的程序来增强你所选择的特性部分
3、将客户或者QC部门所反映的新特性部分分类
4、将所有要增强的按照优先级别排序后开始安排人员写测试用例以及代码
5、得到客户或者QC部门的回馈意见
6、当然根据回馈要做大量的分析以及Redo工作
7、返回到第一步继续进行迭代
上述部分是我正在实施并且做试验的部分,抛砖引玉。
----------------------------------------------------------------------------------------
教训:
1、如果页面设计人员对于程序没有一个总体的认识的话,随着时间的推移你会发现你的程序会越来越臃肿,每个模块的外观都不统一,最后交付给客户时候变的苍白无力、无法辩解。无论你的程序将所有的客户要求都满足了也无济于事。人机交互是设计人员一定要考虑的因素。
2、如果你对团队的时间监控仅仅限于一张project的进度表的话,那么你永远无法想到在这个进度表的背后其实隐藏着很多的Bad Smell,也意味着你很快跟团队的进度将很快脱离。当你发现这些Bad Smell开始浮出水面的时候可能已经变的可以让泰坦尼克号都能沉没了。这时候你会发现你的头发又开始稀少了,老板在你的面前的声音也开始尖锐起来了。
3、客户总是在最后才会明白自己之前的想法会有很多问题,毕竟中国的客户对于抽象的思维能力总是很弱。虽然中国人的数学学的都不错,但是仅仅限于在买菜的时候使用。所以再不济你也要将最后展现给客户的时间跟最后交付使用时间要有一定的间隙,否则客户也会怒发冲冠的。
4、如果团队中有人开始落后于进度的时候不要急于将其代码拿过来修改一通甚至直接从团队中让其消失,人员的水平有高有低,这种情况需要结对开发以及频繁的团队交流才能解决本质问题。
5、经常但是持续时间较短的会议对于团队气氛的调节很有好处,毕竟XP的面对面开发对于很多IT公司的老板是一件无法理解的事情。
2,做业务系统,尤其是基于BS的项目,3个熟练的程序员和30个生手,我宁愿要3个熟练的程序员,这种项目,在最快的时间和客户确定需求,在最快的时间把代码编写完,把测试做完,绝对不能拖,要让客户跟着你跑,千万不能让客户有太多的空余时间。否则客户今天说这里颜色不对,明天说你给我在表里加个字段,你会疯的。
3,sales永远是sales,无论是特级还是顶级的,千万不能让sales当PM。
4,无论多小的项目,必须先有需求再设计,千万不能边需求边设计。
在项目开发中引入技术:
1、选择(定义)你想要重新构建的技术特性部分(比如性能提升等)
2、设计一些入门级的程序来增强你所选择的特性部分
3、将客户或者QC部门所反映的新特性部分分类
4、将所有要增强的按照优先级别排序后开始安排人员写测试用例以及代码
5、得到客户或者QC部门的回馈意见
6、当然根据回馈要做大量的分析以及Redo工作
7、返回到第一步继续进行迭代
上述部分是我正在实施并且做试验的部分,抛砖引玉。
----------------------------------------------------------------------------------------
教训:
1、如果页面设计人员对于程序没有一个总体的认识的话,随着时间的推移你会发现你的程序会越来越臃肿,每个模块的外观都不统一,最后交付给客户时候变的苍白无力、无法辩解。无论你的程序将所有的客户要求都满足了也无济于事。人机交互是设计人员一定要考虑的因素。
2、如果你对团队的时间监控仅仅限于一张project的进度表的话,那么你永远无法想到在这个进度表的背后其实隐藏着很多的Bad Smell,也意味着你很快跟团队的进度将很快脱离。当你发现这些Bad Smell开始浮出水面的时候可能已经变的可以让泰坦尼克号都能沉没了。这时候你会发现你的头发又开始稀少了,老板在你的面前的声音也开始尖锐起来了。
3、客户总是在最后才会明白自己之前的想法会有很多问题,毕竟中国的客户对于抽象的思维能力总是很弱。虽然中国人的数学学的都不错,但是仅仅限于在买菜的时候使用。所以再不济你也要将最后展现给客户的时间跟最后交付使用时间要有一定的间隙,否则客户也会怒发冲冠的。
4、如果团队中有人开始落后于进度的时候不要急于将其代码拿过来修改一通甚至直接从团队中让其消失,人员的水平有高有低,这种情况需要结对开发以及频繁的团队交流才能解决本质问题。
5、经常但是持续时间较短的会议对于团队气氛的调节很有好处,毕竟XP的面对面开发对于很多IT公司的老板是一件无法理解的事情。