《敏捷武士:看敏捷高手交付卓越软件》,看题目就知道是一本读起来不枯燥的书籍,试读章节里看到的众多的插图,能够深深吸引读者,而且文字通俗易懂,读来乐趣多多。希望能够提升自己的敏捷实战能力。
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。
在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集 成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
敏捷方法作为近年流行的一种软件开发方法,由于适应欧美软件项目需求频繁变化的特点,同时满足客户对于短周期增量交付的要求,在欧美软件外包行业中得到了 越来越广泛的应用。经过多年的时间证明,敏捷方法能够提高开发团队的生产率,产品的质量和客户的满意度。对于软件外包服务商而言,在公司组织级需要采取相 应的措施,以对敏捷团队进行支持和监控,并满足客户不断提高的要求。
本人现在的项目正是采用敏捷开发的模式,一个星期发布1个版本。不断迭代,不断补充需求...
在敏捷开发的过程中,我有几点感觉特别深刻。
注重概念和架构设计,而轻详细设计, 在开始正式开发之前,通过概念设计和架构设计,梳理思路是非常必要的。
业务和客户驱动 ,而非技术驱动, 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作,确保技术人员能够开发出客户需要的产品。所以一周3次沟通会议。QA,BA(业务人员),DEV坐一起开。
轻文档,但非无文档, 我们是在release note中才整理出比较详细的文档。之前只是一些设计框架需求文档。而且大部分文档是BA帮助维护的。
敏捷开发5价值 辅助阅读:
敏捷建模(Agile Modeling,AM)的价值观包括了XP的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价值观:谦逊。由于技术人员和业务人员的思考方式会存在比较大的差别。沟通反馈是非常有必要的。
沟通
建模不但能够促进你团队内部的开发人员之间沟通、还能够促进你的团队和你的project stakeholder之间的沟通。
简单
画一两张图表来代替几十甚至几百行的代码,通过这种方法,建模成为简化软件和软件(开发)过程的关键。这一点对开发人员而言非常重要-它简单,容易发现出新的想法,随着你(对软件)的理解的加深,也能够很容易的改进。
反馈
Kent Beck在Extreme Programming Explained中有句话讲得非常好:“乐观是编程的职业病,反馈则是其处方。”通过图表来交流你的想法,你可以快速获得反馈,并能够按照建议行事。
勇气
勇气非常重要,当你的决策证明是不合适的时候,你就需要做出重大的决策,放弃或重构(refactor)你的工作,修正你的方向。
谦逊
最优秀的开发人员都拥有谦逊的美德,他们总能认识到自己并不是无所不知的。事实上,无论是开发人员还是客户,甚至所有的 project stakeholder,都有他们自己的专业领域,都能够为项目做出贡献。一个有效的做法是假设参与项目的每一个人都有相同的价值,都应该被尊重。
敏捷开发是针对传统的瀑布开发模式的弊端而产生的一种新的开发模式,目标是提高开发效率和响应能力。除了原则和实践,模式也是很重要的,多研究模式及其应用可以使你更深层次的理解敏捷开发。