敏捷幼幼班~敏捷适合的时机

http://img2.58codes.com/2024/20106486xmqWZDWa46.jpg

敏捷採用的时机

在聊聊什么是敏捷前,我想先谈谈一个知名的『Stacey Matrix』的解释模型,『Stacey Matrix』是由管理学大师『斯塔塞』(Stacey)用『共识度』(Agreement)与『确定性』(Certainty)两个维度分析事情複杂度的方式:

简单(Simple):容易有共识且确定性很高。繁杂(Complicated):『不容易有共识且确定性很高』或『容易有共识且确定性不高』。複杂(Complex):不容易有共识且确定性不高。混乱(Anarchy):非常不容易有共识且完全没有确定性。

老实说,这概念看似很简单,但其实不好理解。最近刚好有看到一篇文章『When to use waterfall, when agile?』,其中的看法,我觉得比较浅显易懂,作者首先把 Stacey Matrix 调整一下运用在讨论『敏捷方法』上。我觉得方便初学敏捷者了解一下。

图中横轴(x-axis)是表示『如何做』(How),指的是『技术的複杂程度』,如果之前有做过,也能明确了解技术流程,就是『已知的』(Known)技术,横轴离原点越近,表示『已知程度』越高,离原点越远,表示是『未知的』(Unknown)技术,『未知程度』越高。

图中纵轴(y-axis)则是表示『做什么』(What),说明的是对需求的『了解程度』(Clear),如果『了解程度』越高则越靠近原点,如果『完全不了解』(Unclear)则离原点越远,因此我简单整理如下:

简单(Simple):知道的已知工作(Known Knowns),流程固定且无变化的工作适合『瀑布开发法』(Waterfall)。繁杂(Complicated):知道的未知工作(Known Unknowns),如果是需求不是很明确,但是技术难度不高,,如社会或政治环境的事务,无法接受需求或结果不明确,可採用『瀑布开发法』(Waterfall)或『敏捷方法』(Agile)。如果是需求很明确,但技术难度有点不确定性,则建议採用『敏捷方法』。複杂(Complex):不知道的未知工作(Unknown Unknowns),可能是需求不是很明确,而且技术複杂程度也不低。这时候在减少风险与不确定性的前提下,运用『Scrum 方法』的快速迭代,小规模实验取得对整理的了解是一种不错的选择。混乱(Anarchy):无法知道的工作(Unknowables),因为需求与技术都有高度的风险,因此採用『看板方法』(Kanban)专注在当下最重要的事情(Working In Progress),持续产出结果,慢慢找出更明确的方向。

原文请参考:【文思不藏私】 敏捷幼幼班~敏捷适合的时机


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章