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

敏捷开发的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个月左右,可以不必对测试文档过于要求,但要制定好测试策略。 

最后

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

Windows Blue开始按钮或将回归,你怎么看? Evernote推孵化器 不占股权 基于C++和Lua的移动游戏引擎Leadwerks 3发布 苹果秘密测试iOS 7与iPhone 6 或将6月发布 酷6 CTO 陆坚:请先信任你的程序员 从电信联手i-Free,看运营商渠道的加速整合 “Animory”开发者分享HTML5游戏开发经验 Appflood SDK:连接中国与海外App流量交互平台 Apache Subversion 1.7.9正式发布! 微软IE浏览器5大动向 加速吸引开发者 开源的简繁转换库OpenCC支持Node.js 继Opera之后,Adobe表示将支持Google Blink 提高大型软件项目质量的一些实用型技术分享 谷歌推出Mirror API,开发者可为Google Glass开发应用 无需999,也不要499,99美元Linux超级计算机带回家 微软反击AWS:推出EC2并大幅降价,“价格战”正酣 Operation InVersion:拯救了LinkedIn的大修项目 五步走战略——Avocado在最初几周内迅速扩大30倍 NoSQL产品测评:Cassandra、MongoDB、Couchbase和Aerospike 谷歌眼镜开箱评测:比想象更精致 Pinterest谈实战经验:如何在两年内实现零到数百亿的月访问 初创公司Instart Logic:专为电子出版商和网站站长解决“痛点” 未来即卖芯片又卖服务!Intel收购软件厂商Mashery 继MSN之后,微软又开始整合Skype与Lync服务 阿里将推AMOS智能机 斥资10亿鼓励开发App AMPLab开发重构的Hadoop版本Tachyon:吞吐量要比HDFS高300多倍 一名理科生的创业路 十大界面原型与布局工具 Google产品经理Kenneth Norton:如何与工程师共事 如何创建自适应系统来增强用户体验 Jolla下月展示首款Sailfish手机 将重点发展中国区 谁知道免费starcraft站网地址 一个程序开始端像dehpi会有一张图片以便缓冲,问这张图片怎么在程序中设制? 论坛全新开张,欢迎捧场 怎么将asf文件转换成avi文件 存储过程的问题? 如何在PictureBox控件中显示数据库中存储的图象 地址栏不见了!!! @@@@@@@@ TreeView 的问题 @@@@@@@@@@@@@@ 请教:哪里可以下载工具栏控件 怎样不用Delphi6的那个qtintf.dll啊? 对多语言问题的总结,集各位CSDN的智慧,让大家共享之 怎样将string类转化为其他类型,例如... 请问在哪里可以下在IIS 5.0 for Windows NT 4.0? 今天我才明白,我不是那么绝情,那个女孩竟然在我的心里留下了一份震撼 如何检测和修正ghost文件? Friecin(雪客)进来拿分(300分奉上,请高手做答关于MDI和DLL的问题) 想做程序员,考研如何选择 AnsiCompareStr和CompareStr? Behard进来拿分(300分奉上,请高手做答关于MDI和DLL的问题) CDatabase类里获取数据库名的函数是哪个啊? 请问RichEdit中如何在代码中修改选中字符的字体和颜色? 安装 WebSphere应用服务器问题 我发现我怀孕了,不知道是谁的!:( 中国电信 为什么我的打印机打印时会出现重影?? 我怎么把他们一一显示出来在listbox里?代码写出来! 请问BOOT扇区中各个数据的意义。。 有没有一次搞定具体时间的控件 tomcat配置简单的问题 问题:十六大代表需不需要办暂住证? 求教COOKIE的用法! JBuilder 7中如何安装一个Server ### 升级内核 ### 还有一个问题(树型列表) 哪里有Visual InetDev 6.0 下载? "分"到哪里去了? 有关于赋值的问题 技术的挑战,在线等待 有关csdn的一个小的问题? 显示模式的设置 怎么样删除在DATAGRID中选定的行? 如何自动滚动edit控件多行显示时的文字 win2000系统关闭后但不会自动断电源 寻找资料,请帮忙 难啊 统计数据 求:做得漂亮的学校主页 麻烦看一下下面的代码 C#和C++builder比各有什么优缺点?哪一个更灵活更稳定?C#和C++哪个好? bug管理工具有没有web方式的? cs文件中,如何获取confirm对话框的返回值? 2013年春天里的发现作文 请用 is,the,baby,she,of,the,family造句. 英语看图作文.一个人拿着鱼杆钓了一条小鱼,他想钓一条大鱼 英语翻译是我对你有强烈的感觉 还是 对你来说我有很强的感觉? at the moment用什么时态,还有just now 等等等等像这种词组用什么时态,希望一个一个写出来加上时态. 英语翻译不想再受到伤害 ,如果不爱我,女孩,请离我远点! but ___ ____ you have made some progress 填进步sorry 打错了 应该填 至少 take down造句帮忙造个句子 _____(thousand)of people lost their homes in the flood连词成句 sofa /is/on/the/comfortable/it/like/very/we/because/sitting(.) You shouldn't drive here.(同义句转换) You ______ _______ _______ ________ drive here. 用take care to do造句 用一般将来时 _(million) of people lost their lives in the war.怎样填? what do you have for breakfast这里为什么要用for 请老师们简单讲一下for的用法 这题为啥这样做?若不等式Ⅰx - 2Ⅰ+Ⅰx+3Ⅰ≤a有解,则a的取值范围是a≥5为什么呀那你给讲讲吧? 很多桔子,翻译它 He likes to have (apple and milk )for breakfast.就括号提问 We want to buy some potatoes.(一般疑问句) 这题为什么这样做?Isn't Mrs .webster here yet?No,(much to my surprise).为什么是much to my surprise?to my much surprise? 形容说话声音轻柔,语气温和叫什么言什么语 一篇关于你童年玩伴的作文200字,用描写的手法, 这道题为什么这样做?甲每分走50米乙每分走60米丙每分走70米,甲乙A地,丙B地同时相向出发丙遇到乙2分后又遇到甲.A,B两地()设该路全长xm,则有x/(60+70)+2=x/(50+70).解之得:x=3120(m). I drink a glass of milk in breakfast.有错的,找出并改正 What do you usually have for breakfast?和what areWhat do you usually have for breakfast?和What are you usually have for breakfast?急阿!具体点阿各位, 很多话叫( )言( )语 背后散布难听的话叫()言()语 说话声音轻柔、语气温和叫( )言( )语 I drink two_____(玻璃杯)of milk for breakfast What do you usually have for breakfast?可不可一把for改What do you usually have for breakfast?可不可一把for改改成in为什么要用forfor在这里指什么意思 在平行四边形ABCD中,AM垂直于BC,AN垂直于CD,求证AM:AB=MN:AC 连词成句(英语)i,milk,breakfast,drink,for 英语翻译哪个翻译更好?1.红色能在你犹豫不决的时候帮你拿定主意.2.当你犹豫不决的时候,红色能帮你拿定主意. a moment ago和just now有什么区别?a moment ago和just now都是刚才的意思,它们有什么区别? Erevy year many people l___ their lives in traffic a _____. let me know when you finish it如何翻译 just now 和 a moment ago 的区别 英语翻译填moment 还是 minute 为什么 形容数量多的成语和形容人很高兴的四字词语有哪些 在平行四边形ABCD中,AM垂直于BC,AN垂直于CD,若AB=13,BM=5,MC=9.则MN的长度为 I have got some beef inour fridge.(对some提问) 紫外线可以穿过普通的透明玻璃吗? a moment ago 与 just now有什么区别吗? 用英语怎样说“低调点”处事“低调点” 用英语怎么说? 紫外线能透过普通玻璃吗? 如图,在平行四边形ABCD中,DE垂直AB于点E,BM=MC=DC.求证:角EMC=3角BEM8月16号完成 人为什么儿活,又为什么儿死?人活着到底是为了什么阿?活的好累阿? 人活着的这一辈子到底是为了什么? a moment ago与just now的意思分别是什么? 人为什么儿活,又为什么儿死?人活着到底是为了什么阿?活的好累阿? 英语翻译诉求 Their breakfast is eggs,milk,apples and bananas.这句话有错吗?我个人认为is应为are是语法错误?不知正确吗? The typhoon in Taiwan caused many people___their homes.A.to lose B.lost C.to lost D.lose请说理由 形容人物品德高尚我不要成语 英语翻译公司系产供销一体化的食品连锁机构;拥有50余家蛋糕连锁店,现数个地市的分公司酝酿诞生,并在快速稳步发展之中,已成为河南省烘焙连锁的第一品牌.公司一直本着“做一家稳步发 The typhoon in Taiwan last month c( ) many people to lose their homes. 《2013的春天,我真( )》半命题作文600字左右 aswell,give up,makefun of,telliokes,makesb do she,be strict,about take care of 用以上短语造句吖~ Thousands of people in Taiwan had no houses to live in after the typhoon.had no houses to live in 划线提问 《2013年春天,我真_______》作文 ,求原创,在线等待——快~ hunt of什么意思?要是用这个短语造句怎么造? 请问什么品牌的钓线拉力强度比较好?钓到大鱼老断线跑鱼! 2013年的春天 初一作文!急 500字以上,谢谢大神500字以上,写景要描写详细,可以写一件以物喻人的温暖的事情更好 请高手给下面几个短语造句!OUT OF TOUCH ,OUT OF TUNE,OUT OF CIGARETTES,OUT OF BREATH,PUT OUT OF ACTION,GO OVER ,RUN OVER ,GET OVER ,TIDE OVER,PRESIDE OVER , Did the people suffer heavy _(lose)in the typhoon
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