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