敏捷开发流程的8个步骤 敏捷开发什么意思( 二 )


相对而言,线性开发注重确定性的内容,强调准确的市场预测,根据预测尽可能完美地进行设计,设计的蓝图必须严格呈现 。所以评价工作的标准也是蓝图的实现程度,即使市场反馈不一定尽如人意 。
三、敏捷的适用场景 线性开发由于预测重,便于过程控制,但难点在于一开始就确定正确的设计范围;敏捷开发是一个探索导向的过程,可以不断深入挖掘问题的本质,提炼真实问题 。但是,缺点是跨部门的大项目时间成本高 。
因为敏捷方法以用户价值为目标,瀑布方法以完美呈现蓝图为目标,所以项目团队很容易在价值上达成一致,但是在跨团队、跨部门甚至跨公司的项目中,各方理解的价值观可能并不一致 。只有在用户价值(也就是要交付的产品)上达成共识,才能应用敏捷开发 。如果不能达成共识,只能通过过程控制来减少沟通和时间成本,采用瀑布式开发 。
根据优缺点,敏捷开发和线性开发都有其适用场景——经常用于战略决策的Cynefin框架非常适合解释敏捷开发的适用场景,如下图所示:
1. 简单域(simple)-已知的已知 当因果关系很明显的时候 。处理方法是“感知-分类-应对”,比如导出销售数据/做巧克力蛋糕 。Scrum不是一个好的选择,但是应该选择一个经过验证的方法 。
2. 繁杂域(complicated)-已知的未知 需要专家诊断才能找到正确答案 。处理方式是“感知-分析-响应”,比如构建底层数据库/构建Tai 空飞船 。Scrum不是最好的解决方案,应该由专家来处理 。
3. 复杂域(complex)-未知的未知 因果关系只能从复习中反映出来,很难预测,只能事后才知道 。处理方法是“探查-感知-响应”,比如推出新品/养少年 。Scrum最好的领域 。
4. 混乱域(chaotic)-不可知的未知 完全没有因果混淆,需要快速反应,没有时间思考 。需要的是“行动-感知-响应”,比如911事件/系统宕机 。Scrum不是最好的解决方案,需要的是立即行动 。
5 。如果你连上述情况属于哪一种都不知道,那就是障碍,等待被试把情况稳定到上述四种情况之一 。
软件开发过程中可能会涉及到以上领域,但电子商务产品(尤其是C端)的大部分工作都落在复杂域中 。需要在实际工作中灵活运用 。


推荐阅读