官方网址:http://www.ones.ai
Scrum敏捷开发简介
Scrum敏捷开发是目前主流的软件开发模式之一,在了解Scrum在ONES.AI中的运用方法之前,先让我们了解下敏捷开发和Scrum,这有助于您了解和使用ONES.AI。
敏捷的诞生
在Scrum诞生前,软件研发一般采用瀑布式(Waterfall)开发。依据瀑布式开发模型,团队需要按照概念设计>>设计>>编程>>测试修正的顺序进行研发,早期一些大型软件产品以此模式开发并获得巨大成功。但是瀑布开发的弊端在二十世纪八十年代开始显露,比如软件问题频出,如何修补?每次修补的周期有多长?
为了解决这些问题,一些团队尝试着通过迭代来促进产品的增量开发,比如渐进式交付。不同于瀑布开发将各开发阶段一蹴而就,每个迭代版本是一个开发过程的完整切片,迭代周期可能短到一周,但分析、设计、编码、集成和测试等开发阶段一应俱全。而在采用瀑布开发的项目中,单个阶段也许就得花费数年时间。
随着迭代式和增量式开发方法不断涌现,这些方法被统称为轻量级(Lightweight)方法,直到2001年,多位专家共同发布敏捷宣言,正式把轻量级开发命名为敏捷开发(Agile)。
为什么选用敏捷开发?
推动敏捷开发的使用的动因是什么?最首要的就是来自于市场的压力,它逼迫我们用更少的成本来制作更符合真实客户需求的软件。但往往,我们在开始开发之初并不知道用户的真实需求是什么,也不知道如何才能更好地满足用户需求,这些知识实际上是在项目开发过程中逐渐产生的。
瀑布式开发的致命症结就在于它的预先设计(BDUFs,Big Design Up-Front)无法完全清晰,并且变更成本巨大,而Scrum在这方面有独特优势。
(图:明确用户价值所需的时间)
用Scrum的开发模式小步快跑,可以以速度最快、最经济的方式逐步加入满足消费者的功能,明确用户价值。
编者注:当项目处于alpha或者beta阶段时,有多少次你在内心曾经希望能时间静止,多给你几个月来打磨自己的产品?:P