在当今竞争日益激烈的世界中,董事会和高管们要求 CIO 及其团队以“更少的投入获得更多”。研究表明(毫不意外),没有一种万能的方法可以适用于所有软件项目,而采用基于实践的方法,并辅以轻量但有效的秩序和治理,是大多数软件开发部门的目标。
SEMAT(软件工程方法和理论)是一项协作计划,其使命是为软件工程提供基础,该基础基于实践独立的元素内核,并由一种语言支持,该语言允许以所需的轻量或详细方式描述最佳实践。然后,团队可以根据其工作的上下文选择这些实践,从而确保组织既不会陷入实践自由放任,也不会将其业务束缚在流程的紧身衣中。
高管们有理由关注 SEMAT。该计划通过在团队和组织层面交付价值来支持“以更少的投入获得更多”的目标。除非并通过实验证明,否则计划将始终停留在理论层面,而 SEMAT 的案例得到了真实案例研究的有力支持。
根据 Gartner 的“2013 年 CIO 业务和技术十大优先事项”,CIO 的当务之急分为业务赋能和效率提升,这反映了 CIO 在组织这两个领域贡献的重要性。1 这显然是一个严峻的挑战——在与 IT 高管及其领导团队的对话中,经常听到“以更少的投入获得更多”这句话。为了获得实际效果,可以做些什么?大型 IT 组织的软件职能部门如何应对?
为了支持这一挑战,在 2013 年 Gartner AADI(应用架构、开发和集成)峰会上进行的一项调查的受访者指出,试图通过围绕单一开发流程进行标准化来以更少的投入做更多事情并非答案。7 结果反映出,尚未找到“银弹”式的通用方法(这并不奇怪!),软件工作需要为其特定环境使用最有效的实践。受访者接着建议,在基础层面,确保能够端到端衡量工作有效性是所有应用程序开发的关键要求。
该调查承认,虽然敏捷运动帮助加速了开发,但受访者及其 CIO 领导层仍在寻求一定程度的严谨性、结构和治理,以便更好地与业务保持一致,表现得更可预测,衡量和解决风险,并最终以更快、更便宜的方式交付更好的业务价值,让利益相关者更快乐——BFCH 指标。
当然,“变得敏捷”可以说适用于任何软件工作或任何软件组织的目标(毕竟,谁不想变得敏捷呢?)。然而,并非所有敏捷实践都可以普遍应用于所有项目和团队。事实上,在某些工作中,特定的敏捷技术或实践可能无法实现。例如,以银行的项目组合为例。任何时候,在许多维度上都存在巨大差异:纯开发项目需要与维护项目不同的方法;金融清算等高度监管的软件计划可能比新的以消费者驱动的图形前端开发需要更严格的需求文档;简单的独立应用程序可能比企业应用服务器的替换等架构更改需要快得多的节奏。因此,这导致了在单个组织内需要多种实践选择。
AADI 峰会调查的结论——不应将标准的“一刀切”流程作为 2013 年的优先事项,并且为了防止不受控制的实践自由放任,一些秩序和治理是必要的——在考虑大型组织的应用程序开发格局的现实情况时(如银行示例),这些结论当然是有道理的。
SEMAT 计划通过在组织和团队层面交付价值,来支持 AADI 峰会调查的结果,以及更普遍的 CIO “以更少的投入获得更多”的目标。
自 2010 年以来,来自行业和学术界的专家在 SEMAT 旗帜下合作,明确尝试“在坚实的理论、经过验证的原则和最佳实践的基础上重建软件工程”。作为这一旅程的第一步,他们创建了 Essence,这是一个用于改进软件开发方法的内核和语言,即将由 OMG(对象管理组织)批准为标准。5 显然,该标准是行业中各种可用实践(无论是否敏捷)的基础。
SEMAT 计划和 Essence 内核使组织能够建立一个环境,他们可以在其中为正确的任务和正确的环境使用正确的实践。这些实践建立在独立的、坚实的基础(内核)之上,该基础融合了轻量级但适合业务的秩序和衡量标准。这种方法代表了软件工程领域的首创。
Essence 内核包括“我们始终拥有的东西”和“我们始终做的事情”(在开发软件时)。它普遍适用于所有软件开发工作——敏捷或前敏捷。SEMAT 采用了几个全新的想法。其中之一称为alpha概念,它允许团队专注于做事而不是描述。团队可以以与实践或方法无关的方式衡量其工作的进展和健康状况。在任何时候,团队都可以确定他们现在的位置以及下一步的去向。它使团队以结果为导向,而不是以文档驱动或活动为中心。alpha 概念支持其他几个想法——例如,方法是建立在通用内核之上的实践的组合的想法。由于 alpha 概念,SEMAT 已经能够创建一个健壮、可扩展、直观的内核。
先前着作中提供了更完整的 SEMAT 描述。2,3
事实是,软件世界拥有大量方法——可能已开发出超过 100,000 种方法,尽管许多方法的使用次数不超过一次。有些方法以品牌或标签而闻名,例如 RUP(Rational Unified Process)、Scrum 和 XP(极限编程),但大多数方法是本土开发的,其想法来自教科书或其他资源,在构建它们的单一环境之外,没有重复使用的机会。SEMAT 的开发表明,在所有这些方法之下,都存在一个共同的基础或内核,即“我们始终拥有的东西”和“我们始终做的事情”(在开发软件时)。这些东西构成了软件工程的本质,现在包含在 Essence 中。5
如前所述,大型组织拥有各种各样的项目,由各种各样的人员执行。如果没有公认的共享内核,协调开发工作会变得不必要地复杂,因为团队必须花费稀缺的时间和精力来决定如何在每个项目开始时工作。这会导致大量精力浪费、项目延误、开发人员沮丧以及客户不满。所有这些因素都可能损害 CIO 实现“以更少的投入获得更多”这一至关重要的优先事项。效率低下发生在项目/团队(工作)层面和组织层面。为了量化这一点,请考虑如果开发团队不需要提出一种特定的新工作方式,而是可以从共同的基础开始,然后添加在实践库中发布的现有成熟(可能是敏捷或精益)想法,那么它可以为组织带来什么价值。
Essence 内核在团队和组织层面都有好处。为了使读者能够理解,让我们介绍两个人物:史密斯,项目负责人;戴夫,一家大型公司的高管,该公司一直在努力改进其软件开发方式。该公司投资并获得了 CMMI(能力成熟度模型集成)评级,然后采用了统一过程,最近又尝试了敏捷方法,并在某些团队中成功应用了敏捷方法。
在团队层面,目标是确保工作的成功,史密斯对此负责。成功意味着在给定的时间和预算内交付客户真正想要的东西,并具有正确的质量。成功还意味着他的团队积极主动且协作有效——从根本上说,是一个快乐的团队。这需要四种技能:为正确的工作使用正确的方法;衡量项目进度和健康状况;有效的协作;以及基于中间立场的决策。
为手头的工作使用正确的方法。经验丰富的史密斯明白(正如 Gartner AADI 调查的受访者一样),没有一种万能的、面向未来的软件开发方法。如前所述,史密斯所在的组织采用了 CMMI、统一过程和敏捷方法。史密斯并不反对任何这些方法,事实上,他认为每种方法都有其优点。问题在于,过去,他的组织在任何时间点都只强制规定一种运行开发的方式。
尽管史密斯运行小型增强功能的同事发现 Scrum 很有用,但史密斯发现 Scrum 本身不足以满足他正在运行的大型企业级开发需求。史密斯还意识到,他所在组织以前基于 CMMI 和统一过程的方法也不足。在每个项目中,史密斯仍然必须对强制规定的工作方式进行重大调整,才能获得合适的方法。实际上,他通过创建自己的变体,增加了 100,000 种方法的问题。进行和建立此类调整并非易事,因为史密斯必须将它们传达给他的队友,而他的队友各有不同的背景和观点。史密斯希望他的队友能够更快地就每个项目的工作方式达成一致,从而获得更好的方法。
轻量级内核及其对系统地组合实践以创建各种“恰到好处”的方法的支持,所有方法都基于相同的通用内核,这使组织能够为开发团队提供正确的方法来承担手头的每项工作,从而支持每个组织特定的文化、标准和强制性实践。
准确衡量项目进度和健康状况的能力。 如果史密斯学到了什么,那就是软件开发是一项复杂的工作,项目的进度和健康状况必须从多个角度考虑——例如,利益相关者的满意度;需求(并且需求随着软件系统的发展而增长);软件系统;等等。然而,问题在于,史密斯的公司没有整体上帮助每个团队评估进度和健康状况的治理程序。事实上,以前没有任何普遍接受的框架能够做到这一点。
每个 alpha(即机会、利益相关者、需求、软件系统、团队、工作和工作方式)都涵盖一个维度,为每个 alpha 定义的状态提供了进度和健康状况的指示。 例如,Essence 将软件系统的状态识别为架构已选择、可演示、可用、就绪、可操作和已停用。这些状态中的每一个都指示了软件系统的开发已取得多大进展,以及团队接下来应该做什么以推动软件系统的进度和健康状况向前发展。现代方法确实存在,它们建议类似的思维方式,但仅在一个维度上(例如,Kanban 专注于工作 alpha)。另一方面,Essence 更全面和整体,因为它具有多维度(即,它专注于所有 alpha),因此可以更准确地描述进度和健康状况。更重要的是,Essence 以轻量级的方式做到这一点,这与以前在 CMMI 和统一过程中所做的尝试不同。
使团队成员能够有效协作的能力。 每次史密斯开始一个项目时,他都必须组建一个团队,其成员来自组织的不同部门,甚至可能来自不同的承包商组织。团队成员需要就他们应该如何协作达成一致。例如,他们需要就使用哪些实践达成一致。由于他们有不同的背景和经验,这通常变得不平凡。准备团队成员可能与再造工程一样复杂。作为证据,在过去 20 年中发表的关于项目失败原因的文献中,团队成员之间沟通不畅的排名经常非常高。6
来自不同组织的个人都有一个共同的基础可以开始。这有助于团队更有效地沟通,从而更快地提高工作效率,即使他们原生的或喜欢的工作方式差异很大。
基于中间立场的决策。 决策的基础应该是快速健康检查,而不是僵化的流程——或者什么都没有。史密斯工作的一个组成部分是与他的队友一起决定在哪里投入精力,以取得进展并应对项目风险。一些需求可能很模糊,需要与客户代表进一步探讨;一些技术问题可能需要调查;一些缺陷可能需要注意。然而,以前,史密斯必须在规定的治理程序内工作,这些程序要求在项目中的特定里程碑生成特定文档,并按特定顺序进行特定活动。这是一种笨重、无效的方法,对史密斯和他的队友做出相关决策没有帮助。然而,使用 Essence,重点是生成的结果以及处理项目环境中的风险。
Essence 提供了一个框架,可以更快、更有效、更自主地进行决策,并且可以帮助组织改进其当前的治理实践,以满足当今挑战的需求。 Essence 实现这一目标的一个例子是通过 alpha、alpha 状态和清单,这些清单使团队在项目的任何时间点都专注于最重要的事情,这基于当前的项目环境。这提供了对团队在实现预期结果方面的表现的独立检查。无论团队使用哪种方法和实践,都可以应用此检查。今天,我们更加了解每个项目的环境在有效管理成本和绩效方面的重要性。这就是 Essence 可以与以前的方法区分开来的地方,因为它有助于根据当前状态和目标状态在正确的时间提出正确的问题。
总而言之,使用 SEMAT 内核在团队层面提供了许多好处。想象一下一个可互换的实践库,使用一种语言编写,该语言可以根据情况的需要而轻量或正式,并且围绕所有软件工作都基于某些关键要素的进展而获得成功的不可改变的事实构建。团队可以根据工作的需要从该库中选择,并组合他们的工作方式,而不是创建它。他们可以为他们的情况构建最佳方式。他们可以使用独立于这些实践和方法的标准指标来衡量项目的进度和健康状况——再次避免团队的创造和分心。团队的新成员无需从头开始学习一切。所有这些因素都有助于提高团队的效率。除了帮助团队实现其目标外,减少此类浪费的时间和精力显然也为整个组织带来了累积效益,从而有助于实现 CIO“以更少的投入获得更多”的目标。
正如本文开头所讨论的,在组织层面,目标是业务增长。在我们的场景中,这是戴夫负责的。他知道,只有当他的客户满意并不断回头,为组织提供更多的业务机会时,他的业务才会增长。他知道,通过拥有一支积极主动且充满干劲的团队,可以提高上市速度和相关性。他还知道他需要严格管理。因此,戴夫希望引入机制来培养持续学习和鼓舞人心的文化。戴夫不仅希望他的团队相互学习,还希望他们向行业内的其他人学习。这需要进行一些更改。
共同的词汇表和知识体系。人们会认为戴夫的团队会共享词汇表,因为他们在同一家公司工作,但事实并非如此。他组织内的许多团队使用不同的术语,并且通常同一个词可以带有不同的含义。为了使一个团队能够从另一个团队学习成功的实践,它必须跨越这个不必要的语言障碍。
Essence 通过使实践能够使用单一词汇表(内核)进行描述,从而打破了这种语言障碍。此外,Essence 还提供了组织实践的结构,以便可以快速发现、评估和应用它们。
团队还可以将他们学到的知识贡献回这些实践,从而构建一个结构化的知识库——即实践。这也为组织中的个人提供了学习路线图。他们掌握的库中的实践越多,他们就变得越有能力。通用实践库的好处超越了单个项目。例如,它可以大大有助于解决许多失败的 IT 项目中记录的沟通问题。6
授权团队安全地改变其工作方式。这不仅要以小步进行,还要以大步进行。戴夫希望鼓励他的团队进行创新,但与此同时,他担心他们可能会冒险陷入混乱。因此,他的方法往往倾向于保守,而给予史密斯等团队负责人的灵活性相当有限。然而,借助 Essence 以及实践在内核之上的分层,组织拥有一个经过验证的框架,他们可以从中安全地改变其工作方式。这使戴夫可以专注于强制规定最少数量的特定实践——他需要团队以一致的方式实践的实践。与此同时,他还可以授权团队在方法的其他领域进行创新,并在适当时添加和替换实践。
团队获得了一种受控且直观的方式来替换现有实践或添加新实践。这使团队能够安全地且在必要时以主要方式调整其方法的规模。
持续的绩效改进/真正的学习型组织。 如前所述,戴夫的组织采用了 CMMI、统一过程,以及最近的敏捷实践,每种实践都提供了不同的重点。然而,在接受一种新方法时,他的组织不幸地抛弃了他们过去学到的许多良好实践,以及他们想要摆脱的部分。这对组织来说是一个巨大的损失。事实上,这导致了重大且代价高昂的重复发明。例如,当他们引入敏捷实践时,他们不得不重新发明完成架构工作的方式。通过采用 Essence 内核并使用实践而不是整体方法,戴夫的组织成为一个真正的学习型组织——不断增长和改进他们使用的实践集,并提高他们的开发能力。
团队可以轻松了解哪些有效,哪些需要调整其实践——放弃或改进不成功的实践,并添加适当的新实践以满足其开发组织不断变化的需求。
结果是一个软件开发部门,不仅被允许而且被鼓励探索行业中新技术和实践带来的可能性。成功的实践(好主意)可以放入轻量级的 Essence 框架中,并快速融入组织的工作方式中。这种自由在知识工作者环境中具有高度的激励作用——而激励是吸引和留住行业中最佳员工的关键,因此也是提高软件组织效率的关键。
组织也从 SEMAT 中受益,而不仅仅是因为团队的累积效益。基于实践的工作方式或方法意味着组织在这个层面进行投资,并且更有机会重复使用,而不是创建项目特定方法的定制描述。资源组掌握实践而不是方法,使他们能够更轻松地在团队之间移动,并为 CIO 提供更大的劳动力灵活性。这种更有效的实践管理,加上人员更高的适应性和效率,支持了业务提出的“以更少的投入获得更多”的要求。
毫无疑问,Essence 是一种强大的工具,但必须正确使用它。多年来,SEMAT 方法在一般情况下和特定情况下都帮助了许多大型组织和开发工作。4
Essence 背后的思想已应用于一项重大计划,该计划涉及一家大型、著名的日本消费电子公司,该公司已将开发外包给中国的一家供应商。这家客户从未外包过,也不了解即将到来的风险,也看不到以用例和测试驱动方式进行迭代开发的价值。这家中国外包商习惯于遵循客户指示的方法。这些方法往往是传统瀑布方法。因此,以良好的沟通和清晰的愿景开始是一项巨大的挑战。解决方案是开始使用 Essence 内核 alpha 来就团队的组织和组成方式达成一致。alpha 状态卡片的轻量级、直观性帮助客户和供应商团队负责人都可视化了他们可以一起工作的方式。
这项工作开始时有 8 名客户人员,逐渐增加到 10 名客户人员/20 名供应商人员,然后增加到 30 名客户人员/50 名供应商人员。在该工作结束时,有 80 名客户人员和 200 名供应商人员参与。
当成员加入开发团队时,他们会接受关于内核和新实践(迭代开发、用例驱动开发和测试驱动开发)的快速简报。项目经理监控开发状态和团队规模。当团队变得太大时,它会被拆分,并且新的团队负责人会接受内核培训,以了解作用于团队的力量。显然,即使在这项主要工作中,每个团队和个人的参与也不是静态的。Essence 不仅能够帮助团队入门,还能帮助他们成长。
在 Essence 内核提供的基础上,一家大型全球再保险公司建立了一系列协作模型,涵盖了软件和应用程序开发的整个范围。四个协作模型建立在同一内核之上,来自同一组 12 个实践。这些模型是 (1) 探索性、(2) 标准、(3) 维护和 (4) 支持。每个模型都定义了一个适合所进行工作的轻量级治理流程,并为团队入门提供了足够的实践。
这具有许多组织和本地优势,包括
• 服务组织中工作人员的统一。 应用程序开发组被组织成多个独立的服务。团队是通过根据需要从各种服务的成员中抽调而组建的。内核的使用提供了共同的基础,使这些团队能够快速聚集在一起,并确保他们都使用相同的语言进行交流。
• 实现灵活的采购政策。 采用基于内核的方法还可以使各种服务通过利用外部资源和供应商来安全地灵活调整其能力。内核的使用使每个人都能够快速掌握工作方式,并轻松理解他或她的角色和责任。
• 提高敏捷性和改进项目绩效。 通过专注于连接服务和开发优秀软件所需的团队合作的实践,该组织能够授权团队和他们所依赖的服务不断检查和适应,并在他们的日常工作中安全地拥抱敏捷和精益思维。
• 全球协作。 该公司的应用程序开发团队遍布全球。通过提供标准的、轻量级的工作方式,实现了更大的全球协作,并在某些情况下实现了全球采购模式。
许多公司都使用 Essence 方法来帮助建立独立于实践的工具和应用程序生命周期管理框架,包括
• 一家大型系统集成商组装了一个开源、低成本的工具环境,以支持围绕 Essence 内核工作的分布式团队,以及它对实践组合和执行的支持。该环境作为组织服务运行,已成功用于各种项目。Essence 固有的灵活性允许相同的工具和实践用于支持敏捷和瀑布工作方式。
• 英国政府的一个主要部门引入了一套基于内核的敏捷工具集,以实现有纪律的敏捷性,并在独立于实践的方式下跟踪项目进度和健康状况。这使团队能够在一致、有效、轻量级的治理框架内采用他们选择的敏捷实践。它还帮助团队保持在正轨上,并避免一些在过渡到敏捷工作方式时可能出现的陷阱。
在这两种情况下,内核提供的共同基础和 alpha 的结果重点都实现了工具的广泛采用,而不会损害团队的自主性和授权。
衡量方法有效性的标准应在于您开发的软件在多大程度上变得更好、更快、更便宜,以及您的客户和员工在多大程度上变得更快乐。更好的方法可以改善所有这些因素。更好的软件意味着提高您产品的竞争力。更快对于将产品推向市场至关重要。更便宜通常是更快带来的副作用,但也来自自动化。更快乐的客户来自许多方面,其中之一是创造更好的用户体验。
更好、更快、更便宜、更快乐都是 CIO 优先事项的要素。SEMAT 提供了基础,使大型组织的应用程序开发部门能够改进所有这些要素,从而形成一支更有效率的、积极进取的专业人员团队,真正为组织的竞争力做出贡献。
组织无需等待即可从 Essence 内核中受益。团队和部门可以从今天开始受益。Essence 带来的主要价值是防止代价高昂的重复发明和不必要的重新学习已知知识。
Essence 可以帮助您的组织到达您知道需要去的地方,并且它将帮助您更快、更便宜地到达那里,以便您为未来做好准备。
1. Gartner Inc. 2013. 2013 年 CIO 业务和技术十大优先事项; www.gartnerinfo.com/sym23/evtm_219_CIOtop10%5B3%5D.pdf.
2. Jacobson, I., Ng, P.-W., McMahon, P., Spence, I., Lidman, S. 2012. 软件工程的本质:SEMAT 内核。 10(10); https://queue.org.cn/detail.cfm?id=2389616.
3. Jacobson, I., Ng, P.-W., McMahon, P. E., Spence, I., Lidman, S. 2013. 软件工程的本质:应用 SEMAT 内核。Addison-Wesley。
4. Jacobson, I., Ng, P.-W., Spence, I. 2006. 基本统一过程。Dr. Dobb's Journal (八月)。
5. 对象管理组织。2013. Essence:软件工程方法的内核和语言; http://semat.org/wp-content/uploads/2013/02/Essence_final_submission_18Feb13.pdf.
6. Rosencrance, L. 2007. 调查:沟通不畅是导致大多数 IT 项目失败的原因;Computerworld; http://www.computerworld.com/s/article/9012758/Survey_Poor_communication_causes_most_IT_project_failures.
7. Serena Software Inc. 2013. 2013 年 IT 优先事项调查:应用开发回归业务。在 Gartner 应用架构、开发和集成 (AADI) 峰会上进行; http://www.serena.com/index.php/en/solutions/app-dev-delivery/infographic-application-development-priorities-2013/.
Ivar Jacobson 博士是 Ivar Jacobson International 的董事长,是组件和组件架构、用例、统一建模语言和 Rational 统一过程之父。他为现代业务建模和面向方面的软件开发做出了贡献。他是北京大学国际荣誉顾问,并拥有秘鲁圣马丁德波雷斯大学的荣誉博士学位。
Pan-Wei Ng 博士指导涉及数百万行代码和每个版本数百人的大型系统开发,帮助他们过渡到精益和敏捷的工作方式,同时不忘改进他们的代码和架构,并通过用例和方面进行测试。他是《面向方面的基于用例的软件开发》的合著者(与 Ivar Jacobson 合着)。他信奉使事物有形和实用,并且一直是内核背后思想的积极贡献者,包括状态卡的使用。
Ian Spence 是 Ivar Jacobson International 的首席技术官,也是 SEMAT 内核开发团队的负责人。作为一名经验丰富的教练,他已将数百个项目引入迭代和敏捷实践。他还领导了许多成功的大型转型项目,与多达 5,000 人的开发组织合作。他目前的兴趣领域是大型项目的敏捷性、敏捷外包以及通过敏捷测量驱动可持续变革。
Paul McMahon ([email protected]) 是一位独立顾问,专注于在受限环境中指导项目经理、团队负责人和软件专业人员实际使用精益和敏捷技术。他是认证 ScrumMaster 和认证精益六西格玛黑带。自 SEMAT 计划启动以来,他一直是该计划的领导者。
喜欢还是讨厌?请告诉我们
© 2014 1542-7730/14/0200 $10.00
最初发表于 Queue vol. 12, no. 2—
在 数字图书馆 中评论本文
Catherine Hayes, David Malone - 质疑评估非加密哈希函数的标准
虽然加密和非加密哈希函数无处不在,但它们的设计方式似乎存在差距。加密哈希函数存在许多由各种安全要求驱动的标准,但在非加密方面,存在一定程度的民间传说,尽管哈希函数历史悠久,但尚未得到充分探索。虽然针对现实世界数据集的均匀分布非常有意义,但在面对具有特定模式的数据集时,这可能是一个挑战。
Nicole Forsgren, Eirini Kalliamvakou, Abi Noda, Michaela Greiler, Brian Houck, Margaret-Anne Storey - DevEx 行动
随着领导者寻求在财政紧缩和人工智能等变革性技术的背景下优化软件交付,DevEx(开发者体验)在许多软件组织中越来越受到关注。技术领导者凭直觉接受,良好的开发者体验可以实现更有效的软件交付和开发者幸福感。然而,在许多组织中,改进 DevEx 的拟议计划和投资难以获得支持,因为业务利益相关者质疑改进的价值主张。
João Varajão, António Trigo, Miguel Almeida - 低代码开发生产力
本文旨在通过展示使用基于代码、低代码和超低代码技术进行的实验室实验结果来研究生产力差异,从而为该主题提供新的见解。低代码技术已明确显示出更高的生产力水平,为低代码在短期/中期内主导软件开发主流提供了强有力的论据。本文报告了程序和协议、结果、局限性和未来研究的机会。
Ivar Jacobson, Alistair Cockburn - 用例至关重要
虽然软件行业是一个快节奏且令人兴奋的世界,在这个世界中,新的工具、技术和方法不断被开发出来以服务于商业和社会,但它也是健忘的。在其快速发展的步伐中,它容易受到时尚潮流的影响,并且可能会忘记或忽略已验证的解决方案,来解决它所面临的一些永恒的问题。用例,最早在1986年提出并在之后普及开来,就是这些已验证的解决方案之一。