成功采用敏捷建模的关键

内容贡献者凯特Eby

2016年7月22日

软件开发的敏捷方法为技术的设计和开发提供了一种迭代和灵活的方法。事实证明,这种方法以更流畅、更灵活的风格,成功地提高了对客户需求的响应能力。敏捷建模可以应用于敏捷开发过程,以便向开发人员、涉众和决策者清晰地描述产品目标。ob欧宝娱乐app手机下载

什么是敏捷建模?

根据敏捷建模网站,“敏捷建模(AM)是一种基于实践的方法,用于对基于软件的系统进行有效的建模和文档编制。”敏捷建模的四个关键价值是沟通、简单、勇敢和反馈。目的是在敏捷开发过程中应用软件建模的最佳实践,以确保开发团队和业务涉众的需求得到满足。其结果是建模足以提供一个完整的产品图,但不会使开发陷入复杂细节的泥沼。ob欧宝娱乐app手机下载继续读下去,了解更多关于敏捷建模的起源,以及如何在软件开发中成功地使用这个过程。

敏捷建模的发展和历史

敏捷起源于一个因业务需求和产品开发之间的滞后时间而感到沮丧的行业。ob欧宝娱乐app手机下载软件行业的17位领导者开始非正式地开会,寻找一种方法来克服传统的瀑布式开发模型的局限性。这些会议包括乔恩·克恩Kent BeckWard Cunningham阿里特性Alistair Cockburn,最终导致了2001年初在犹他州的一次会议,结果是敏捷宣言诞生了。

即使在敏捷宣言被定义的时候,Scott Ambler致力于敏捷过程和想法。他从2000年秋天开始领导敏捷建模的开发。在2002年,敏捷建模:极限编程和统一过程的有效实践由约翰·威利出版社出版。敏捷建模是专门为解决极限编程(XP)的缺陷而开发的,XP是敏捷软件开发的一种方法。(然而,它对其他过程也很有用,比如有纪律的敏捷交付(DAD),一种支持it软件开发的混合敏捷框架)。许多开发人员反对XP,因为他们认为它在建模项目以满足需求方面设置了很高的价值,而没有给实践本身留出时间。但是,正如Scott Ambler在他的书中所说,“……XP没有放弃建模。相反,它通过采用测试优先的方法来设计,在开发代码之前开发测试,从而最小化建模工作。这迫使您在实际构建软件之前仔细考虑如何构建它,就像传统的设计建模那样。”在敏捷建模中,Ambler结合了统一建模语言(UML)和Rational统一过程(RUP)的各个方面来应对这些挑战,并创建了建模的最佳实践。

使用Smartsheet来计划、跟踪和管理项目的更好、更敏捷的方法

敏捷项目管理仪表板

Smartsheet是一个基于云的平台,允许团队和组织计划、管理和报告项目,帮助您更有效地迭代和实现更多。参见Smartsheet的实际操作。

观看演示

为什么使用敏捷建模?

敏捷建模是快速和持续交付软件的关键元素。与其说它是如何到达目的地的路线图,不如说是目的地本身的图片,没有它你就不知道最终的目标。该模型为开发人员提供了他或她将开发的内容的理解。同时,它为涉众提供了相同的图景,他们可以检查以确保最终目标满足他们的需求。这允许在整个过程中快速反馈和增量更新。

敏捷建模的目标

敏捷建模旨在支持软件开发的目标。敏捷建模的总体目标包括:

  • 定义有效建模的最佳实践
  • 提供一种方法来应用那些最佳实践
  • 展示如何改进建模方法

敏捷建模的应用

敏捷建模的开发不仅满足XP的建模需求,还满足其他流行的敏捷方法的建模需求,如动态系统开发方法(DSDM)、Scrum和功能驱动开发(FDD)。

关于敏捷建模,首先要了解的是,它不是一个严格的过程,它是基于核心原则的最佳实践的集合。

敏捷建模原则

Ambler对敏捷建模的原则进行了很好的描述。这些包括:

  • 软件是您的首要目标
  • 实现下一个目标是你的第二个目标
  • 通过只创建和维护您需要的模型来保持敏捷
  • 假设简单
  • 拥抱变化
  • 增量变化
  • 有目的地建模
  • 多个模型
  • 质量工作
  • 最大化的利益相关者的投资

要充分认识到这个过程的好处,重要的是要结合敏捷建模的所有原则。这可能被认为是实践的一个限制,但敏捷建模是作为一个协同整体开发的,如果遗漏了任何一个原则,实践就会变得不那么有效。让我们进一步研究这个概念。

