【首席架构师看敏捷建模】从这里开始:敏捷建模简介
敏捷建模(AM)是一种基于实践的方法,用于有效建模和记录基于软件的系统。 简而言之,敏捷建模(AM)是用于建模软件的价值,原理和实践的集合,可以以有效和轻量级的方式应用于软件开发项目。 正如您在图1中看到的那样,AM旨在针对其他完整的方法(如XP或RUP)进行定制,使您能够开发真正满足您需求的软件过程。 实际上,这种剪裁工作已经以Disciplined Agile Delivery(DAD)流程框架的形式为您完成。
图1. AM增强了其他软件过程。
采用和扩展极限编程v1的AM的值是通信,简单,反馈,勇气和谦逊。建模成功的关键是在所有项目利益相关者之间进行有效沟通,努力开发最简单的解决方案,满足您的所有需求,经常及早地获得有关您的努力的反馈,有勇气制作并坚持您的决定,并且谦虚地承认你可能不知道所有事情,其他人有价值添加到你的项目工作中。
AM基于一系列原则,例如在您建模时假设简单性以及在工作时采用变更的重要性,因为需求会随着时间的推移而变化。您应该认识到,随着时间的推移,系统的增量变化可以实现敏捷性,并且您应该努力获得对工作的快速反馈,以确保它准确地反映项目利益相关者的需求。您应该有目的地建模,如果您不知道为什么要处理某些事情,或者您不知道模型/文档的受众实际需要什么,那么您就不应该对其进行处理。此外,您需要在智力工具包中使用多个模型才能有效。一个关键的概念是,模型不一定是文档,这种实现可以让您在完成其目的后丢弃大多数模型,从而轻松实现旅行。敏捷建模者认为内容比表示更重要,有许多方法可以对同一个概念进行建模,但仍然可以正确运行。要成为一名有效的建模者,您需要认识到开放和诚实的沟通往往是确保有效团队合作的最佳政策。最后,关注质量工作很重要,因为没有人喜欢制作草率的工作,而且AM的本地化适应性以满足您环境的确切需求非常重要。
要以敏捷方式进行建模,您将适当地应用AM的实践。基本实践包括并行创建多个模型,为情况应用正确的工件,并迭代到另一个工件以继续以稳定的速度向前移动。以小增量进行建模,而不是试图从象牙塔中创建神奇的“全方位模型”,这也是您作为敏捷建模者成功的基础。因为模型只是软件的抽象表示,抽象可能不准确,所以您应该努力用代码证明它,以表明您的想法实际上在实践中工作而不仅仅是理论上积极的利益相关者参与对于您的建模工作的成功至关重要因为您的项目利益相关者知道他们想要什么,并可以为您提供所需的反馈。假设简单性的原则得到了创建简单内容的实践的支持,只关注您需要建模的方面,而不是尝试创建高度详细的模型,仅通过使用简单的符号描述模型,并使用最简单的工具创建你的模型。您可以通过单一采购信息轻松旅行,丢弃临时模型并仅在受伤时更新模型。通过在墙上或内部网站上公开显示模型,通过项目工件的集体所有权,应用建模标准以及与其他人建模来实现通信。轻轻应用图案时,您的开发工作将大大增强。因为您经常需要与其他系统集成,包括遗留数据库以及基于Web的服务,您会发现需要与这些系统的所有者形式化合同模型。阅读本文,以便更好地了解AM的实践如何融合在一起。敏捷建模
我认为AM是一种灵活的建模方法,其核心AM只是一系列实践,反映了许多有经验的软件开发人员共享的原则和价值观。使用敏捷模型驱动开发(AMDD)(参见图2)方法,您通常在项目开始时进行足够的高级建模,以了解系统的范围和潜在架构,然后在开发迭代期间进行建模。迭代计划活动的一部分,然后采用即时(JIT)模型风暴方法,您可以在几分钟内建模,作为几个小时编码的前提。
图2.敏捷模型驱动开发(AMDD)。
另一种看待敏捷建模的方法是作为核心实践的集合,如图3所示。
图3.敏捷建模的最佳实践。
我的经验是,这些实践可以应用于大多数软件开发项目,您不必在敏捷软件过程(如XP)之后处理项目,以利用AM描述的方法,尽管AM之一 目标是解释在遵循XP方法时如何建模。 项目团队不需要应用AM的所有实践,原则和价值来从中受益 - 我一直坚信您应该定制您的软件流程以反映您环境的独特需求 - 虽然我认为像XP一样,如果你采用全部AM,你更有可能成功。
原文:http://www.agilemodeling.com/essays/introductionToAM.htm
本文:https://pub.intelligentx.net/agilemodeling-introduction-agile-modeling
讨论:请加入知识星球或者小红圈【首席架构师圈】
- 89 次浏览