英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
第51届夏威夷系统科学国际会议论文集| 2018
对当前和未来敏捷和精益研究的思考:确保相关性和严谨性
John F. Tripp
Baylor University
Jeffrey Saltz
Syracuse University
Dan Turk
Colorado State University
Dan.Turk@colostate.ed
摘要
在过去的20年里,敏捷和精益软件开发领域的研究反映了敏捷和精益方法使用的强劲增长。然而,尽管这些研究流在使用敏捷和精益方法方面做出了重大贡献,但最近的许多研究缺乏在研究和实践中产生影响的严谨性和相关性。例如,许多研究没有测量敏捷或精益方法的实际使用情况,也没有重要的理论基础。此外,敏捷研究还没有扩展到完全覆盖新出现的机遇和挑战。一个关于敏捷和精益软件开发的更深层次的理论动机可以帮助演示,例如,敏捷软件开发的原则如何可以转移到这些其他领域,从而扩展研究的相关性。本文提供了旨在推动敏捷和精益研究议程的评论,并概述了未来研究人员在进行敏捷现象研究时应该考虑的三个关键批评。本文还提供了一个使用标准的示例,并提出了几个初始的、开放的研究问题,这些问题有助于增加敏捷的使用,包括在其他IT和非IT上下文中使用敏捷和精益概念。
1. 介绍
自从使用敏捷框架首次被建议使用[19]以来,已经有超过15年的时间了。在此期间,组织和团队中已经大量采用了敏捷原则和方法。然而,对敏捷方法使用的研究发现,尽管团队普遍声称使用敏捷方法,但实际使用敏捷实践的情况却相当低,即使在由知名敏捷支持者[11]领导的团队中也是如此。此外,虽然对使用敏捷方法的影响的研究已经发现了一些影响,比如在敏捷团队减少错误[25]和更高的工作满意度 [36],许多研究在敏捷没有实际测量使用敏捷方法和实践,和经常未能认为理论上为什么敏捷理论不同于其他项目环境,或确定的核心组织,客户、项目和团队的特点是必要的为了成功应用敏捷开发原则和实践。
确定敏捷哲学、方法论和实践的理论核心仍然是一个难题,但我们相信这将是维护和增强敏捷研究的相关性和前景的一个关键组成部分。此外,特定的组织、客户、产品、项目和团队特征可能会鼓励或阻碍部分或全部敏捷哲学和实践的采用和利用。这些相同的特性使得向敏捷方法的迁移对于一些组织来说非常困难,并且导致了混合成功的[37]。严格的、基于工程的风险管理等特征可能会限制充分利用敏捷实践和原则的能力,或者需要违反一些敏捷实践,比如减少预先规划[16,22]。因此,尽管敏捷方法已经被广泛采用,但在何时以及如何在软件开发项目以及其他领域(如数据科学领域)中利用敏捷原则方面,仍然存在许多悬而未决的问题。
在本文中,我们认为,对于敏捷和精益开发的研究要想取得进展,必须应用对严谨性的特定关注,并考虑研究的相关性和广度。具体来说,在下一节中,我们将描述三个我们认为研究人员在进行敏捷研究时应该考虑的关键标准。然后,我们提供了一个说明性的例子,以帮助研究人员在使用我们的标准进行敏捷现象的未来研究时提供帮助。最后,为了帮助展示该领域开放问题的广度,我们讨论了一些需要解决的研究挑战,以及我们的三个标准如何有助于形成这些研究项目——在软件开发以及其他领域的兴趣。
2. 敏捷研究中的严谨性
多年来,关于敏捷相对于传统流程的好处有很多说法。尽管关于敏捷的影响经常出现轶事证据,但是很少有同行评审的、公开的、经验的证据支持这些观点,并且证实了敏捷与传统方法的可度量的结果。如果我们考虑到许多实证研究并没有度量敏捷,而只是简单地注意到团队声称正在使用敏捷,那么这一点尤其正确。
我们认为,为了研究敏捷开发和改进方法,需要更多具有最小特征集的实证研究。这些研究应该:
1)描述和测量项目的团队和环境特征;
2)定性或定量地度量多种敏捷实践的使用情况
3)从理论上说明敏捷方法的独特性如何以及何时影响结果。
下面我们将讨论为什么我们相信这些特征必须出现,研究者和实践者来说明是否差异和福利(如不同的敏捷框架之间,或敏捷框架和瀑布过程)之间实际上存在,和在多大程度上,在什么情况下。
虽然这样的研究确实很难进行,但是严格的、经验的研究对于优化敏捷技术的使用、决定何时/何地/如何在软件开发团队中采用这些技术以及理解这些技术是否可以用于其他情况非常重要。这种严谨性还可以提高管理层做出明智决策的能力,即何时使用敏捷,何时使用传统流程,以及预期的结果是什么。
2.1特征
有几个团队和环境特征驱动着敏捷方法和实践能够在多大程度上实现它们的全部潜力。因此,在概念化敏捷方法的潜在影响时,研究人员必须考虑并记录能够成功实现敏捷实践的环境特征。
例如,一个问题的可分解性越高(一个问题可以被分解成更小的组成部分的程度)
可交付价值),敏捷范例(如早期和重复交付)的实现程度越高[3,2b]。此外,对生产顺序的约束,以及强制一次交付更大部分产品的需求,是导致敏捷实践满足其潜力的能力降低的关键因素。可以注意到,这些示例不仅适用于软件开发,还适用于软件开发之外的其他领域。虽然敏捷哲学和实践的应用可能还有其他突出的特征,但是我们使用这些例子来帮助解释我们的第一个标准:
标准1:直接记录和报告项目、团队环境和组织环境的特征,以及敏捷的使用是如何受到这些特征的影响的。
在我们看来,这一标准在敏捷的研究文献中得到了最经常的满足。许多例子都是关于度量和描述敏捷项目执行环境的论文。大量的案例研究已经深入探索了敏捷在高和低环境复杂性环境中的使用(e.g.,[25]),来自单个组织或多个组织的团队(e.g.,[34]),或者单个位置的团队与分布式的团队(e.g.,[27])。
然而,我们认为,为了使敏捷研究取得进展,研究人员必须更深入地研究他们选择用来作为观察这一现象的透镜的源理论。
2.2测量
数千篇已发表的论文研究了敏捷开发对诸如编码质量、项目成功、团队合作和个人满意度等因变量的影响。然而,关于敏捷开发的文献在它如何对待敏捷现象上有很大的差异。
敏捷有时被认为是一个整体现象。因此,研究人员通常会询问团队是否“使用了敏捷”,或者是否使用了特定的方法(如XP)或特定的实践(如结对编程,如[30])来研究团队。在许多情况下,这些论文并没有度量敏捷方法或实践的使用级别,而是只度量方法使用的高级概念。然而,最近的研究表明,这些敏捷实践(如使用结对编程)的影响可能会直接或间接地影响到一个因变量(如代码质量)[36]。此外,与使用“方法论”相对的敏捷实践的度量方法变得更加普遍。(e.g.,25,36)。这种从方法到实践的转变是恰当的;研究表明,很少有团队采用敏捷方法作为一个整体,而是根据他们各自的情况来定制它们。因此,我们主张对敏捷进行严格研究的第二个标准。
标准2:直接度量敏捷实践的使用级别。
最近的多项研究已经为敏捷实践的使用开发了度量方法(e.g.,25,36),使我们严谨的研究模型的这一标准更便于未来的研究。我们认为,对敏捷开发的严格研究需要对单个敏捷实践的使用进行度量,即使在定性设置中也是如此,因为所研究的现象应该被度量。
2.3理论
研究人员应该在对[20]进行解释和预测的理论框架或概念模型中研究敏捷方法。然而,很多关于敏捷方法的文献都没有很好地利用理论来解释和概括研究结果。换句话说,这项研究缺乏敏捷实践和能够帮助解释这些实践的理论基础之间的联系。虽然多个理论已经应用于研究敏捷,如工作特征模型(e.g.,[36]),控制理论(e.g.,[25])和复杂自适应系统(e.g.,[26]),没有理论已广泛采用,这些理论主要是用于描述什么是敏捷,不是[20]。因此,对敏捷成果核心基础的研究已经落后于[16]。我们重复并重申了之前的呼吁,即采用严格的理论视角来研究敏捷(e.g.,[16])。
此外,为了将理论及其基础与敏捷联系起来,我们认为在研究敏捷现象时仅仅利用现有理论是不够的。相反,研究人员必须讨论为什么敏捷不同于其他上下文,并确定使敏捷不同的边界条件。确定理论适用性的边界是验证这些理论[38]的关键组成部分。边界有助于识别理论或模型的组成部分所处的内部和外部环境条件[20,38]。因此,从理论上讨论敏捷方法和实践何时、如何以及为什么会产生不同于其他方法的理论结果,将有助于该领域确定敏捷理论的核心。我们断言直到
确定了敏捷开发的核心理论,将敏捷软件开发的学习方法清晰地应用到其他领域将是困难的。这个概念更正式地表述为准则3:
准则3:当应用理论透镜时,使用敏捷方法的本质,结合环境的本质,为理论争论边界条件(例如,什么使敏捷“不同”)。
这是我们认为为敏捷理论的开发提供了最大机会的标准,也是最被忽视的标准。一个关键的例外是不确定性概念的使用。不确定性已经在多个研究中被用来建立边界条件,具体来说,在不确定性水平较高的环境中,使用敏捷方法的影响会更大(e.g.,[23,25])。这个环境因素的例子——对团队来说是外生的——是识别边界条件的一个很好的例子。
我们认为这三个标准不应该用作检查表,我们也不主张一种正统的类型,相反,应该用来推动对敏捷研究的新关注。我们希望研究人员能够探索如何使用这些标准来提高敏捷研究的实用性和适用性。
2.4使用准则的例子
在本节中,我们将提供一个示例,说明如何利用理论边界条件的开发标准来研究敏捷方法。
在软件开发方法的研究中,一个被反复使用的关键理论是权变理论。7)。偶然性(或契合度)理论,当应用于软件开发的上下文中时,认为当特定的环境、项目和团队偶然性与所使用的软件方法有“更好”的契合度时,它将与“更好”的结果相关联。如图1所示。
我们认为,推动敏捷理论向前发展的一种方法是识别、度量和分析环境、项目和团队偶发事件的影响,这些因素或好或坏地推动了敏捷方法的发展。此外,研究人员可以识别和测量与使用敏捷方法相关(或由使用敏捷方法引起)的多个适当的因变量效应。为了说明这一点,我们求助于一个古老的软件开发理论,康威定律[8]1。
康威定律指出:“任何设计一个系统(广义上定义)的组织都会产生一个结构是该组织通信结构的副本的设计。”,尽管其他人以“组织的结构与其构建的构件之间存在密切关系”的方式软化了这一点。Conway最初的构想仅限于系统的架构,因为他认为软件产品的界面和架构将反映出产生它的软件团队的社会结构。这个反射概念产生了广泛使用的术语“镜像”来描述结果。
尽管最初的Conway的法则[14]的关注点相对狭窄,但是在文献中,它的“软化”版本被广泛地用于规定多种行为,包括组织和架构的对齐、软件模块化的实施、开发人员的配置、开发和维护有效的沟通以及保持灵活性[6]。如果康威定律对软件开发有用,那么它应该适用于所有情况,无论是使用敏捷开发还是非敏捷开发方法。
研究人员利用康威定律作为一个镜头来评估与敏捷扩展相关的问题,包括与分布式团队(e.g.,[27])合作时的通信和架构需求。毫不奇怪,这些研究认为敏捷团队必须根据Conway的原则进行组织。然而,如果敏捷开发是“不同的”,那么研究人员应该寻找以前软件开发的“定律”不适用的边界条件。
这个例子说明了我们的一个主要论点,即证明敏捷开发受到约束的力量与约束所有软件开发的力量相同,这并不一定是一个理论贡献。研究人员不应该认定敏捷开发方法与其他方法一样受到约束,而应该关注为什么敏捷开发方法的独特组织和执行原则敏捷方法创造机会,例如,组织历史和路径依赖关系不会影响团队设计的体系结构,或者敏捷通信实践可能会减少对开发人员的配置需求,或者要求团队严格按照团队边界划分系统模块,等等。
总之,Davis[15]认为,有趣的结果表明,那些被认为存在、不存在或被认为是广义结构的结构,实际上是特定的和局部的。因此,为了严格推动该领域的研究,我们认为研究人员应该努力找到有趣的结果,说明组织、环境、项目和团队特征创建一个环境中使用敏捷方法导致不同的结果会出现在上下文的传统方法的使用。
在下一节中,我们将通过几个示例为未来的研究提供指导,在这些示例中,我们将探索我们的标准如何帮助形成与敏捷使用相关的一系列开放问题的研究。
3.严格敏捷研究的新方向
在本节中,我们将简要讨论敏捷研究的几个新兴领域。对于每个领域,我们都提供了一个简短的机会/挑战描述,然后讨论了一个例子,说明我们的标准可以如何用于塑造未来的研究。
3.1.精益
精益思想关注的是生产过程中的价值最大化和浪费最小化。这个概念出现在日本汽车工业的早期。虽然对精益[33]的定义没有统一的定义,但是精益思维[29]的五个基本原则是:
1)为客户创造价值。如果某物使用了资源但没有产生价值,它就被认为是浪费,应该被消除。
2)价值流——确保从最初的愿景到实现产品的行动能够为客户提供价值。
3)流程——确保价值流不存在间断,以便将活动组织为连续的“流程”,从而实现平稳交付。
4)只在需要时才拉动生产产品(
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[20885],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。