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

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

最后

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

将OpenStack私有云部署到Hadoop MapReduce环境 Web设计师必备的10款最佳排版工具 诺基亚CEO谈平板计划 Android为候选系统 244亿美元!戴尔公司正式完成私有化 对抗苹果 Facebook或推Find My Friends应用 前谷歌工程团队负责人:如何打造一个完美的产品 好消息!Google Drive可存储共享JavaScript等网站 Android Rivers:用Kotlin语言写出的新闻应用 辞旧迎新 老牌游戏开发商的移动进化之路 iSuppli:硬盘市场持续萎缩 大数据应用成重要市场 全球最大校园Hackathon:失败后,你能学到什么? 走进Evasi0n,越狱黑客如何拿到iOS权限 提升服务扩展性和冗余的八个编码方向 分析数据预测未来?数据挖掘绝不是大公司的专利 揭秘LinkedIn数据科学家如何工作 为什么响应式设计对SEO有好处? SpaceX团队:想登陆火星吗?学好C++吧 可穿戴设备:越来越清晰的苹果iWatch 苹果设计师:开发者们的应用图标设计对了吗? AWS兴起之路:尚未成功 仍需努力 John Carmack:我们为什么不开发Linux游戏 最具创新力公司50强:耐克居首 Web如何成为另一个应用商店 Adobe发布Photoshop1.0.1源代码 大数据时代正在到来 微软CFO:我们的移动战略没有“B计划” TIOBE 2013年2月编程语言排行榜:历经十月Java重返第一 为让用户亲身体验产品 谷歌年底或开零售商店 谷歌推Chrome API支持HTML5实现本地离线数据存储与同步 Ubuntu开发者预览版将于月底开放下载 因Java漏洞,Facebook遭受恶意软件攻击但未泄密 关于paradox的字段设置 谁有jb7的注册码?能发给我吗? 我想让一个存储过程最大执行10秒,超时退出,怎么实现? 数据库连接问题 在delphi的paradox 7 的字段设置 单网卡如何帮定双IP? 这样都有?你们给我我的可用分增加了 不用hook,能不能把其他应用程序的关闭按钮或最小化最大化按钮屏蔽掉?? 如何把float转成CString 怎么把SQL SERVER2000 数据库中的表转成.dbf格式的表!谢谢 如何得到一个图形按钮的句柄啊?好郁闷!!! 关于setfilter()函数的问题 谁知道四川的高程考试什么时候报名?哪里? illegal character: \12288???什么是不合法的存在?? 关于wav格式的声音文件 com 、active控件,b/s,asp到底什么关系啊 C++高手请过来! 怎么切换分割后的视图类 软件工程师的职业生涯――从入门到精通 SOS(ACTIVEREPORT) 基于RichText的查找和替换函数??BCB自带的那个太滥了。(1--[查找]100分) 把float转为CString 基于RichText的查找和替换函数??BCB自带的那个太滥了。(2--[替换]100分) 谁有加密算法的程序!! Atl+asp+mapi 这种情况能不能连接SQL SERVER??? 帮忙 半個月了.還沒能找到解決方案,我想做數据庫的朋友都會碰到的問題.如何能在dataGrid中先显示一张有几十万条数据的表的一小部分,载入内存 我的SQL Sever 2000不能启动了。为什么。 我的SQL Sever 2000不能启动了。为什么。 求救:PB做出来的东西能否在WINDOWS2000下运行???? 请问如何实现在回退到指定的窗口 请问为什么会出现拨号连接正常,但IE却打不开网站网页 关于类模板的两个简单问题 千万别让MM看到你的QQ开着 [zz] 寻找高手(调用Flash动画) 还是字符集的问题,解决了只给100分(外加一顿饭) 初学者,有没有什么好书请推荐一下! to echome !!!!!!!!!!!!!!!!!请大家如果见到 echome 请奔走告诉他一声!!!!!!!!!!!!!!!!!!!!! 为什么Debug下编译的程序一点问题都没有,而Release的编译却一运行就非法操作啊! 我写得计算第n个Fibonacci数列的函数,我想知道最简单的方法!谁可以告诉我??(递规除外) 请问如何得到鼠标所在屏幕那一点的RGB值? 怎么把mpeg文件的每一帧截图 二维表应该怎么设计在dw中。 一问题,我在jbuilder6里面写了一个类,只是简单的测试一下 一个关于查寻的问题!来者有分!! 请问一个Vc++ 下ODBC编程的问题 字符串能以流的方式保存到文件中吗?请看这个问题 大哥们啦,又拉兄弟一把吧!我又遇到二个难点了 菜鸟提问!!! 安装Oracle 8.1.7时 ,找不到libnldapj8.so,谁能解决? 常温下,某酸溶液的PH=2,则该酸溶液的物质的量浓度?A一定大于0.01mol/L. B一定等于常温下,某酸溶液的PH=2,则该酸溶液的物质的量浓度?A一定大于0.01mol/L. B一定等于0.01mol/L C一定小于0.01mol/L D可 超光速现象是什么? 为什么澄清石灰水与二氧化碳反应会有沉淀物但很快却又消失了呢 同物质的量浓度的酸溶液,酸性越弱,pH越大若pH相同,则酸越弱,溶液的浓度越大为什么呢 PH不是和H+的浓度有关吗,一元酸里不就是等价于溶液浓度的么比如PH=3的盐酸 醋酸 不都是0.003mol/L么 根据HA、H2B两种酸溶液的浓度都是0.1 mol·L-1,pH依次为1.5和2.0,为什么可以判断HA和H2B都是弱酸?PH越小酸性不是越强吗? 一个容器盛满水置于水平桌面上,容器重10牛,它的下部是一个边长为20厘米的立方体,其中水的质量是9千克.求容器对桌面的压强. 如何用酵母发面 有关天气冷的谚语多点! 功的正负表不表示功的大小 天天梅雨,梅雨到底会持续多久呢? 梅雨会持续多久 功的正负表示方向,但为什么功不是矢量? .重力势能的正负影响其大小吗?有一句话,物体和参考平面间的垂直距离越大,它的重力势能也越大.让人判断正误.如果重力势能的正负影响其大小,那这句话就是错误的.但是,答案是说此话正确. 现在的景象去了哪里 超光速 功有正反如何比较大小?W1=-100J W2=50JW1>W2? 比较重力势能的大小要看正负号吗 ph=2的盐酸中水电离出来的氢离子浓度怎么求 功是标量,为什么还有正负,这不表明方向了吗? 麻烦把物理有正负量的物理量列举出来,如重力势能的正负意义,有的能正负只代表输出,有的却是大小? 下雪时的天空是什么颜色的?为什么?我认为是灰白中带着浅红,很多人说不是红色的. 淮河为何被称秦淮河? 25°C时,浓度均为0.1的HA溶液和BOH溶液,pH分别是1和11.下列说 法正确的是A. 在O.1 mol·L-1 BA溶液中,c(A-)+c(H+)=c(BOH) +c(OH-) B. 若将0.1 mol·L-1BOH溶液稀释至0.OO1 mol·L-1则溶液的pH=9 为什么下雪时天空是浅红色的? 秦岭——淮河,与秦淮河有什么关系? 225℃时,浓度均为0.1 moI.L-l的HA溶液和BOH溶液,pH分别是l和11.下列说法正确的是( ) A.BOH溶于水,为什么A不对25℃时,浓度均为0.1 moI.L-l的HA溶液和BOH溶液,pH分别是l和11。下列说法正确的是 为什么下雪天,天空是红色的? 秦淮河在什么地方 为什么下雪天天是黄色下雪天的时候睡觉,天总会很亮,并且发黄,请问这是什么缘故?是雪引起的光的反射吗? 想找一款热熔胶,可以把玻璃皮粘贴在木板上? 秦淮河 和秦岭淮河有啥差别?呵呵,因为这个问题被我朋友骂了一顿,我想揍扁她. 天变黄会不会下雪 在漠河能看到极光 那么纬度更高的莫斯科是不是看到的比漠河要更多?为什么没听说过在莫斯科看北极光呢? 古代的秦淮河是今天的淮河吗 为什么一到下雨或下雪,天就成了黄色?而且还是那种很亮的明黄色~为什么? 氯化铵溶解为什么吸热?说明原理! 用露珠比喻( )、( ). 高羊茅下雪后发黄是什么原因? 为什么下雪时天空是浅红色的? 露珠可以比喻成什么? 为什么在晚上下雪时天是桔黄色的?那月光照在雪花上反射出来的光 为什么会是桔黄色,雪花不是白色的吗? 温度计摔碎了怎么办 早晨的露珠可以比喻成什么? 塑料中能添加金属粉末吗?我现在想把ABS塑料添加铝粉然后再做塑料射出加工不知道能不能这样做?不敢试啊,理论来说加些面粉细微的粉尘进去少量是没什么关系,但是不知道会不会将丝杆刮伤 温度计摔碎了今天早上试表试到一般睡着了、醒来之后就摔碎了、一直没弄刚刚老公拿墩布把地擦了、地上已经没有水银了、还有危险吗? 请问我国分别大概在几月有台风,梅雨,和暴雨.以及形成原因~急 玻璃与金属烧结在一起,研磨时因有金属粉,玻璃会划花,有什么解决方法?不好意思,问的不是如何烧结,而是对已经烧结在一起的玻璃和金属进行球面研磨时出现玻璃划花现象如何解决? 功到底有没有方向的?若无方向的话 那正负号是什么?正功负功是什么 ufo外星人是什么样子的 我公司需要的20种金属及相关化合物的粉末,有能提供的联系我.需要的具体粉末在问题补充里铝,氯化钯,硫酸铜,金硫代硫酸钠,氧化铜,锡,氯化铱,氮化钛,二氧化钛,氯化锌,草酸钛,钛,钼,钨,氯化 温度计摔碎后,如何处理? 甲醇的PH是多少? 为什么铁块沉入水中之后,已经静止不动了,重力还还比浮力大 写给十年后的自己,英语作文,100词的 以秦岭—淮河为界的是A;暖温带与亚热带 B:中温带与暖温带 C:半湿润与干旱区 D:半干旱与干旱区 沉入水中的物体,浮力小于重力?物体沉入水中时,F浮< G 5年后英语作文如题易懂希望高手写下.5年后,我已经是高中生了,埋头在书本里面,拼搏着向理想的大学努力.我想我那时候应该住在上海吧!一个小小的公寓里面= =下面由高手发挥下想象了,不用 二氧化碳与澄清石灰水反应为什么沉淀后来会消失?反应方程? 11.25℃时,将0.1 mol/L的某酸与0.1 mol/L的KOH溶液等体积混合,所得混合溶液的PH为 超光速是什么,超光速之后会有什么现象. 以秦岭淮河为界,我国南部人多还是北部人口多?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