花了一个半小时读完《敏捷开发修炼之道》,感觉还不错,记录一下自己的理解,收获。
敏捷,其实可以简单的理解为快,那么怎样才能快,就是集中团队的智慧来理解问题,解决问题,这样不仅进度会快,而且会使软件开发这个复杂的工作变得简单。由此可见,“团队”是敏捷的重中之重,没有了团队,敏捷也就无从谈起。所以,可以简单的给敏捷下一个定义:
“敏捷就是借助团队的力量,来使软件开发过程变得轻便快捷,并且使团队中的个人对于问题的理解更加深入,而敏捷的结果除了解决问题之外,对于团队的气氛也有很大的帮助”
书中作者讲述了敏捷开发需要的45个习惯,合上书,我想我能说出来的就是我理解消化的,至于那些未消化的,或许还是自己能力未到吧。
1. 要使代码尽量清晰明了,而不是为了显摆自己的聪明而使用复杂晦涩的语法。
曾经记得自己写过几句代码,是if...else的代码,我使用了“?”操作符来完成,?操作符中又嵌套了另一个?操作符,虽然我的代码只用一行就可以写完,但是,对于要阅读我代码的人来说,这句代码或许不及if else来的更直白明了。
2. 遇到问题先解决问题,而不是找出谁“创造”了这个问题。
3. 对事不对人。
这一点很多人都应该明白,在我的经历中,遇到的所有人都是对事不对人的,我没遇到挤兑别人的人,所以,有些时候犯错误了被人说了其实没什么大不了的,只是如果换做自己当领导时或许可以更好的来表达而不让人误会自己。
4. 要善于听取团队成员的新的想法,当发现问题时要使用交流的形式去谈论问题,而不是去评价想法的好与坏,不要打击别人,兴许是你自己太愚蠢了没能理解别人的想法
5. 同时,在发现新问题时,或者有了新的想法,也要勇敢的说出来,不要因为没有勇气而丧失了表达新想法的机会。
6. 要相信别人。每一个团队各个成员的水平参差不齐,但是要相信每一个成员,如果他水平不行,那就要让他赶紧学,而不是让他打酱油,这样,他在以后的项目中也不会起到什么帮助,除非开除他。
7. 要不断学习新技术,并不一定要精通,但是要有所了解,这样在对决定是否使用这种技术时会有一个考量
8. 对于每一个项目可以设立wiki界面,来记录项目的进度情况
9. 对于项目中出现的bug可以设立一个wiki界面,这对其他人解决这个错误会有很好的帮助,并且对于将来遇到的此类问题也会有好的帮助
10. 关于代码的注释。代码的注释往往是为了弥补代码的不清晰性。所以首先得保证代码的清晰明了,这对函数,变量命名都有很高的要求。但是觉得每一个函数的功能注释是必须的,必须在函数前写清楚参数,返回值,函数的功能等信息。
11. 要能理解团队的代码,或许不用清楚每一个细节,但是分成每一个小块,必须清楚。
12. 不管你在团队里是什么角色,特别是高级人员,像项目经理,架构师,都要亲身去参与软件的编码中,因为只有这样才能对软件的架构有亲身体会。软件不是凭空想出来的。
13. 对于整个项目来说,要始终保持前进,而不能走走停停。但是又不能太快,欲速则不达嘛
14. 对于问题要尽早发现尽早解决,而不要等到软件结构太庞大时再去解决,那样难道会比较大。
其实,脑子里还有一些想法,但是不想继续写下去了,因为这只是纸上谈兵,怎样把这些习惯运用到实际的项目中才是重点。其实,敏捷只是解决问题以及预防问题的一些方法,这些方法可以使我们更好的与其他人沟通,更好的解决问题,把工作做的更完美。希望再下个项目中可以好好的运用这些方法,让开发更“敏捷”!