敏捷软件开发模式下,开发过程围绕问题域展开,在问题域内分解系统。
而传统的开发模式,是在分析模型之后分解系统。
其实仔细想想,如果在问题域就分解有很多的好处,如果需求是经过多次的转化的,可能已经不满足用户的原始需要了,问题变化,要修改的环节很多,而问题域内分解,能灵活响应变化。
敏捷的时间盒比较短,1~2周。
时间短,意味着,风险和进度好评估和控制。而传统的模式一个规划就是2个月,很多问题。
敏捷强调的另一个就是和用户的沟通,尽可能满足用户需求,注重反馈,快速变更。
敏捷将很多的决策延迟了,软件开发是一个知识创建的过程,随着开发进程的推进,团队逐步积累业务需求、市场环境、技术方案、实现技术等方面的知识。团队拥有最丰富知识的时刻是在项目的末期,这也是最能做出正确决策的时刻。然而,与之对应的是,在传统软件开发模式下,绝大部分的决策是在项目的早期做出,如:设定产品需求、承诺项目计划和确定架构方案等。此时的决策只能依据十分有限的团队知识,其质量必然是有问题的,却要成为后期项目执行的依据和约束。过早的决策也为其后的需求、技术和计划变更引入不必要的成本,这显然是不合理的。
阅读(2578) | 评论(0) | 转发(0) |