一、自動化開發(fā)敏捷開發(fā)
介紹
自動化開發(fā)敏捷開發(fā)是以用戶的需求進化為核心,采用迭代、循序漸進的方法進行軟件開發(fā)。在敏捷開發(fā)中,軟件項目在構建初期被切分成多個子項目,各個子項目的成果都要經過測試。
具備可視、可集成和可運行使用的特征。換言之,就是把一個大項目分為多個相互聯(lián)系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態(tài)。
對于沒有完全接觸過敏捷開發(fā)的人來說,看完還是覺得挺懵,但其實上面的話已經總結的挺好的了,但要理解上面那段話,還需要明白,為什么要進行敏捷開發(fā)。
眾所周知(不知道的看看我之前的文章),產品(這里指APP,小程序或網站)從想法到原型圖到UI設計圖到開發(fā)到測試最終上線需要經過幾個環(huán)節(jié)的流轉,前前后后可能需要花上半個月到一個月的時間,需求比較復雜的時候可能需要花上幾個月。
從管理學的角度來講,一個團隊如果超過7個人,效率就會越來越低下,團隊保持7人的時候效率是較高的,所以敏捷開發(fā)也是運用了這一理念,把大的團隊成員切分成7人的小分隊,把大的需求也切分成許多小的需求,每個小團隊負責每個小需求,一個團隊包含一個產品經理,幾個開發(fā)人員和一到兩個測試人員就能運轉了,具體人員分配還得看需求,比如有些需求后臺復雜就安排多一些,有些前端復雜就安排前端人員多一些。一般兩個星期就可以迭代一個版本,快速高效。
敏捷開發(fā)的優(yōu)勢和不足
敏捷開發(fā)優(yōu)勢在于把一艘大船變成許多條小船,每條小船各司其職,分配小目標,所有的小目標合起來就能完成大目標。效率高,每個人職責分明。
不足之處在于小團隊做不到擁有開闊的視野,看不到所有團隊都在一起做什么事情,大家只知道埋頭苦干做好自己的部分就可以,但看不到全局,不知道全局發(fā)生了什么事情。對于一些不可分割的大需求,需要一次性派很多人手同時做的需求,敏捷開發(fā)就不再合適。
敏捷開發(fā)只適用于成熟的APP做高效的版本迭代,對于一些小需求小想法可以快速試錯,抽一支小團隊試試做不行就下線這個需求,靈活方便,但對于初創(chuàng)型或快速增長的公司不適合做敏捷開發(fā)。這個時候需要集中力量辦大事,還是得采用傳統(tǒng)的瀑布式開發(fā)。
所謂瀑布式開發(fā)就是大家最容易理解的,產品組,開發(fā)組測試組UI組相互合作一起做一件事情,做一套系統(tǒng)或者一個APP,耗時長可能幾個月,但大家一起做,做同樣的需求可以互相溝通協(xié)同作戰(zhàn),很多問題和困難討論討論就解決了,所以這也是瀑布式開發(fā)的優(yōu)勢。
延伸閱讀:
二、螺旋式開發(fā)
螺旋式開發(fā)是由巴利 · 玻姆在 1988 年正式發(fā)表的軟件系統(tǒng)開發(fā)模型,它兼顧了快速原型的法代特征及瀑布模型的系統(tǒng)化和嚴格監(jiān)控,其最大的特點是引入了其他模型不具備的風險分析,使軟件在無法排除重大風險時有機會停止,以減少損失。 同時,在每個法 代階段構建原型是螺旋模型用來減少風險的方法。 螺旋模型更適合大型的昂貴的系統(tǒng)級的軟件開發(fā), 一開始應用的規(guī)模很小,當項目被定義得更好、更穩(wěn)定時逐漸展開。其核心在于不需要 在剛開始時就把所有事情都定義清楚,可以先定義最重要的功能去實現(xiàn)它,然后聽取客戶的意 見,再進入下一個階段,如此不斷循環(huán)、重復,直到得到滿意的產品。螺旋模型在很大程度上 是一種風險驅動的方法體系,因為在每個階段及經常發(fā)生的循環(huán)之前,都必須先進行風險評估。