说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

敏捷开发的6个实战经验

HTML文档下载 WORD文档下载 PDF文档下载
Ulf Eriksson根据自己多年的敏捷开发经历,总结了6个实施敏捷开发的技巧:快速迭代、让测试人员和开发者参与需求讨论、编写可测试的需求文档、多沟通&尽量减少文档、做好产品原型、及早考虑测试等。

在大型企业中经常是各种软件开发模式混用,一些采用敏捷开发,一些则是采用传统的瀑布式或RUP(统一软件开发过程)。敏捷开发,相对传统软件开发模式,它主要是针对快速变化的需求,不断优化管理流程,最终推出优质软件。 

原文作者Ulf Eriksson,是一家在线问题跟踪软件公司的创始人之一,他是敏捷开发的忠实粉丝,已经进行了多年敏捷开发的实践。下面内容主要是作者根据自己多年经历进行的经验总结。 


1. 快速迭代

相对那种半年一次的大版本发布来说,小版本的需求、开发和测试更加简单快速。一些公司,一年仅发布仅2~3个版本,发布流程缓慢,它们仍采用瀑布开发模式,更严重的是对敏捷开发模式存在误解。 

由一年发布2个版本转到一个月发布2个版本,这也不太可能。但是现在来看,快速迭代已经成为事实标准,关键是要比目前的版本发布速度更快一些。 

快速迭代,可以逼迫团队不断优化流程、提升工作效率,不要在无足轻重的事情上浪费时间。如果离deadline还有6个月,那么整个工作节奏必然悠哉。如果每月发布一个版本,那么较以前效率必然会更高。如果发布周期过长,导致无法尽快发现用户需求,进而无法及时改进产品。 

2. 让测试人员和开发者参与需求讨论

需求讨论以研讨组的形式展开最有效率。研讨组,需要包括测试人员和开发者,这样可以更加轻松定义可测试的需求,将需求分组并确定优先级。 

同时,该种方式也可以充分利用团队成员间的互补特性。如此确定的需求往往比开需求讨论大会的形式效率更高,大家更活跃,参与感更强。 

确定需求时,不要过度盯在细节上。需求报告过于详细,就是一种不敏捷的习惯,还浪费大家的时间。当然,不能错过好点子,但就是不要太细,因为项目真正实施起来时需求将会产生很大的变动。 

3. 编写可测试的需求文档

开始就要用“用户故事”(User Story)的方法来编写需求文档。这种方法,可以让我们将注意力放在需求上,而不是解决方法和实施技术上。过早的提及技术实施方案,会降低对需求的注意力。 

规划业务需求,可以采用“3W模板”,也就是: 

  • 谁(Who)
  • 是什么(What)
  • 为什么(Why)
上面的3W实际上就是描述了相关利益者是谁,他们想要什么,他们为什么有这种需求。下面举一例子进行说明: 

谁(Who) 是什么(What) 为什么(Why)
用户
希望借助一个应用程序在不同服务器间传输文件
为了存储项目数据

为了更加接近“用户故事”,我们可以改写为:

谁(Who) 是什么(What) 为什么(Why)
消费者/用户 想将归档过程数字化 为了增强沟通,提高分享效率

敏捷项目中编写用户故事有一个常用模板:作为一名[用户类型],我想要[需求],以便于[原因]。应用到这个例子,就是:作为一名用户,我想要将归档程序数字化,以便于增强沟通、提高分享效率。 

多数情况下,需求内容需要更加充实和详细,这一步要放到后面做,开始不要这样。用户故事的方法有时会因过于简短、不断重复而受到批评。这里我们必须明白:需求文档不是散文或诗歌,应该清晰、简明地描述用户需求;需求文档的重点也在于此,不要管形式多变或内容是否重复这样的问题。 

4. 多沟通,尽量减少文档

任何项目中,沟通都是一个常见的问题。好的沟通,是敏捷开发的先决条件。在圈子里面混得越久,越会强调良好高效的沟通的重要性。 

团队要确保日常的交流,面对面沟通比邮件强得多。 

敏捷开发鼓励日常的协调会议和碰头会,5~7人参与的会议尽量控制在10分钟内。碰头时,要过一遍昨天完成了什么,今天要做什么,哪些问题仍待讨论。可以用Burndown Chart(燃尽图)来形象展示工作进度。每次迭代的时候也都要开一个计划会议和评审会议,一般需要的时间可能会长些,比如半天。这些会议的目的就是对工作查缺补漏。 

