一、瀑布模型
特点:按照开发阶段逐次进行,像瀑布一样逐级下落,是结构化的线性模型。
优势:和其他流程相比相对简单。明确了阶段和检查点。前阶段完成了只需要关注后续阶段。
劣势:开发活动不能逆转,否则代价高昂。要求客户提供清晰的需求,实际上客户往往做不到;在开发后期才看到产品,有客户拒收的风险。
适用场景:计划驱动,需求清晰,范围明确,变化少。开发人员对软件应用领域熟悉,较少需要客户参与就能交付产品。
二、门径管理流程
特点:有阶段关口,在关口处进行决策。关口有把关者和关口会议。
优势:提供准则和约束;质量得到保障,透明;较好地控制风险。
劣势:可能变得冗长、僵化和官僚化;准则和约束可能扼杀创造力。
适用场景:计划驱动,需要较为严格的管理、控制和决策。
三、集成产品开发
特点:跨职能合作,客户需求驱动开发,将开发视为投资行为,关注商业结果。异步开发和并行工程。
优势:充分使用不同职能的成果和理念;通过并行缩短开发时间。
劣势:越来越冗长的流程会导致效率降低。对团队要求高,要求成员能力和学科构成完整。
适用场景:需要跨职能合作和并行。需求较为明确,可以采用更多的计划驱动开发。要求严格的管控和决策。
四、精益产品开发
特点:减少浪费和提升开发效率。
优势:事件驱动简化合作,优化设计,可视化管理,持续改进。
劣势:对团队成员和供应商要求高,需要改变组织文化和组织结构。
适用场景:信息流动高于严厉管控。对浪费容忍度低。
五、敏捷产品开发
特点:客户参与、拥抱变化、小步快跑、迭代交付可用产品。
优势:对变化响应很快,快速纠正错误,管理可视化,关注客户反馈和价值实现,运营成本小。
劣势:管理不当时容易造成范围蔓延,对团队成员和敏捷教练要求较高,每个冲刺都有额外的回归测试开销。
适用场景:变化驱动。需求不明确或变化频繁的产品,需要客户更多参与。
六、设计思维
特点:以人为本,以同理心体会用户痛点和感受为起点。进行定义、创意、原型开发和测试,交付解决方案满足用户需求。非线形流程系统化协作。
优势:以价值、体验和需求为中心可以获得更高满意度。 低风险投入。
劣势:对开发者要求高,需要社会科学、自然科学兼备、感性和理性思维兼具。用户主观感受容易变化,不易被准确把握。
适用场景:关注用户心智模式和应用环境。从用户感受出发。