瀑布诉敏捷度:我应如何接近软件开发项目

狗万体育新闻敏捷项目管理邓肯Hauley读取时间分钟内

雄手握着两个粉红六角形标志一边说瀑布 另一边说对敏捷

狗万体育新闻软件开发项目使用两种项目管理方法之一:瀑布或敏捷化两者有利与弊,每种方法都有倡导者支持所选择方法的价值

文章用两种方式理解使用瀑布或敏捷方法的情形我会回答问题如何处理软件开发项目

瀑布法

瀑布法自1970年代以来就一直使用并保持日常使用沿循一套清晰步骤贯穿项目生命周期典型瀑布相位

  1. 需求分析
  2. 高层设计
  3. 低级设计
  4. 编码单元测试
  5. 集成测试
  6. 系统测试
  7. 实现
图显示瀑布软件开发法
图1:瀑布软件开发法

我们称这个方法瀑布法,因为每个阶段都沿次上一个阶段完成后,像瀑布一样逐级下降仿佛瀑布流出永不流出许多人认为这种方法安全

瀑布法对商业安排运作良好,合同签定并支付钱款然而,当与组织内部客户合作时,当请求者已经得到高层管理者支持时拒绝最后一分钟修改可能具有挑战性。

瀑布法的利弊
专业类 康斯
详细文档和度量 感知慢启动
协议并完全签名需求 固定需求难以改变
可使用低技能集开发程序 软件客户可见度直到大多数开发工作完成
通过更严格的规划设计阶段减少缺陷数 缺乏灵活性难以快速改变方向
定义开始点和结束点对每个阶段,便于测量进度 客户在项目启动时可能不清楚需求

敏捷方法

敏捷方法指项目迭代方法术语产生于2001年敏捷宣言

需求与解决方案通过客户与项目团队协作演化敏捷方法在项目初期生成交付品,并用迭接方法精细化这些交付品,客户参与

图显示敏捷软件开发法
图2敏捷软件开发法

可能发现某些利害相关者对这个方法持否定态度管理者担心你向客户报错 方法可能不适合你

案例指针

项目提供视频主页供客户网站使用期间,我们制作的第一个迭代接近数字设计机构提供的例子测试迭代显示一些错误需要修复误差无关紧要,因为开发工作需要修复错误

业务主管视此为未能实现客户期望和令团队难堪在我看来,交付率达九成正确,错误只需要数日开发努力来修复。第一次迭代使我们能够完全理解客户需求并让客户表达期望

适当回斥后,我毫不怀疑管理者的感受我不想再发生这种事未来所有工作在写单行代码前都有一个完全协议并签名非专用性

有趣的是,客户似乎对敏捷方法感到满意,因为这使他们能看到工作进展并在开发期间发表评论

敏捷方法能加速传送吗?

有争议性仅仅因为你提前编码 并不一定表示你会更快完成但它能确保最终交付品满足客户需求,在项目期间提供他们的洞察力

敏捷法的利弊
专业类 康斯
快速启动增量发布并定期客户评审和反馈 误解为无序或违纪
客户需求随时间推移演化 需要高质量面向客户开发团队
提供快速响应变化的能力 需要高端客户承诺在整个项目中保持参与
少重作业通过持续测试、客户参与和反馈实现 缺少详细长期计划
实时通信开发团队和客户 文献量度比瀑布法低

结论

哪种方法最适合您的项目 瀑布或敏捷性

无对或错-优或劣方法依赖数项因子,其中一些因子在此列表 :

瀑布对敏捷方法的好处
瀑布 敏捷度
需求清晰解决 需求不确定
客户偏爱设置条件并看到结果 客户喜欢插手
质量超速 快速变化市场意味着速度需求
管理需求度量和文档 管理需要工作软件而非人工制品
多依存性 少依存
团队成员只知道一个角色 团队成员能做很多事

关键项目管理员选择最能满足客户需求的方法问题出现时有意见分歧在这种情况下,选择能产生最佳结果的方法谨慎管理有异见者

归根结底,两种方法都会交付您的项目关乎管理客户期望 提供高质量产品归根结底,一旦你到达行程终点,没有人会担心你是怎么到那的


自撰写此文章以来,作者承认敏捷方法已成为主流并成为交付软件开发项目最常用方法


推荐文如下:哪个生命周期对您的项目最有利执行简介

下题

可能你还有兴趣