自动化开发敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都要经过测试。
一、自动化开发敏捷开发
介绍
自动化开发敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都要经过测试。
具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
对于没有完全接触过敏捷开发的人来说,看完还是觉得挺懵,但其实上面的话已经总结的挺好的了,但要理解上面那段话,还需要明白,为什么要进行敏捷开发。
众所周知(不知道的看看我之前的文章),产品(这里指APP,小程序或网站)从想法到原型图到UI设计图到开发到测试最终上线需要经过几个环节的流转,前前后后可能需要花上半个月到一个月的时间,需求比较复杂的时候可能需要花上几个月。
从管理学的角度来讲,一个团队如果超过7个人,效率就会越来越低下,团队保持7人的时候效率是较高的,所以敏捷开发也是运用了这一理念,把大的团队成员切分成7人的小分队,把大的需求也切分成许多小的需求,每个小团队负责每个小需求,一个团队包含一个产品经理,几个开发人员和一到两个测试人员就能运转了,具体人员分配还得看需求,比如有些需求后台复杂就安排多一些,有些前端复杂就安排前端人员多一些。一般两个星期就可以迭代一个版本,快速高效。
敏捷开发的优势和不足
敏捷开发优势在于把一艘大船变成许多条小船,每条小船各司其职,分配小目标,所有的小目标合起来就能完成大目标。效率高,每个人职责分明。
不足之处在于小团队做不到拥有开阔的视野,看不到所有团队都在一起做什么事情,大家只知道埋头苦干做好自己的部分就可以,但看不到全局,不知道全局发生了什么事情。对于一些不可分割的大需求,需要一次性派很多人手同时做的需求,敏捷开发就不再合适。
敏捷开发只适用于成熟的APP做高效的版本迭代,对于一些小需求小想法可以快速试错,抽一支小团队试试做不行就下线这个需求,灵活方便,但对于初创型或快速增长的公司不适合做敏捷开发。这个时候需要集中力量办大事,还是得采用传统的瀑布式开发。
所谓瀑布式开发就是大家最容易理解的,产品组,开发组测试组UI组相互合作一起做一件事情,做一套系统或者一个APP,耗时长可能几个月,但大家一起做,做同样的需求可以互相沟通协同作战,很多问题和困难讨论讨论就解决了,所以这也是瀑布式开发的优势。
延伸阅读:
二、螺旋式开发
螺旋式开发是由巴利 · 玻姆在 1988 年正式发表的软件系统开发模型,它兼顾了快速原型的法代特征及瀑布模型的系统化和严格监控,其最大的特点是引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减少损失。 同时,在每个法 代阶段构建原型是螺旋模型用来减少风险的方法。 螺旋模型更适合大型的昂贵的系统级的软件开发, 一开始应用的规模很小,当项目被定义得更好、更稳定时逐渐展开。其核心在于不需要 在刚开始时就把所有事情都定义清楚,可以先定义最重要的功能去实现它,然后听取客户的意 见,再进入下一个阶段,如此不断循环、重复,直到得到满意的产品。螺旋模型在很大程度上 是一种风险驱动的方法体系,因为在每个阶段及经常发生的循环之前,都必须先进行风险评估。