经历过传统的软件开发过程,后来接触敏捷开发实践, 从跨进Startup的第一天就起,Scrum就作为团队开发流程管理的真经开始发功。 但是渐渐Lean Startup的思想深入团队,在创业过程中却体会到了Scrum隐藏的危险。

比如:

  • Scrum强调需求明确,问题已知(lean适合问题未知,通过实验循环逼近)
  • Scrum过于强调工程品质,如期完成任务(lean强调做什么很重要)
  • Scrum固定开发周期和不必要的估算(startup项目未知因素很多,时刻会因验证失败调整方向,不可能提前预估);
  • Scrum为保护工程团队不受干扰,把团队角色分成owner和dev两块(startup只有一个Team,同是要兼顾做什么怎么做)

种种scrum的不灵活,有时候甚至会因此影响效率和最佳出击时机。 为了达到更有效率的开发过程,我了解了kanban, 有张图形象地表达从软件开发过程以来,各种方法学规范逐渐变少,kanban只剩三条,再后面就是“do whatever” 总结这些变换成一条就是“少即是多”。

Software development process changes

Kanban具体实施强调三点:

- 流程可视化
- 限制WIP(每个状态同时进行任务)
- 度量生产周期(量化团队战斗力)

但是软件开发没有“银弹”,时刻谨记敏捷宣言第一条“个体和交互胜过过程和工具”。