很明显,应该采用质量工作这样的原则,但为什么需要开发多个模型呢?软件是一个复杂的实体,必须从许多不同的角度来理解它。例如,您可能正在为在线购买开发一个订购系统。您将从客户的角度对系统进行建模,并构建一个关注可用性(易用性)的用户界面模型。但是,在线订单还必须与后端数据库、会计和其他业务系统通信。因此,另一个模型可能关注订单放置的流程流,而另一个模型可能关注与相关软件解决方案的集成。通过这种方式,系统必须从多种视图来理解,并且需要多个模型。

有效地应用敏捷建模原则需要采用所有这些原则。通过这种方式,它不是一个适应性系统,您可以忽略一些元素来满足您的需求,但是它仍然是灵活的,因此您只开发适用于您的项目的模型。

什么时候应该避免敏捷建模?

尽管敏捷建模是一种有价值的、经过验证的实践,但它也有优点和缺点。建模是实用的,促进了交流、敏捷性和灵活性。然而,如果这些场景适用于你的组织,你应该避免敏捷建模:

  • 你不使用XP、DSDM、Scrum或FDD.敏捷建模的开发是为了满足与这些现有敏捷方法相结合的一致建模过程的需求。
  • 你不准备采纳所有的原则.要使敏捷建模有效,在开发模型时必须保证应用所有的原则。
  • 您的利益相关者没有参与到这个过程中.如果您的涉众不参与,那么建模工作将不会成功。
  • 您的组织采用自顶向下的方法.敏捷和敏捷建模依赖于分布式权威。如果团队是完全被指导的,并且不参与需求过程,那么敏捷建模不太可能为计划添加任何有用的东西。
  • 您的团队非常大且/或分散.敏捷建模是为近距离工作的人设计的,有很多交互。

敏捷建模成功

如果您的组织已经决定采用敏捷建模作为敏捷开发实践的一部分,您如何确保成功?您可以采用一些必要的操作来确保开发的顺利运行。

沟通

有效的沟通是项目成功的关键。任何成功的敏捷项目的核心都是个体之间的交互,他们交流他们的当前状态、他们遇到的障碍、他们的期望等等。虽然Ambler在书中提供了一个图表(图8.1沟通方式),说明了最有效的沟通方式,但请记住,每个人都有自己喜欢的沟通方式。有效的沟通可以是任何形式,无论是电话讨论,面对面的会议,还是电子邮件。克服沟通限制的一种方法可能是在每天的Scrum会议中加入一个常规的建模会议。

承诺

Ambler谈到了文化的重要性。有时,有些文化对敏捷建模持敌对态度或缺乏承诺。为了获得成功,你需要获得团队和利益相关者的认可,这可能需要推销你的理念。

建模的房间

一个专门用于敏捷建模的空间展示了承诺并促进了成功。敏捷工作空间应该拥有正确的资源,例如白板、标记、适当的涉众、决策者、团队成员和协调人欧宝体育app官方888。

模型在团队中

敏捷建模是一项协作工作。建模不需要整个开发团队参与每一次建模会议,但是建模团队中必须有合适的开发人员,并且每个人都必须做出贡献。

在开发生命周期中建模

当您在敏捷过程中成熟时,开发和建模开始并行进行。发展和模式必须保持流动。当您处理项目的不同方面时,可能需要新的模型,现有的模型可能需要更新。

模型文档

为确保建模成功,对每个模型进行记录。这使您能够向所有涉众提供正在发生的情况,并从建模团队外部获得反馈。

敏捷建模与成功的敏捷开发

敏捷项目的成败取决于许多因素,但建模是有效的敏捷开发的关键。如果不了解您正在构建什么,开发人员可能会发现自己在黑暗中摸索,因为他们根据完全不同的、令人困惑的用户故事和需求工作。敏捷建模通过设定阶段并保持每个人都在同一页上,确保团队在同一时间朝着相同的目标工作,从而避免了浪费时间和返工。

使用Smartsheet进行敏捷建模的好处

从简单的任务管理和项目计划到复杂的资源和投资组合管理,Smartsheet可以帮助您改善协作和提高工作速度——授权您完成更多工作。

Smartsheet平台使您可以轻松地计划、捕获、管理和报告任何地方的工作,帮助您的团队更有效,完成更多工作。报告关键指标,并在工作发生时获得实时可见性,使用上卷报表、仪表板和自动化工作流构建,以保持团队的联系和消息。

当团队清楚地知道要完成的工作时,没有人知道他们在相同的时间内还能完成多少。今天就免费试用一下Smartsheet吧。

发现一种更好的方法来简化工作流程,并永远消除竖井。

尝试免费的Smartsheet 获得一个免费的Smartsheet演示