评审会议很重要,传统开发模式往往略过该环节,导致一些错误做法不断重复,好的做法无法推广。 

开会时,可以将原先的分组打散,让整个团队都参与到项目的需求讨论和测试中来,这样可以突出成员个人,让大家更乐意参与。 

5. 做好产品原型

建议使用草图和模型来阐明用户界面。并不是所有人都可以理解一份复杂的文档,但人人都会看图。 

一个常见的问题是软件新的功能与用户想要的不一致。为了避免这一问题,可以模拟真实操作,改进模拟操作过程中难以理解和不清楚的操作行为。 

6. 及早考虑测试

及早地考虑测试在敏捷开发中很重要。传统的软件开发,测试用例很晚才开始写,这导致过晚发现需求中存在的问题,使得改进成本过高。较早地开始编写测试用例,当需求完成时,可以接受的测试用例也基本一块完成了。 

敏捷开发中一个常见问题就是开发者没有对已有的代码库进行充分的回归测试。迭代周期很短,从开始到交付就是4周的时间,这样可以对迭代的设计、实现和底层测试一块进行回归测试。 

一系列迭代之后,可以只针对测试活动再补充一个迭代。这个迭代可以将重点放在系统测试、与其他系统的集成度、性能等方面。敏捷开发过程中,可能会导致过少的测试文档。如果迭代周期为1个月左右,可以不必对测试文档过于要求,但要制定好测试策略。 

最后

可能大多数公司或团队还没有开始尝试敏捷开发,不过可以开始从点滴做起,比如开碰头会、为项目管理采用一个更加高效的管理工具等等。最后,希望上面的建议能够为大家的软件开发管理带来帮助。(编译/王殿进)

