阅读更多

5顶
0踩

研发管理

原创新闻 敏捷开发的6个实战经验

2013-12-05 18:00 by 见习编辑 tuhaihe 评论(1) 有18252人浏览
在大型企业中经常是各种软件开发模式混用,一些采用敏捷开发,一些则是采用传统的瀑布式或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个月左右,可以不必对测试文档过于要求,但要制定好测试策略。

最后

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

原文:6 Practical Agile Techniques You Can Start Using Today
  • 大小: 99.1 KB
5
0
评论 共 1 条 请登录后发表评论
1 楼 dohkoos 2013-12-16 22:34
持续改进是一切的一切。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 敏捷开发与项目管理实战之敏捷需求分析

    本文以作者黄文海带领团队成员做需求分析的实际经验分享了敏捷开发团队中需求分析的一些关注点和方法。  问题背景  敏捷开发中许多活动都是全员参与而非专人参与。需求分析同样也可以是全员参与的一个活动。这反映...

  • 敏捷开发和项目管理及实战分析.ppt

    敏捷开发和项目管理及实战分析

  • 敏捷开发方法 SCRUM 实战PPT

    敏捷开发方法 SCRUM 实战PPT

  • 敏捷开发实战流程

    在敏捷开发(Agile Development)中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。 简单地来说,敏捷开发并不追求前期完美的设计、完美编码,而是力求在很短的周期内...

  • Scrum实战 敏捷软件项目管理与开发

    作为经验丰富的敏捷和精益教练,Andrew帮助许多公司在实际项目中成功地实施了敏捷(Scrum)和精益(Kanban),培训美国和其他国家的开发团队。  Phuong-Van Pham目前是一家大公司的项目经理。她拥有的认证包括PMP、...

  • 敏捷开发实战经验

    以下分享产品项目里的九个敏捷开发实战经验。 敏捷开发越来越火热,但在实际应用当中很多时候都是只有敏捷的“形”,却缺少敏捷的“神”,还只是在摸索中。 在《Scrum:兼顾计划与灵活的敏捷开发...

  • 敏捷开发全程实战

    敏捷开发全程实战介绍

  • PMI-ACP敏捷认证:敏捷开发的6个实战经验

    敏捷开发,相对传统软件开发...一些公司,一年仅发布仅2~3 个版本,发布流程缓慢,它们仍采用瀑布开发模式,更严重的是对敏捷开发模式存在误解。    由一年发布 2 个版本转到一个月发布 2 个版本,这也不太可能。但

  • Scrum敏捷开发应用实战课程

    【课程目标】:快速学习、应用Scrum敏捷开发方法   【课程呈现形式】:PPT课件+讲解   【课程特点】: 1)课程体系结构清晰,课程内容丰富,在课程内容中插入了部分实际工作场景和真实的项目案例。 2)以...

  • 敏捷项目管理实战第一天 敏捷开发SCURM的前世今生

    自 2006 年开始接触敏捷,到 2010 年参与组织每年一届的敏捷大会,再到 2012 年加入腾讯先后从事项目管理和产品管理工作,可以说从过去到现在,我一直身处敏捷实践的前线,对于敏捷理论如何有效地在公司落地有切实的...

  • 敏捷开发与 DevOps 实战

    本课程主要讲解敏捷开发和 DevOps 在实际研发中如何提高效率、降低成本,以及分享互联网公司的研发流程、岗位分工和技术点,学习业界先进工程技术,提高团队效率。 本次腾讯云大学大咖分享课程邀请 CODING DevOps...

  • C#敏捷开发实战 图灵原版全文

    C#敏捷开发实战的图灵原版全文电子书,文字版的,超清,

  • 敏捷项目管理实战之质量管理

    本文以笔者的项目管理实践为基础,介绍基于经验过程控制(EmpiricalProcessControl)模型、缺陷预防以及敏捷价值观的敏捷质量管理思想及其实践。希望通过本文为广大项目管理人员提供质量管理的一些思路和经验分享。...

  • 产品项目里的九个敏捷开发实战经验

    [摘要] ...以下分享产品项目里的九个敏捷开发实战经验。  敏捷开发越来越火热,但在实际应用当中很多时候都是只有敏捷的“形”,却缺少敏捷的“神”,还只是在摸索中。  在《Scrum:兼顾计

  • 【实战技能】如何撰写敏捷开发文档

    如何在从事计算机相关工作的过程中,不仅留下有价值的作品,也留下启发和指导他人的技术文档?请看我的介绍,如何最小化地撰写敏捷开发的文档。

  • 敏捷项目管理 SCRUM 敏捷开发方法

    敏捷项目管理_最佳宣讲材料+敏捷项目管理实战+SCRUM终极培训等

  • 高校学生选课系统项目源码资源

    项目名称: 高校学生选课系统 内容概要: 高校学生选课系统是为了方便高校学生进行选课管理而设计的系统。该系统提供了学生选课、查看课程信息、管理个人课程表等功能,同时也为教师提供了课程发布和管理功能,以及管理员对整个选课系统的管理功能。 适用人群: 学生: 高校本科生和研究生,用于选课、查看课程信息、管理个人课程表等。 教师: 高校教师,用于发布课程、管理课程信息和学生选课情况等。 管理员: 系统管理员,用于管理整个选课系统,包括用户管理、课程管理、权限管理等。 使用场景及目标: 学生选课场景: 学生登录系统后可以浏览课程列表,根据自己的专业和兴趣选择适合自己的课程,并进行选课操作。系统会实时更新学生的选课信息,并生成个人课程表。 教师发布课程场景: 教师登录系统后可以发布新的课程信息,包括课程名称、课程描述、上课时间、上课地点等。发布后的课程将出现在课程列表中供学生选择。 管理员管理场景: 管理员可以管理系统的用户信息,包括学生、教师和管理员账号的添加、删除和修改;管理课程信息,包括课程的添加、删除和修改;管理系统的权限控制,包括用户权限的分配和管理。 目标: 为高校学生提

  • TC-125 230V 50HZ 圆锯

    TC-125 230V 50HZ 圆锯

  • 影音娱乐北雨影音系统 v1.0.1-bymov101.rar

    北雨影音系统 v1.0.1_bymov101.rar 是一个计算机专业的 JSP 源码资料包,它为用户提供了一个强大而灵活的在线影音娱乐平台。该系统集成了多种功能,包括视频上传、播放、分享和评论等,旨在为用户提供一个全面而便捷的在线视频观看体验。首先,北雨影音系统具有强大的视频上传功能。用户可以轻松地将本地的视频文件上传到系统中,并与其他人分享。系统支持多种视频格式,包括常见的 MP4、AVI、FLV 等,确保用户能够方便地上传和观看各种类型的视频。其次,该系统提供了丰富的视频播放功能。用户可以选择不同的视频进行观看,并且可以调整视频的清晰度、音量等参数,以适应不同的观看需求。系统还支持自动播放下一个视频的功能,让用户可以连续观看多个视频,无需手动切换。此外,北雨影音系统还提供了一个社交互动的平台。用户可以在视频下方发表评论,与其他观众进行交流和讨论。这为用户之间的互动提供了便利,增加了观看视频的乐趣和参与感。最后,该系统还具备良好的用户体验和界面设计。界面简洁明了,操作直观易用,让用户可以快速上手并使用各项功能。同时,系统还提供了个性化的推荐功能,根据用户的观看历史和兴趣,为用户推荐

Global site tag (gtag.js) - Google Analytics