昨天谈了传统的瀑布式开发模型,今天开始说说敏捷开发。叶云想说,敏捷开发是以用户的需求进化为核心,采用不断迭代、循序渐进的开发方法对软件进行开发。叶云认为,敏捷开发的核心就是常说的“小步快跑、快速迭代”这八个大字,主要分以下三点说明。第一,团队先要把一个很大的项目(比如史诗级故事),拆解为多个相互有联系且可独立运行的小任务,并分别独立完成,最终目标是追求各模块间的“高内聚”与“低耦合”。第二,敏捷开发先要开发出一个最小化可执行产品(即MVP),先抛向市场,让市场用户去验证和引导产品的开发方向,然后根据市场反馈,及时不断调整产品方向,这样做可以有效规避掉许多不必要浪费的时间、人力和金钱等成本损失。第三,真正的敏捷开发还可以减少因受限于个人过往经验、盲目自大等原因而导致的失败,因为真正的产品需求一般都是从市场中寻得的。叶云还想说,敏捷开发过程中的敏捷度,有很大一部分因素是由团队的整体效率决定的。叶云觉得,既然要追求敏捷度,那就要真正允许团队可以犯错和试错,并彻底解决“报喜不报忧”的恶习,需要建立一套“实事求是”的团队文化。