作者:探碼科技, 原文鏈接: http://nbbskj.com/tech-blog/440
優秀的開發理念和框架,來自團隊的文化和信仰;本文介紹內容基于探碼TMF開發教條延伸討論,下面介紹了敏捷開發的幾個要點,同時總結一些實用思路。
瀑布模型開發模式是傳統組織架構形式的公司比較歡迎的一種開發模式,或者說甲方和領導比較喜歡的方式,因為每個步驟可控、結果可考核,分工明確。如圖所示。
圖片來自:?http://johng.cn/soft-dev-mode-comparison/
但是由于目前市場的急劇變化,軟件的生命周期甚至縮短到以周為升級單位,瀑布模型的冗長溝通機制就顯得非常笨重了,出現經常被推翻重來的情況,未來擁抱變化,大部分公司都開始擁抱敏捷開發模式。
關于Scrum敏捷開發模式的介紹可以看這里: What is Scrum,這里只講解探碼適用的場景,我們在啟動一個項目的時候,往往不是從零開始的,而且是通過TM-Framework,或者our-basic-rails開始, our-basic-rails是一個在Ruby on Rails上集成了探碼最佳實踐的Web開發框架。
如下圖所示,敏捷開發的前期工作主要是搭建團隊的技術框架,首先按照公司的技術棧和過往經驗,構建一個基礎開發環境出來,然后基于這個環境,分解客戶需求為無數個版本,每個版本的功能可羅列出來,細節明確,邊界條件明確,然后進行開發。
這里很有意思的一點是“重復這個循環,直到時間用完,錢花光”,這是一個非常有說服力的營銷思路,也是敏捷開發思路,多大的時間和資金預算,支撐多少的版本迭代;軟件永遠沒有最完美的版本,只有不斷升級的適應當前變化的版本。
甲方根據任務優先級,擬定一個開發任務包作為一次版本迭代,每一個版本都按要求走完需求、設計、開發、測試和上線整個流程,同時對每個版本進行工作量評估和單獨立項結算。
將整個迭代版本生命期劃分為計劃與需求、產品設計、詳細設計、編碼與單元測試、集成與測試、移交等六個階段,或者簡化為4個階段,各階段所占工作量如下表所示。
序號 |
階段(端點) |
工作量% |
1 |
需求與計劃 |
20 |
2 |
原型與設計 |
30 |
3 |
開發與測試 |
40 |
4 |
交付于培訓 |
10 |
這個結論是建立在探碼科技自建的gitlab項目管理軟件之上的,不一定適用于其他團隊,探碼內部的協作主要是通過gitlab+即時溝通軟件來完成。
?
參考資料:?https://www.scrum.org