应用软件的“敏捷开发”模式:从小米MIUI谈起
扫描二维码
随时随地手机看文章
小米手机的用户或许已经发现,手机所使用的Android ROM“MIUI”,自推出以来每周都会发布一次更新。小米CEO雷军曾表示,MIUI采用了敏捷开发(agile develolment)的模式,因此可以在短时间内完成开发,实现软件快速迭代。用户对MIUI这一ROM的质量或许见仁见智,不过,什么是“敏捷开发”?
作为一种相对新颖的产品开发模式,敏捷开发这一概念提出于2001年2月。当时17名软件工程师在美国犹他州Snowbird举行会议,讨论轻量级软件开发方法,并发布了《敏捷软件开发宣言》。这标志着敏捷开发的诞生。这一模式随后被硅谷创业公司大量应用,并于近几年被引入国内。
最初的“敏捷宣言”强调:个人和互动比流程和工具更重要;可运行的软件比复杂的文档更重要;与客户的合作比合同谈判更重要;对改变的响应比跟随计划更重要。
因此在敏捷开发模式中,一个项目被分解为多个部分或多个步骤。在每个阶段完成后,项目都可以拿出一定程度可交付的产品。这样做便于实现产品交付目标,降低整个项目的复杂度,同时在项目早期就能拿出初具雏形的产品。
以MIUI为例,早在2010年,MIUI就已经出现,并逐步培养起了一批用户。然而,最初版本的MIUI仅仅只是Android系统的一个界面。当前MIUI中用户熟悉的语音助手、应用超市、防打扰功能,甚至手电筒应用,都没有被包括在其中,而是在过去3年的开发过程中逐渐加入。每周的更新中,有相当一部分是为了修复bug所做的更新,这也是分用户觉得它“为了更新而更新”的原因。
总的来说,敏捷开发要求团队有极高的执行力:增量开发目标提出来容易,但是能力不够就不能按时交付——这也是许多企业在实际执行中,发现项目无法获得预期效果的原因。同时要求测试驱动开发,以便出现问题时,能迅速定位是由哪一步、哪个模块引起。而作为创业型公司,“快速迭代”能在初期吸引足够拥趸,从而为后期推广铺平道路。