1. 項目管理
1.1 激勵組員:傳達願景,產品發展,個人成長,人崗匹配,靈活激勵,身先士卒,活動多樣。
1.2 有效溝通:換位思考,因人而已,把握時機,隨時溝通。
1.3 高效會議: 提前計劃,明確議題;外部專家,會前確認;開門見山,直入主題;頭腦風暴,切忌發散;記錄結論,及時歸檔。
1.4 合理計劃:QA引導,全員參與;參考基線,科學估計;重視風險,預留buffer;重大變更,及時調整。
1.5 及時監控:項目計劃,例行跟蹤(明確責任人、跟蹤人和完成時期);任務清楚,目標明確(大膽放手,細緻監控);定期檢查,確保進度(分享好的工作方法);外部依賴,專人跟蹤。
2. 軟件需求
2.1 理解SOW:場景分析,比不可少(SE負責特性應用場景分析,把特性做功能分解分配,根據模塊指定責任人,給出粗的設計思路);SOW評審,閉環溝通(SE講解->組員思考、提問->跟SE反饋、交流);遺留問題,持續跟蹤。
2.2 透析需求,達成共識: 充分求助,大練內功(plan的SRS階段前期,找牛人培訓->自我學習->開會交流心得->彙報學習成果);指定專家,技術把關(項目經理理解特性和需求->與專家面對面交流,當面確定修改方案);時間充足,充分討論(先讓項目每個成員都非常清楚項目內容);外部接口,明確定義;交叉串講,理解一致。
3. 軟件設計
3.1 確定方案:繼承需求,集思廣益,層層細化。
3.2 關注性能: 經典案例,提前學習;專家把關,整體優化;關鍵算法,注重效率;性能指標,仿真驗證。
3.3 寫好文檔:接口定義,單獨成文(接口較多,單獨成文;請專家評審,確保一致);藉助工具,提高效率;風格統一,圖文並茂(“一紙通”、“鳥瞰圖”)。
4. 軟件編碼
4.1 編程規範:學習規範(將不規範和規範的共同評審,找出差距);編寫樣例;代碼抽查。
4.2 高效編碼:公共文件,統一管理(公共文件、Makefile);排除干擾,保持連貫;編檢交叉,有張有弛(編碼階段,每天1~2小時內部交叉review;每編寫200行時review;到1000行時,再次review)。
4.3 有效review:九字箴言,倒背如流;review目標,心中有效(選擇重點代碼給外部專家評審);技術專家,合理選擇;內部積分,公開表揚(積分只有開發代表、項目經理和QA能看到);review問題,閉環跟蹤。
5. 單元測試
5.1 端正態度:轉變觀念,重視UT(使用專門工具,提高效率);保證投入,切忌壓縮(UT和code的工作量比例1:1合適)。
5.2 安排人員:UT人員,作者首選(誰的代碼誰測試);新人加入,加強指導(進行指導和監控)。
5.3 設計用例:用例依據,詳細設計(根據功能而不是依據處理流程分支);輸入輸出,多點關注(邊界、返回結果要依據功能);優秀用例,相互共享;用例密度,千行四十(每1000行單元測試測試用例至少40個)。
5.4 執行UT: UT進展,一日一報(測試投入時間、測試發現缺陷數、測試代碼行、測試用例數);公共問題,組內知曉(庫函數); UT環境,提前準備(測試工具的學習、實例演示、加強感性認識);功能爲主,形式多樣(覆蓋率;UT不僅是打樁,做驅動,還有單步跟蹤,Review);缺陷過少,審視用例。
6.系統測試
6.1 用例完備:突出應用;加強指導(對STC進行Review,保證STC的質量);關注異常(邊界值、非法值、特殊值);符合要求(SRS階段要求系統測試用例達到12個Case/1KLoc)。
6.2 有的放矢:檢驗共享,有的放矢(ST方面的通病:測試能力不夠,積極性不高。目標明確,細化,5bug/人周);交叉測試。
6.3 專家專用:明確責任;儘早介入;專家專用(達到什麼要求才算通過驗收測試,瞭解TC常用的測試手段和方法)。
7.Review
7.1 計劃周詳:時間明確;劃分範圍,細分責任;目標牽引;及早知會。
7.2 專家投入:篩選專家;獲取承諾,提前溝通;定時跟蹤(每天想評審專家要評審意見);激勵專家(及時感謝,積分獎勵)。
7.3 數據說話:數據收集(問題嚴重程度,評審投入時間);數據分析(有效性分析、四象限分析、根因分析,採用頭腦風暴、魚骨圖、柏拉圖);再次評審。
8.度量
8.1 例行收集:強化意思;培訓引導(日誌填寫規範,review工具使用的培訓);每週跟蹤(計劃偏差->及時跟蹤->改進)。
8.2 度量分析:分析什麼(UT階段缺陷分析,SRS階段分析實際缺陷是否達到質量要求);怎麼分析。
8.3 結果應用:確定方案;閉環跟蹤;缺陷預防(coding之前就要進行針對性培訓)。
9. 配置管理
接口變更,必知會;CR提交要及時(設計階段發現需求發生變更,及時提交CR單,相關的接口組合開發代表都要評審通過);及時基線化;變更有跟蹤。
10. 新員工培養
10.1 培養計劃巧安排: 因人而已;計劃周密;言傳身教(以老帶新)。
10.2 溝通凡是講技巧:指明改造點,對事不對人(及時私下溝通,瞭解其真實想法);響鼓不重錘(點到爲止,不怒自威)。
10.3 快速成長靠激勵:團隊導向,鼓勵參與,及時表揚(Review組織得好,文檔規範,提前發現問題)。
11. 團隊建設
11.1 團隊氛圍:公平分配,考慮差異是基礎;活動形式多樣化。
11.2 緩解壓力:適度的壓力傳遞;愉快的工作心情;明確的權利責任(用於承擔80%的責任,把80%的功勞歸於整個團隊)。
11.3 關心員工:摸摸情況,對症下藥;將心比心,換位思考(生日,名字,邀請對方到家中做客);樹立榜樣,加強監控(進度報告,總結報告);新老員工,用其所長;批評表揚,旗幟鮮明;調整工作,壓力適度(新鮮感,同時增加一定壓力)。
九字箴言:
1. 看見if, 就想到else
2. 看見malloc,就去找free
3. 函數調用要小心,需要看看返回值
4. 看見for循環,就找邊界值
5.看見return要注意,要去前面找資源(內存、端口)
6.看見數組把神提,問題往往在下標
7.不要小看字符串,長度是個大問題
8.得到函數不要急,看看變量初始化,各種路徑要小心
9.賦值函數最危險,變量沒有初始化。