敏捷开发修炼之道-体会

办公桌上的书去年买的一直没时间看,还是全新的,最近有空正好看看书,最近在看高效程序员的45个习惯,个人感觉不错,推荐大家看看。 以下是一些个人体会。

关于态度


记得前中国队主教练米卢说过:”态度决定一切!” ,当时听听也没什么感受现在想来,这句话你包含了太多的东西。软件开发就像一个球队,冲着同一个目标共同努力,排除万难,奋勇前进去实现它,只有在你对项目、工作、事业有一个专业的态度时,使用敏捷的开发方法才有效。

**1- 做事 ** 项目中经常出现的情况,出了问题,我们首先去找谁写的这段代码,把寻找罪魁祸首设置为最高的优先级别,也许我们应该反省一下第一反映是什么?如果你说的话让事态复杂,或者只是抱怨,并没有解决问题,我们应该把重点放在问题的解决上。指责不会修复bug,把矛头对准问题的解决,而不是人,着才是能提供正能量的方式。一个重大的错误应该被当作是一次团队学习和深刻反醒的机会。

2- 欲速则不达 我们在工作压力下,经常不去了解真正的需求及可能后果就快速的修改代码,最终引发大问题。不要孤立的编码,是用测试,投入时间和精力保持代码的干净。不要急于修复一段没能真正理解的代码。

3- 对事不对人 我们经常在项目中出现相互的指责,否定个人能力,指出明显的缺点,并否定观点。我觉得更好的方式是提出顾虑,尊重队友。确定目标找出最优方案,并支持已经做出的决定。但是真正要做到是困难的,事情和人本质上无法分割。

4- 勇气 项目中你可能知道,目前的做法是错误的,你是否有勇气向项目成员,老板提出来,这个并不容易,牵涉的东西太多。这个需要魄力,但有些时候这是扫除障碍的唯一方法,否则只会近一步恶化,最后项目烂掉。

团队培养


1- 学习 敏捷团队需要持续的学习,何况软件技术变化这么快,变化是永恒的,能否跟上变化完全取决于你自己。建议: - 迭代和增量式的学习 - 经常了解最新行情 - 大量阅读 - 参加技术活动

2- 对团队投资 团队中的成员各有所长,混在一起是一个很理想的团队,但是经常遇到团队中有很多初级的程序员,需要手把手教起。这就要求培训和share session.但是效果如何,还是要看成员本身的自学能力和兴趣。解决办法:

3- 时刻清空自己 让学习新技术成为习惯,逃离自己熟悉技术的舒适区。不满足于表像,要不停地提出问题,直到明白问题地根源。

敏捷协作


敏捷开发


1- 代码

代码的可读性至关重要,代码阅读的次数远远超过编写的次数,注释可以帮助理解,也可能导致不好地干扰,因该用代码沟通。好的注释应该告诉阅读的成员,为什么要这样写。具体的逻辑表达应该由代码本身来告诉你。编码的时候要尽量的保持简单,尽管这样很难做到,但我们也要尽力去尝试。尽量的面向对象来编写,提高代码的内聚。

如何写注释:

注释不能替代优秀的代码!

2-增量编程 增量编程和测试,会倾向于创建更小的方法和内聚性的类,要经常留心代码改进的微小方面,可以做出许多细微的改善,可以看看Martin Flower的经典重构-改善既有代码设计。开发可以工作的,最简单的解决方案。

3-TDD实践 要真正的实践TDD很难,但还是要尽力尝试,因为它可以帮你明确的需求,有利于设计,避免复杂的设计。

敏捷开发就是在一个高度协作的环境中,不断的使用反馈进行自我调整和完善。Cheers!

87 Words 22 April 2013 Suzhou, China