zoukankan      html  css  js  c++  java
  • extreme programming和waterfall的对比

    昨天(2007年4.30日)从微软check out的时候有两个感受和想法:
    1,离开了工作近两年的地方,很是恋恋不舍
    2,决定写一系列的关于微软extreme programming之scrum的流程和感受,跟大家分享

    介于本人可能认识还不够,经验还不够丰富,如有不对之处,请大家批评指正,谢谢!

    在这篇文章里我打算介绍一下waterfall模型和XP的一些区别。

    两种模型的示意图如下:

    Plan Spec Develop Test Deploy Maintain



                          Waterfall process


                          Scrum process

    • 如何应对变化
    对于软件开发来说唯一不变的就是变化(Requirements are always changing.)。对于Waterfall来说,我们从需求分析到最后交货是一个可能很长的过程,如果发生大的变化可能需要我们对整个项目进行重新规划,重新设计。如果经常出现大的变化,可能导致项目的delay,甚至fail。究其原因,大部分是因为需求分析做的不完全,项目进行过程中出现大的需求变化。

    那么Scrum是怎样来解决这个问题的呢?在Scrum里面,我们把整个项目分为若干个Sprint,对于每个Sprint来说,我们的需求基本上是固定的,在每个Scrum的开始,我们都把需要完成的feature list写道spec里面。在为其一个月的Sprint里面,spec基本上不会出现大的修改。
    • 各个阶段的交接和过渡
    对于Waterfall来说,我们有大量的spec和文档,在每个阶段我们需要做非常详细的交接。

    对于Scrum来说,每个阶段的spec都比较简单和直接,没有大规模的阶段性交接。
    • 提交给用户
    对于Waterfall来说,只有最后才把产品提交给用户,所有产品价值只有此时才能体现给用户。

    相反,Scrum可以在每个阶段给用户展示产品的开发结果并获得用户的反馈。

    Waterfall面对变化的成本如下图:

  • 相关阅读:
    Nacos启动异常:failed to req API:/api//nacos/v1/ns/instance after all servers([127.0.0.1:8848])
    多节点集群思路
    内网dns配置
    MySQL集群配置思路
    pycharm常用快捷键
    2020年11月新版CKA考试心得
    JavaScript的Map、Set、WeakMap和WeakSet
    AJAX传输二进制数据
    linux性能监测与优化的指令
    八千字硬核长文梳理Linux内核概念及学习路线
  • 原文地址:https://www.cnblogs.com/kevinwan/p/waterfall_and_scrum.html
Copyright © 2011-2022 走看看