敏捷开发实践(2) — 敏捷软件开发者的习惯
2013-08-08 17:02
323 查看
敏捷开发实践(2) — 敏捷软件开发者的习惯
敏捷开发的最小单位就是参与敏捷开发的个人。将这些敏捷开发者聚集起来,就形成了敏捷开发团队。
正如上回介绍的,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,它以最大可能地发挥团队的作用为目的。根据需要,随时改善,以降低软件开发中的风险。
习惯来自于经验,习惯需要用实践来养成。我们来看看作为敏捷软件开发者必备的4种技能 :
编故事(Creating Stories)
这里不是让你去写一部小说,而是让开发者站在用户的视点,用用户能理解的词汇描述软件系统的机能,行为。只有理解了用户真正的需求,我们才能写出真正需要的软件。
制定计划(Planning)
敏捷开发并不是没有计划就投入编码。指定计划也是很重要的,但是与以往的开发计划不同,敏捷的计划是随着开发的实际情况改变而随时制定并改善的。所以说敏捷开发的计划的作成、修改的频度很高,需要尽可能高效地完成每次制定的计划。
测试驱动开发(Test-Driven Development)
它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完成全部功能的开发。
重构(Refactoring)
没有最好,只有更好。软件开发也不例外,任何时候我们都可以对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。
构成敏捷习惯的要素
敏捷的心态
敏捷的实践
持续改善
重视各种反馈
通过实践中的反馈,我们可以得到过程中的经验,并对今后的开发产生有益的作用。但是并不是一味的重视实践就好了,需要知道何时从实践和反馈中学习。
为了按阶段,周期性的完成实践及反馈的过程,差生了迭代的概念。
迭代开发
迭代开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如2周)的小项目,被称为一系列的迭代。每一次迭代都包括了需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需求,并开始新一轮的迭代。
迭代的一个很重要思想就是将作业按时间单位来划分,管理。在一定的周期内完成开发的作业。不同的团队可以按照机能划分,并行开展,如下图 :
![](http://www.yifeiyang.net/images/agile/iterative.jpg)
比如,一个项目的作业期间是3个月,按2周为单位来开展迭代开发,那么迭代的总数就是6个。并且该期限是严守的,一旦规定好了一般是不能更改的。
回顾改善
每个迭代结束之后,都需要回顾上个迭代中的内容,考虑是否有改善和坚持的地方,以提高接下来迭代中的开发效率。
该回顾需要定期的地实施,并在30分钟到1个小时内完成。一般情况下,在白板上使用KPT方法来总结课题。
Keep : 好的,需要今后坚持的
Problem : 问题点,需要注意并改善的
Try : 下次开始尝试改善的
![](http://www.yifeiyang.net/images/agile/kpt.jpg)
进行KPT的步骤
检查上次的Try课题
回忆本次迭代中遇到的课题
按Keep,Problem,Try的形式总结
Closing,总结,给白板拍照
敏捷开发的最小单位就是参与敏捷开发的个人。将这些敏捷开发者聚集起来,就形成了敏捷开发团队。
正如上回介绍的,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,它以最大可能地发挥团队的作用为目的。根据需要,随时改善,以降低软件开发中的风险。
敏捷开发者的态度
敏捷开发者首先需要有忠实,勤恳的态度,在此之上要有持续改善和迅速达成目标的紧迫感。如何让开发者养成敏捷的心态,如何磨练开发者敏捷的意志,让开发者了解敏捷的习惯很重要。习惯来自于经验,习惯需要用实践来养成。我们来看看作为敏捷软件开发者必备的4种技能 :
编故事(Creating Stories)
这里不是让你去写一部小说,而是让开发者站在用户的视点,用用户能理解的词汇描述软件系统的机能,行为。只有理解了用户真正的需求,我们才能写出真正需要的软件。
制定计划(Planning)
敏捷开发并不是没有计划就投入编码。指定计划也是很重要的,但是与以往的开发计划不同,敏捷的计划是随着开发的实际情况改变而随时制定并改善的。所以说敏捷开发的计划的作成、修改的频度很高,需要尽可能高效地完成每次制定的计划。
测试驱动开发(Test-Driven Development)
它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完成全部功能的开发。
重构(Refactoring)
没有最好,只有更好。软件开发也不例外,任何时候我们都可以对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。
敏捷开发者的习惯
了解了开发者应该具有的态度,我们就可以从自己开始掌握敏捷开发者的习惯。然后在团队中展开,最终形成敏捷的团队。构成敏捷习惯的要素
敏捷的心态
敏捷的实践
持续改善
重视各种反馈
通过实践中的反馈,我们可以得到过程中的经验,并对今后的开发产生有益的作用。但是并不是一味的重视实践就好了,需要知道何时从实践和反馈中学习。
为了按阶段,周期性的完成实践及反馈的过程,差生了迭代的概念。
迭代开发
迭代开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如2周)的小项目,被称为一系列的迭代。每一次迭代都包括了需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需求,并开始新一轮的迭代。
迭代的一个很重要思想就是将作业按时间单位来划分,管理。在一定的周期内完成开发的作业。不同的团队可以按照机能划分,并行开展,如下图 :
![](http://www.yifeiyang.net/images/agile/iterative.jpg)
比如,一个项目的作业期间是3个月,按2周为单位来开展迭代开发,那么迭代的总数就是6个。并且该期限是严守的,一旦规定好了一般是不能更改的。
回顾改善
每个迭代结束之后,都需要回顾上个迭代中的内容,考虑是否有改善和坚持的地方,以提高接下来迭代中的开发效率。
该回顾需要定期的地实施,并在30分钟到1个小时内完成。一般情况下,在白板上使用KPT方法来总结课题。
Keep : 好的,需要今后坚持的
Problem : 问题点,需要注意并改善的
Try : 下次开始尝试改善的
![](http://www.yifeiyang.net/images/agile/kpt.jpg)
进行KPT的步骤
检查上次的Try课题
回忆本次迭代中遇到的课题
按Keep,Problem,Try的形式总结
Closing,总结,给白板拍照
相关文章推荐
- 敏捷软件开发——敏捷实践
- 敏捷软件开发:原则、模式与实践——第7章 什么是敏捷设计
- 面向对象的设计原则【敏捷软件开发 原则、模式与实践】里面摘录
- 敏捷技能修炼:敏捷软件开发与设计的最佳实践
- 《敏捷软件开发:原则、模式与实践》--敏捷开发读书笔记
- [最佳实践]在Scrum敏捷软件开发模式中,我们是如何开Sprint 计划会议的
- 《敏捷软件开发-原则、方法与实践》-Robert C. Martin
- 最近读了Robert C. Martin的《敏捷软件开发 原则、模式与实践》
- 【敏捷软件开发:原则、模式与实践】之敏捷设计的几个原则
- 让开发者相见恨晚?!华为云软件开发云实现云上敏捷开发
- 敏捷软件开发:原则、模式与实践
- 《敏捷软件开发(原则、模式与实践)》前三章笔记
- 《敏捷软件开发原则,模式与实践》读书笔记
- 软件开发的本质 --《敏捷软件开发:原则、模式与实践》
- 《敏捷软件开发(原则、模式与实践)》第四章到第八章笔记
- 敏捷软件开发:原则、模式与实践——第13章 写给C#程序员的UML概述
- 敏捷软件开发(原则,模式与实践)笔记1
- [最佳实践]从敏捷到精益:将看板应用于软件开发
- [敏捷最佳实践]从玩扑克到软件开发
- 《敏捷软件开发 ——原则、模式、与实践》学习笔记(2)