在互聯網系統中開發效率與系統穩定性與產品成敗非常相關開發效率在一定程度反映了團隊的執行力快速開發能力帶來了產品的競爭優勢系統穩定性(包括安全及性能等)則是產品的後防線稍有失誤則會給產品帶來很大傷害因此開發效率與系統穩定性是衡量互聯網系統開發成熟度最重要的兩個指標
在軟件開發周期不同階段這兩者如何控制?
在需求階段對開發效率的影響常見的是溝通理解偏差帶來的技術風險之外最常見的還有需求變更的風險後者大多是來自市場環境的變化作出調整技術主管更多的是積極心態去應對但對前者溝通理解偏差導致效率問題也不罕見更值得警惕
在技術設計階段最大的風險是技術方案找個無需多講考驗團隊的架構能力以及對當前系統的駕馭程度
開發階段最大的風險是單元測試不到位或缺失很多號稱敏捷型項目依賴在線上測試及修改當模塊增多後這樣代碼健壯性就會變得比較脆弱不少團隊也會越走越慢
Review階段風險是簡潔性及性能除了壓力測試能達標之外警惕那些不易懂的代碼這些代碼將來會成為事故多發地帶
部署階段最大的風險是上線計劃把控上線過程中操作錯誤的情況並不罕見如去年Amazon EC的故障就是由於操作失誤造成
從宏觀看來技術方案的風險最大由於模塊很多具有豐富經驗的高手不可能參與每一個環節這就會出現木桶的短板效應架構師認為不重要的地方總是會出問題給用戶體驗造成極大傷害
另外還有團隊文化的風險大部分團隊很難形成書面交流的習慣口頭溝通需求討論方案對創業團隊非常適合在團隊變大之後這樣的習慣會造成信息流動障礙可能會給工作效率帶來更多負面問題同時大部分團隊也對流程模板規范缺乏了解與重視過多依賴參與人的內部驅動力及能力無法依靠制度與流程來取勝
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27560.html