敏捷开发——互联网时代的软件开发方式

前言: 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个...
前言:

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

当前,似乎每个公司每个人都在践行敏捷。这主要归功于敏捷能够适应变化并整合客户反馈的特质。 现代社会这两者是非常重要的,因为技术在不断地革新,且人们获取信息的方式越来越容易——包括公开的客户反馈。


快速响应并将客户反馈纳入产品和流程,要求自组织团队不断调整工作的内容以提高效率。团队可以进行定期调整以满足每天出现的新需求。在项目规划方面,这种波动环境可能会使事情变得棘手:因为几乎不存在明确的截止期限和可预期的交付成果。


正因为敏捷开发的这种不断迭代升级的开发模式,使得其更加适合当今瞬息万变的互联网,可以说是互联网时代的软件开发方式。因此,如果践行敏捷的基础正在快速变化,那么在不断迭代项目的同时,敏捷中如何定义完成?我们如何知道已经真正完成了任务?这是一个有趣的问题。在回答这个问题之前,让我们先了解关于敏捷及其方法论。


一、在敏捷中如何完成工作


简单来说,在项目管理中,敏捷用迭代方法来规划和指导项目过程,这将鼓励变革。这种方法与传统的项目管理方法(如瀑布式)截然相反,因为瀑布式设定了严格的流程和结构。


敏捷是为短时间内进行冲刺(sprint)的小团队设置的过程,可以帮助团队在项目中快速响应变化。小组在冲刺前后定期碰面,根据项目变化调整工作方式。


通过敏捷框架,团队才可能打造客户需要的产品,而不是闭门造车,交付不符合市场需求和趋势的产品。有了敏捷模式,在项目过程中,团队可随时根据需要进行调整工作,从而找到更好的路径去开发合适的产品。这将使得组织更具竞争力,但当存在无穷尽的功能更新和其他修复任务时,我们也很难界定某些任务是否可以标记为已经完成。


image.png

(图为CORNERSTONE需求管理页面)


二、敏捷中完成的定义


了解了相关背景后,让我们来回答前面的问题,即如何确定我们是否完成了敏捷任务。其中一种答案认为在完成冲刺后,敏捷任务即可视为完成。冲刺通常是项目过程中持续时间较短的任务,通常为一天、几天,但最长不会超过一个月。冲刺完成之后,团队开会并回顾已完成的工作、需要调整的地方和未来的行动规划。计划依然存在,但已经被调整以符合实际工作情况。


完成迭代


理论上,每完成一次迭代就意味着项目的完结。但事实并非总是如此。一旦出现了必须解决的问题,项目就必须快速对这些变更做出响应。因此,我们不建议在每个冲刺(sprint)后发布产品。但需要确保在sprint阶段完成各个功能,以便追踪项目的进度。


因此,完成工作意味着产品的各项功能得到充分地开发、测试、设计并得到产品负责人的认可。只有这样才可算完成。敏捷中有很多“完成”,但如果有任何存疑之处,sprint就没有真正完成,因此也不应交付。


在产品真正完成和交付之前,每个功能是否完工都需要取决于其他功能的完成情况。这就意味着需要整体的完成。但每个sprint都应该在结束是完成某个特定功能。这就意味着如有必要,该功能在sprint结束时可以单独交付。


image.pngimage.png

(图为CORNERSTONE迭代信息页面)


团队差异


但每个团队都有自己专属的完成定义,这从另一方面说明所有的用户故事标准已经得到认可。但无论这个定义是什么,它要能提高工作质量,并在用户故事完成时进行评估。


在软件开发方面,完成指的是某些内容按照标准进行了编码,经过了审查、实施、测试、整合和记录。在服务支持方面,指的是用户故事的每个任务都已经完成,产品所有者对其进行了审核,并确定所交付产品满足了需求。


在敏捷中,完成意味着团队知道需要交付什么,并且按要求进行了交付。完成是一种确保透明的手段,能够确保工作的质量符合产品要求和组织目的。


三、完成的定义是否会变化?


敏捷这种至关重要的管理方法可以在各类框架中执行,包括 Scrum、极限编程、自适应软件开发、DSDM、特性驱动开发、看板水晶方法等。


这些流程是可在敏捷框架内工作的方法,但它们具备不同的方法和功能,可以适用于不同类型的项目并发挥最佳的成效。具体哪一种更好可能需要取决于具体项目的情况。但这并不意味着每个项目只能选择一种方法。综合运用一个或多个方法,可能更适合项目的需求。敏捷之所以广受欢迎,也恰好是因为其灵活性及过程的多样性。尽管敏捷包含不同类型的进程,它们都遵循了同样的完成定义。


image.png

(图为Scrum敏捷开发流程)


四、完成的原则是不变的


2001年发布的《敏捷宣言》宣告了敏捷的诞生。宣言的发表是为了回应传统的软件开发管理方法,它概述了每个敏捷框架中存在的基本概念。敏捷宣言强调的四个核心价值是:


  • 个体和互动高于流程和工具

  • 工作的软件高于详尽的文档

  • 客户合作高于合同谈判

  • 响应变化高于遵循计划


敏捷软件开发还提出了12条原则。这些原则充分体现了我们对任务或项目何时真正完成的理解:


image.png(图为敏捷开发之12条敏捷原则)


五、软件开发之外的敏捷


虽然敏捷诞生于软件开发,但目前已经应用于更广泛的商业领域。敏捷、精益和组织学习的想法概念已经超越了软件开发的小圈子,其他行业也开始采用站立会、优先级和可视化管理。


image.png

(图为CORNERSTONE可视化任务看板)


敏捷从不仅是作为IT项目管理的工具,它还可以改变其他企业的管理流程,使用敏捷思想来改变管理项目就是一个非常好的例子。


敏捷某些方面的特征,如待办事项等,可以在企业项目中使用并将成为最终交付项目的部分功能和特征。项目中的冲刺或短期项目,能充分发挥敏捷的快速和高适应性优势。敏捷的另外一种应用是跨职能团队的构建,这能大大提高沟通效率。且持续集成还将有助于提高项目不同版块之间的透明度,从而提高工作效率。此外,还有信息发射源、迭代、增量开发、Scrum会议、时间盒、用例、用户故事等等,所有这些都能够帮助公司用与传统瀑布开发不同的方法完成工作。


为了获得在敏捷环境中工作所需的透明度和协作,我们需要运用正确的工具,确保每个人都知道完成的定义。CORNERSTONE提供专业的敏捷开发模板工具,包括任务/需求/测试管理、迭代规划、缺陷追踪、报表统计、团队协作、WIKI、共享文件和日历等功能模块,完美匹配整个敏捷开发流程,20人以下团队可免费使用,点击即可免费注册CORNERSTONE


image.png

  • 发表于 2019-11-14 15:52
  • 阅读 ( 1684 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
CORNERSTONE
CORNERSTONE

72 篇文章

作家榜 »

  1. omicsgene 702 文章
  2. 安生水 350 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. rzx 78 文章
  7. 红橙子 78 文章
  8. CORNERSTONE 72 文章