摘出一些序言里面的有意思的观点:
习惯比实践更有味道,流水不腐,户枢不蠹。厨房脏了,就擦一下,总比等满墙都是油烟,然后再去清理的代价要小的多。回顾,测试,重构等有利于团队建设,以及提高生产力的实践要经常、频繁的做,进而变成习惯。
李笑来老师在《和时间做朋友》一书中提到。所有学习上的成功都只靠两件事,策略和坚持,而坚持本身就应该是最重要的策略之一,但是现实是,我们给自己制定了很多的计划,我们要每天写博客,总结今天的学习心得,我们要每天记单词,但最后没有实现,却给自己找各种理由,其实究其根本,主要是我们没搞清楚,为什么要做?其次才是怎么做。我们要想这个事情做了,怎么好,没做怎么不好,明确该事情的目的,才能有激情,才能不被事情本身的枯燥和乏味击倒,一直坚持下去,直到该行为变成一种生活方式。
敏捷开发口诀:
迭代开发,价值优先。
分解任务,真实进度。
站立会议,交流畅通。
用户参与,调整方向。
结对编程,代码质量。
测试驱动,安全可靠。
持续集成,尽早反馈。
自动部署,一键安装。
定期回顾,持续改进。
不断学习,提高能力。
突然发现,我实习期间的那个项目,就是一个敏捷开发的经典项目。需求频繁变动。团队成员较少。人员非常敬业,呵呵。
下面是敏捷开发宣言:
1、个体和交互胜过过程和工具。
2、可工作的软件胜过面面俱到的文档。
3、客户协作胜过合同谈判。
4,、响应变化,胜过遵循计划
我突然发现上面四句话,对我这种急性子,喜欢极限编程的人来说,总结的简直太合适了。我个人认为,敏捷开发,非常适合人员非常敬业的、需求不太明确的项目。有一点非常重要,就是项目中的人员,必须要有高度的责任心和执行力。每个人都希望尽最大可能把活干漂亮,如果只是想完成任务而已,或者是喜欢拖沓、怠工,那么敏捷开发,并不适合你。你可能适合那些重量级的、缓慢的、有庞大文档基础的项目。个人认为,敏捷开发项目贯穿始终的就三个方面:预防问题,发现问题,解决问题。我们竭力避免问题的产生,但是总是有各种问题,我们得解决问题,我们在解决问题的时候,同样是竭力避免问题的产生。如此循环,此为敏捷开发之道。
值得一提的是敏捷开发的一些辅助工具:
1、wiki,这是个好东西,它是一个web系统,用户可以通过浏览器编辑网页内容,并创建链接到一个新的内容页面。这是一个很好的支持协作的工具。团队中的每个人都可以自由更改网页内容,分享心得。它的好处,谁用谁知道。
2、版本控制,业界强烈推荐,把所有的代码,文档,图标都放到一个版本控制系统当中,无论是cvs或者是svn都行。使用一个网络共享比如说ftp的方式早就已经out了。
最后想说的是,解决问题要先难后易,不要有侥幸心理,想着总会好的。这种拖延问题的办法,只能使问题放大。
后续的,我会接着总结,敏捷开发的细节。
突然发现,在学习过程中,难以集中注意力的时候,抱着写一个总结的目的学习,也是一个不错的动力。fighting everyone!