講敏捷開發的太多了,我只說下個人理解
對於現在用戶要求的最短時間對需求的響應,好像迄今也只有敏捷開發足夠緊密的版本迭代模式能夠適應。但是敏捷開發模式其實不僅僅是敏捷+開發而已,這是一種研發模式,而不僅僅是開發瘋狂coding可以搞定的。
任何事情都需要條件,我只說我看到的:
A. 足夠數量的服務器;
B. 一專多能的技術人員;
C. 全程測試,自動化測試,版本發佈自動化;
D. 儘可能少的文檔;
E. 圓桌辦公;
F. 效率優先。
A. 爲什麼需要足夠數量的服務器,因爲灰度升級,快速迭代發佈版本,總不能一直按照現有的晚上十二點以後升級吧,這樣每週搞一次通宵,神仙都熬不住,你聽說過qq發佈消息說:今晚要系統升級,大家都洗洗睡吧?必須構建條件,任何時候都能升級;
B. 專業程度越來越高,導致角色的分工到後來成爲了交流的壁壘,這麼小團隊,要效率就需要一專多能,一專是你需要做好本職工作,多能才能更好的溝通,不但瞭解更要理解別人在做什麼,爲什麼這麼做;
C. 全程測試的意思是,從架構設計一開始,重要的技術要點就要驗證,沒有經過驗證就直接開工,相當於不打地基直接修高樓;自動化測試方案一早就要制定,準確的說是半自動化測試方案,否則全人工測試是不可想象的;版本發佈自動化,可靠的環境和數據維護和設計,是半自動化測試的基礎;
D. 儘可能少的文檔,可惜現在的代碼編輯器都是文本的,否則都應該直接把算法描述,對應的接口,測試用例等等要素圖文並茂的寫進代碼文檔,既然一定要分開寫代碼和文檔,核心的文檔必須要不斷更新維護,比如設計文檔;
E. 以前大項目使用工具,實現全流程的信息化管控,任何一個需求誰什麼時候提出的,誰跟進的,哪個開發和測試完成的,都會全流程透明,優點是全流程透明可控,缺點是靠郵件,靠工具進行交流,效率低下。移動互聯網要的是效率,直接圓桌隨時多對多交流,互相學習互相促進,工作改進不再靠全面數據蒐集與度量,而是關鍵數據蒐集與改進;
F. 移動互聯網行業的特點是創新,創新就意味着做十個東西掛掉九個,所以這個行業真正比的是挖地雷,一方面判斷準確率要高,其次要速度足夠快,效率優先,所有的一切都要給效率讓道,最極端的情況是項目只有代碼。項目計劃?白板上每天更新;設計文檔?大家草稿紙上明確;測試用例設計?口頭達成一致。還有什麼是一定要的?版本第一時間發佈纔是王道。
敏捷開發的本質就是病毒生存,每個病毒都很小,但是病毒變異進化的速度極快,生存的唯一法則就是變化,高速變異適應環境,一旦條件具備就瘋狂擴散。