赞
踩
最近有人问我,哪种项目最适合敏捷开发。我将在本文给出答案。在我看来,那些期限紧迫、具有高度复杂性和新颖性的项目最适合敏捷开发。
当我们开发一个新项目、起码对开发团队而言是个新项目的时候,我们愿意采用敏捷开发。如果之前团队已屡次开发过此类项目,那么基本不会采用敏捷开发的方式。我认为,这跟某些制造业很类似。比如我们生产轿车,日复一日,自然就会非常迅速地掌握所有生产轿车的奥妙之处。这种情况下,对创新的要求很低,就用不着敏捷开发。
单有对创新的要求,并不意味着就要采用敏捷开发。今天,我去了自己最爱的中餐馆吃午饭,点了一个“超级辣味胡椒”开胃菜。很可能是饭店首次用这种方式烧这道特色菜,具有一定的创新性或者说独特性。厨师虽然做了充分的准备,但因为我能看到厨房里面,我确信他们不需要每日即时讨论甚至是TDD(技术资料文摘)来准备我的午餐。(也许我应该注意到那里有个看板。)因此除了有新颖性的要求,项目还需要有一定的复杂程度。
那么我们先了解一下这三个因素——紧迫性、复杂性和新颖性——是如何交织在各种项目中的。当然是先以软件项目为例,没有其他更合适的了。软件项目的复杂性众所周知。每个软件项目基本上都是一次新的冒险。而且,在当今世界常常有一种紧迫感。
让我们再看看另外一种通常会用到Scrum(专业术语)的情况:结婚。我在一年内起码有两三次听到有情侣用Scrum敏捷开发策划了婚礼。婚礼前总是会积压一大堆事情——买蛋糕、接摄影师、发邀请函、拿礼服,等等。策划婚礼跟我所提议的三个因素是如何关联的呢,紧迫感?对,婚礼一般会有个最后期限,而且通常是确定好的日期。复杂性?嗯,虽然它没有软件项目那么复杂,但也因为一些非功能性要求而提高了其复杂程度。比如,它有固定的预算、坐席的安排、供餐的类型、让Cousin Ira乐队在接待会表演,等等。要别出心裁、有所创新?当然。大多数人应该不会结很多次婚、每次又都大张旗鼓地举办婚礼吧!婚礼当然不能与他人雷同了。
因此,敏捷开发最适合复杂程度高、要求新颖的紧急项目,包括软件开发和婚礼的策划。它确实会碰到这样的问题,比如结婚新人是否要在庆典结束时以初吻作为压轴戏,或者作为整个项目的部分评价标准。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。