你好,歡迎使用CODING!這份最佳實踐將幫助你經過 CODING 更好地實踐瀑布流式開發流程。數據庫
1970 年溫斯頓·羅伊斯(Winston Royce)提出了著名的「瀑布模型」,直到 80 年代早期,它一直是惟一被普遍採用的軟件開發模型。瀑布模型要求軟件開發嚴格按照【需求→分析→設計→編碼→測試】的階段進行,每個階段均可以定義明確的產出物和驗證準則。瀑布模型在每個階段完成後均可以組織相關的評審和驗證。嚴格的瀑布模型每個階段都不能重疊,須要在評審經過後才能進入下一階段,遵循自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。安全
瀑布模型的優勢是能夠保證整個軟件產品的質量,保證缺陷可以被提早發現和解決。採用瀑布模型能夠保證在總體上充分把握系統,使系統具有良好的擴展性和可維護性。架構
博弈論(Game Theory)告訴咱們看起來利益最大化的策略並不能幫咱們達到最好的目標,而是要根據實際狀況來制定最合適的策略。一樣的,在軟件研發管理的戰略上,企業並不須要把全部的系統都換成最新、最快的,更重要的是根據業務模式的不一樣來匹配相應的管理模式和管理工具,讓研發和業務能同頻共振,而不是互相拖累。工具
不一樣部門的 IT 需求側重點各不相同。好比相似手機 APP 類應用,每每須要更靈敏的市場反應速度和創新能力,所以須要更有彈性的 IT 架構和快速迭代的軟件交付能力。相對而言,後臺支持性部門好比 ERP、數據庫等部門,其業務重心在於保持運營穩定、風險管控以及成本控制。所以,他們的 IT 需求偏重穩定、安全,對於快速響應能力和彈性架構的要求相對較低。這也是瀑布流式研發管理經久不衰的緣由。單元測試
第一步是在 CODING 中建立一個項目,以後全部的工做都在這個項目中完成。在確認好團隊成員後,就能夠邀請全部人加入到項目中來。每個項目都對應獨立的代碼倉庫,由於不少中後臺的研發項目會涉及到外部供應商的參與,獨立的代碼倉庫能夠確保數據的相對隔離,確保企業數字資產安全。測試
在邀請完全部成員後,項目經理就須要爲不一樣的角色配置相應的權限。瀑布流研發模式的核心在於安全和可控性,CODING 權限管理功能能夠幫助項目管理員方便地根據項目成員的角色來分配相應的權限,減小誤操做帶來的安全隱患,同時還支持自定義用戶組,增長研發管理的可控性。在項目開始的時候,由項目經理先行配置好全部成員的權限,確保團隊更有序地進行軟件開發。編碼
在配置完全部權限後,項目便正式進入研發階段。此時由項目經理開始文檔的撰寫,瀑布流式研發管理模式的特色就是各個階段都須要完備的文檔支持。spa
若是團隊中有產品經理的話,產品經理會經過 CODING 的需求管理功能建立一個需求池。產品經理將規劃上線的功能、用戶的反饋以及市場調研的結果整理出來,經過需求管理中需求的形式統一概括,造成需求池。同時項目經理對需求池中的需求進行進一步分析,根據團隊習慣將需求分爲技術問題、設計問題和產品問題。每一條需求下都會根據需求的複雜程度建立一系列子任務。.net
產品經理亦可在 Wiki 中根據需求撰寫完整的產品功能文檔。 同時可使用 CODING 的文件功能上傳分享產品的原型圖。 CODING 的文件功能和 Wiki 功能爲研發團隊提拱了內置的文檔協做和團隊知識沉澱工具。設計
完成產品的原型設計和功能說明文檔後,項目經理開始邀請研發團隊加入項目,由研發工程師開始進行相關功能的交付開發。若是需求中涉及設計團隊,研發工程師能夠直接在需求管理頁面經過關聯功能關聯相應的設計任務。
CODING 研發管理系統的代碼倉庫支持 Git 和 SVN 兩種主流版本控制方式,方便各種研發團隊快速上手。
瀑布流式研發管理中最看重的一點就是質量。CODING 內置的 Code review 功能和持續集成模塊是確保軟件研發質量的關鍵。
研發工程師開發完成後經過提交 Merge Request 進行代碼評審,經過代碼評審後 merge 進入 master 分支,確保代碼質量。
可以使用持續集成模塊進行自動化測試,在確保軟件質量的同時大幅節省開發人員的時間。CODING 的持續集成功能對每次提交的代碼不斷進行自動化的單元測試、代碼檢查、編譯構建、契約測試,甚至自動部署。在 CODING 持續集成模塊中能夠對持續集成功能進行設定,當開發者 push 代碼時,會自動觸發 CODING 持續集成,持續集成會自動編譯並測試該 commit。CODING 持續集成支持在任意階段觸發持續集。當開發者提交了一部分修改完成的代碼後,老是但願能夠快速、持續地獲得直觀且有效的反饋,以達到咱們持續快速交付的目的。這也是 CODING 持續集成功能所但願達到的目標。
CODING 的持續集成預置了大量的構建環境鏡像,例如 Java、Python、NodeJS 等等。同時還支持 Docker 鏡像構建,讓開發者能夠快速上手。
當持續集成經過後,即可以把代碼更新到 staging 環境。
更新 staging 的代碼後,開始由測試人員進行相關測試。全面完善的測試也是確保軟件質量的關鍵。在 CODING 的測試管理模塊中能夠方便高效地編寫測試用例和建立測試計劃。
當開發進行到測試階段後,測試工程師即可以直接在平臺上執行測試計劃,並在計劃中的每一個用例裏標註測試結果,如測試未經過則需記錄相應的錯誤信息。
若是測試出現問題則會直接反饋到產品,再由產品分配開發進行修復,如此反覆直到達到能夠交付的標準。
大部分瀑布流式研發管理會涉及企業核心的中後臺數據和代碼。這就使得數字資產安全成爲重中之重。CODING 的安全簡介詳見:連接
點擊當即使用 CODING 進行瀑布流式研發