一个实用的Delphi屏幕拷贝程序的设计 用Delphi 显示122种图形特效 用Delphi编写DLL实现动态改变分辨率 用Delphi进行OpenGL编程学习心得 用Delphi开发windows95屏幕保护预览程序 用Delphi实现壁纸更换 用DELPHI实现位图显示特技 用DELPHI中Canvas特性开发图形软件 用构件变换法实现动画效果-Delphi资料 在Delphi中使用动态图标 在Delphi中显示Windows图标 在多媒体文件中批量抓取图象-Delphi资料 怎样读出不同格式图形的高和宽-Delphi资料 怎样使用PageUp、PageDown滚动窗体-Delphi资料 怎样制作全透明的窗口-Delphi资料 DELPHI:FormContainer简易手册 Delphi:用FormContainer渐变效果 Delphi4的窗口融合技术 Delphi使用技巧ABC Delphi使用技巧四则 DELPHI中自适应表单的实现 TList的用法-Delphi资料 不规则窗口的实现-Delphi资料 不用标题栏也移动窗体-Delphi资料 窗口建立和关闭时的特效-Delphi资料 窗口中状态行的显示-Delphi资料 动态提示的可视化实现-Delphi资料 动态修改显示器分辨率-Delphi资料 对数据库中的数据进行处理-Delphi资料 改变壁纸-Delphi资料 改变元件的视窗式样-Delphi资料 我在APPlication中开始处加上如下代码,在PB下运行时没问题,怎么编译后执行exe文件后老提示连不??为什么,请赐教!! 在静态切分窗口中,如何显示标题? 求教大虾:如何给软件加上licence限制 抗议CSDN帖子内容为楷体,同意者举手! 如何在画布上画一个带箭头的直线. *-->为对话框应用上妆!在线等待 [诚征交友]不诚勿扰,请条件适合男士入内 有谁用过Cute ftp上传软件,为什么一进行文件同步时,就出现404 object not find的错误 关于界面对象丢失的问题…… 请大家看看这个问题。 我真的很需要帮助。。。请问谁有360度可以许多张图片旋转的代码 360度全景特效 高分求树型结构源代码 现在出了本Jbuilder5的书。有没有谁有这本电子书啊? 高分求树型结构源代码 SDK问题 这句sql有问题吗? 关于驱动程序开发! 在SQL-SERVER中出现数据死锁的情况一般是什么,若是由多个用户同时向数据库更新数据而导致的死锁,解决此问题的办法有那些? 寻找源代码排版软件? 有没有用VC写过短信接收程序,我在接收中文时出现乱码。 请教大虾:用mideaplayer来播放一首歌,如何用progressbar来表示进度? 我想学习驱动程序的开发,请大家帮我推荐几本这方面的书? 编译出错,不解?请高手指点。 能否用Delphi 实现类似东石公司的虚拟光驱系统。 我想学习驱动程序的开发,请大家帮我推荐几本这方面的书? include头文件的问题 急!!!为什么TBlobField 下载时大小受限制,怎么解决? 关于导出动态连接库中的类的问题,不知道这里有没有高手? 一个让我痛苦了n天的问题 关于Hook的一个问题 联合查询如何修改? 获取密码时出错???? my gf photo 我想问一下,java生成的.class文件能不能通过某种工具生成.exe文件? VC中组合框为什么不能下拉? 请问哪有最新的wise for window .net的版本可以下载 "java原型开发"指得是什么开发? 能否用VC++实现类似东石公司的虚拟光驱系统 请问会话Bean和实体Bean的区别在那?能给出例子吗? word文档如何存入SQL SERVER 2000? 请问如何才能在windows 2000 server 上装MTS? 有女朋友而且上网和别的mm聊天的入内签名! 如何显示不同的颜色... 有关网络开发和com的问题,高分征集关注和提供方案! 探讨一下safearray 的使用问题 关于QQ界面的制作? 在主界面中添加一副图片的问题被遮住的问题 有一个EXE执行时,我希望能删除它自己 如何在程序中获取IE当前浏览网页的IP地址或域名地址? 有南京的兄弟吗?我想买《delphi4编程技术内幕》,就是Charlie Calvert那本精华。 如何在工具条上加载图片作为工具条的背景 问一下大家在EXCEL中如何计算百分比! 就告诉我吧打心底麻烦大伙 根据元素周期表可知,原子序数为6的碳原子和原子序数为14的硅原子最外层电子数均为4,则常温下硅的化学性质(选项“活泼”、“不活泼”). 一个物体体积为2立方米,浸没在水中,此物体受到的浮力为多少? 某双星由质量不等的星体S1和S2构成,两星在相互作用之间的万有引力作用下绕连线上某一定点C做匀速圆周某双星由质量不等得星体S1和S2构成,两星在相互作用之间得万有引力作用下绕两者连 非金属与金属发生的置换反应 描写夏天的诗(要简单的)给1年级的小朋友用, 问一下大家在EXCEL中如何计算百分比!麻烦你们了6h 置换反应能金属与非金属反应吗 描写夏天的诗5首(简单的)除了扬万里描写荷花的诗, 请问下大家知道在电子表格中如何计算百分比?谁知道 告诉我吧,不好意思,麻烦各位5b 非金属生成非金属的置换反应非金属+化合物=非金属+化合物 的反应有什么 混酸制备对硝基苯乙腈的反应式 问大家一下在电子表格中如何计算百分比? 有点急,不好意思, 非金属的置换反应是不是非金属强的置换非金属弱的 将质量为1KG的物体浸没在水中称,其重为8N,则该物体在水中受到的浮力是____N 童年的海伦凯勒问莎莉文老师:爱是什么?如果你是莎莉文老师,你准备怎样回答? 光从介质射入空气,入射角和折射角的大小关系. 对硝基苯乙腈水解生成对硝基苯乙酸一步中,如果以乙醇为溶剂,加入少量的质子酸进行反应,会得到什么产物 海伦凯勒还未遇见莎莉文老师之前是怎样的? 光从水中斜射入空气时,折射角大于入射角还是小于入射角还是等于入射角? 质量为1KG的物体所受的浮力为9.8N怎么求这个物体的体积? 海伦凯勒是怎么与莎莉文老师对话的? 当光线重水或者玻璃射入空气中,折射角大于.等于.还是小于入射角? 将质量为1kg的物体浸没在水中,称其重为8N,则改物体在水中受到的浮力是多少N(g取10N/kg).回答...将质量为1kg的物体浸没在水中,称其重为8N,则改物体在水中受到的浮力是多少N(g取10N/kg).回答的大 《再塑生命的人》语文练习册中"莎莉文老师的教育艺术高明在何处?" 高一化学.为什么与Br2反应时 甲烷,苯是与纯溴反应,乙烯是与溴水反应?怎么会有的只跟卤素单质反应而有的可以跟混合物反应? 而且为什么鉴别苯的时候,是将!溴水!加入苯中振荡分层?为什么 将质量为1kg的物体浸没在水中称其重为8N,求物体的体积和物体的密度. 海伦·凯勒在莎莉文老师的教导下发生了什么变化? 在常温下,铁铜铝大多是金属都是——而汞 却是 —— 都填啥? 关于生态平衡的故事 莎莉文老师用什么方法教我学会水字 金属置换作用的生活实例需要一些联系生活的例子,就是那个什么镁加硫酸铜--〉铜加硫酸镁的置换 保护大自然生态平衡的知识和故事 光从空气斜射入其他介质中时,折射光线靠近法线,折射角小于入射角.这句话对吗 在光的折射中什么是法线,入射光线,折射光线,折射角,入射角? 大自然中的一切事物都是互相联系的.这样,才能保持大自然的生态平衡 作文大自然中的一切事物都是互相联系的.这样,才能保持大自然的生态平衡 作文怎么写? 还是一道化学中原子的电子层上的电子荷数的问题有一个同学给我讲了一道题,就是写原子层的电子荷数的时候(在写第20或20以后的原子的时候他先把前面的写完之后写后面的时候他先不写 制备硝基苯的的过程 和 要注意的事项 若0.1mol某单质与足量硫充分反应,质量增加了1.6克,则组成这种单质的元素不可能是( )A.银 B.铁 C.铜 D.钾 EXcel 中怎么计算年龄段的人数A 列 B列姓名 年龄 谭楚芝 24 潘扬 27 王婷 29 程龙 25 谢远忠 35 毛昌军 34 吴菁 26 张晴阳 25 袁晓柯 44 雷娜 31 赵海新 31 我要计算 依然是一道关于化学中原子的电子层的电子荷数的问题.是不是第3层或第3层后面的电子荷荷数都不能为奇数啊,我觉得是不可能的啊, 用金属活动顺序表为什么不能够非水溶液中的置换反应? 原子和离子在化学反应中是可以相互转化举一个离子转化为原子的例子 钠的最外层电子数是1,氩的最外层电子数是6,这2个原子发生化学反应电子层分别会变成怎样比如:钠⑪ 2)8)1)和钾2)8)7)会变成钠⑪ 2)8)和钾⑰2)8)8) 硝基苯怎么水洗硝基苯不也是液体吗,为什么可以用水洗?尽量说得具体点. 天文观测中发现宇宙中存在着“双星”.所谓双星,是两颗质量相近,分别为M1和M2的恒星,它们的距离为r,而r 氯原子的最外电子层上有几个电子 金属金属性强弱顺序表中,h之前的金属都能与稀硫酸反应吗,都是把h离子置换出来吗? 在宇宙中约有一半的恒星是双星,我们把较亮的一颗叫主星,暗的一颗叫伴星.在宇宙中约有一半的恒星是双星,我们把较亮的一颗叫主星,暗的一颗叫伴星.天文学家发现太阳朝某个方向加速运动, 金属活动性顺序不能作为置换反应速度吗?漏了问题…… 应该是:为什么金属活动性顺序不能作为置换反应速度的证据?既然不能,那为什么在金属活动性顺序中,排在氢前面的金属位置越 离子氧化性强弱顺序表 宇宙中 所有的恒星都是双星 为什么太阳是单星 苯可以和溴单质反应 必须要有催化剂么 溴化铁的作用只是改变反应速度么 金属金属性强弱顺序表中,h之前的金属都能与稀硫酸、稀盐酸反应吗,都是把h离子置换出来吗? 某双星系统中两颗恒星围绕他们连线上的某点做匀速圆周,周期T,恒星间距离R求两颗双星的总质量 苯和溴水在有催化剂的作用下能否进行反应呢? 当光线从空气射入玻璃后,折射角大于入射角还是小于入射角 谁知道在电子表格中如何计算百分比? 金属和非金属的置换反应有哪些? 间硝基苯如何制备
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