一 瀑布式开发(传统)
通常会花几个月的时间来规划产品 (plan) → 再花几个月的时间研发产品 (build) → 接着进行产品测试(test)、评审(review) → 最终发布产品
问题:
1 如果市场需求或技术环境发生变化,此时研发出的产品很可能无法满足市场需求
2 当遇到变化时,产品规划必须早于后续工作,大部分案例中,规划环节结束时并没有完全理解项目,但研发工作已经完成了.通常情况下, 整个项目必须送回规划阶段,然后从头再来
3 测试时发现问题需要重新开发,甚至重新规划
二 敏捷开发
不是写代码很快,不是加班搞,是一种科学做事的方式,以用户的需求进化为核心,采用迭代(循序渐进)的方式进行开发.
强调适用性,当项目的需求发生变化,团队能够快速响应,产品能够快速交付.
敏捷开发的主分支代码随时可交付
整个项目会被分解成不同的小部分
1 首先围绕最小化可行产品的特性进行产品规划,把最小可行化产品开发出来
2 接下来测试和评审这个产品
3 (plan build test review)这个过程通常只需要1-3周左右,就会得到一个可发布的产品.
4 然后增加新的功能,(plan build test review),发布新的版本
5 增加新的功能,(plan build test review),发布新的版本..直到产品的功能齐全
概括: 增量交付,迭代式开发,能够快速响应用户提出的新需求
有3种角色:产品经理、项目经理、team(开发和测试)
产品经理根据用户故事表达产品需求,做成产品需求列表,给不同的产品需求制定优先级,优先级高的先开发