項目管理講師推薦
速度和質量越來越成為軟件開發(fā)制勝的關鍵,然而管理人員和開發(fā)人員長期為以下問題所困擾,通過本課程的學習,將發(fā)現(xiàn)問題產生的根源以及行之有效的解決措施。
①.項目延期最本質的原因是什么?
項目進度緊張,開發(fā)人員常常沒日沒夜地加班,然而項目進度總是一延再延期。
②.如何有限的工期交付高質量的產品?
客戶對軟件產品質量要求高,而開發(fā)工期卻很短,很多項目在面臨這種情況,往往采用“先做完再說”的策略,其代價是客戶對質量的抱怨和大量的研發(fā)人力陷于救火之中。那么正確的策略又是什么呢?
③.如何做好需求分析并寫出高質量的需求文檔?
軟件需求規(guī)格的質量極大程度上影響了最終軟件產品的質量和項目開發(fā)效率,然而國內的工程師很少掌握需求分析方法,更不會寫需求文檔。
④.設計文檔該寫什么?怎樣寫?
開發(fā)人員通常也不知設計文檔該寫什么,分不清哪些內容屬于需求哪些內容屬于設計,設計文檔細化到什么程度?良好的設計文檔提升開發(fā)效率,劣質的設計文檔浪費開發(fā)時間。
⑤.如何有效開展評審?
評審是提升文檔和代碼質量的有效手段,然而為何評審效果總是不佳呢?沒人愿意參加評審,評審發(fā)現(xiàn)的往往是文字錯誤這樣膚淺的問題,評審活動流于形式。
⑥.如何有效測試?
某些項目要求做單元測試,結果花費不少精力,可是沒有發(fā)現(xiàn)多少問題。問題出在哪里?單元測試到底值不值得做?測試工作給測試人員帶來的挑戰(zhàn)是如何在有限的時間內盡可能多的發(fā)現(xiàn)軟件缺陷,如何面對這樣的挑戰(zhàn)?
⑦.進度非常緊張的項目應該走流程嗎?
某些企業(yè)有完善的流程體系,可是很多項目都不愿意按照流程做,最有說服力的理由是流程降低了開發(fā)效率。流程的本質到底是什么?進度非常緊張的項目到底該不該走流程?
⑧.如何解決QA和項目經理的沖突問題?
QA總是抱怨項目經理不走流程,項目經理總是抱怨QA不為項目做實事,反倒常!膀}擾”。有沒有方法扭轉這樣的局面?
⑨.……
思想性:凝聚質量管理大師的思想,結合軟件工程實踐方法,揭示軟件開發(fā)規(guī)律,透過案例分析深刻地理解效率與質量相統(tǒng)一的質量管理理念。
實踐性:本課程累計了十年來業(yè)界知名公司的大量成功案例、失敗教訓開發(fā)出來的,完全不同于通常的教科書或培訓所傳授的很難操作的理論,具有非常強的實踐性和可操作性。
針對性:針對國內項目經理和開發(fā)工程師的特點,針對國內軟件項目開發(fā)過程普遍存在的問題,有重點地進行剖析問題的本質,并給出經過實踐驗證的、行之有效的措施。
1.軟件質量管理的概述
本單元學習目標:掌握質量管理的一些重要的理念和主要概念,認識到通過有效的質量管理才能獲得開發(fā)的高效率
1.1.質量管理發(fā)展里程
1.1.1.研討:質量與效率關系
通過研討,讓學員體會到:效率和質量是孿生兄弟,是一體的兩面,遵循軟件開發(fā)規(guī)律和質量管理規(guī)律,在項目前期注入質量要素,才可能獲得項目開發(fā)整體上的高效率
1.1.2.介紹質量管理發(fā)展歷程
——質量靠個人保證
——質量靠測試保證
——質量靠設計保證
——質量靠流程保證
1.1.3.案例分析:質量管理對印度軟件業(yè)發(fā)展所起到的推動作用
實例來說明質量管理給企業(yè)帶來的是高效率,而不是效率的阻礙
1.2.從質量成本要效率、要質量
1.2.1.質量成本的定義
1.2.2.質量成本分類:預防成本、評估成本和失效成本
1.2.3.加強預防成本的投入,可從過程重用和技術重用兩方面提升效率和質量,變失效成本為利潤
1.2.4.從救火文化到預防文化的轉變
1.2.5.“一次把事情做對”的對提升開發(fā)效率的重要作用
1.2.6.十乘十乘十法則介紹,說明缺陷預防和把缺陷消滅在前期才能使項目獲得高效率
1.2.7.從軟件開發(fā)的缺陷分布來說明需求分析的質量如何影響整體開發(fā)效率的
1.2.8.案例分析:A公司有一個緊急項目,應該怎樣做?
面對緊急項目,多數(shù)管理者都會自亂陣腳,需求還沒有討論清楚,開發(fā)人員匆匆編碼,結果是返工、不斷地大量返工,項目進度被大大拖延了。
2.高質量的軟件需求分析和文檔化
本單元學習目標:掌握需求分析方法和需求文檔的寫作方法,從源頭上把控好項目的質量,減少返工,提高效率
2.1.需求的重要性
2.1.1.需求對項目的進度和質量影響
2.1.2.需求對測試活動和其它相關組的影響
2.2.需求開發(fā)典型問題
2.3.需求分析方法--系統(tǒng)工程
2.3.1.案例分享:華為軟件需求開發(fā)
2.3.2.系統(tǒng)工程活動(從市場需求到軟件需求規(guī)格)
2.3.3.系統(tǒng)定義產品需求的工具:$APPEALS
2.3.4.需求分析工具方法和工具,如場景分析法、UCD、原型
2.3.5.如何定義軟件可測試性需求(DFT)
2.3.6.需求跟蹤
2.4.案例分析:請分析某項目的需求文檔有什么問題,如何改進
通過案例,說明什么是好的需求文檔,進一步體會需求問題為項目帶來的后果。
2.5.高質量需求文檔的標準
2.5.1.好的需求文檔特點
2.5.2.需求文檔中避免出現(xiàn)的一些詞匯
2.5.3.演練:寫出一功能需求的輸出部分
2.6.總結:如何制定出高質量的需求文檔
3.高效率的軟件設計
本單元學習目標:剖析軟件設計常犯的錯誤,如何避免這些錯誤,寫出高質量的設計文檔
3.1.研討:我們做設計時,都常犯哪些錯誤
3.2.設計過程
3.3.設計基本原理和基本概念
3.3.1.基本分解問題、簡化問題的原理
3.3.2.抽象概念
3.3.3.層次化概念
3.3.4.模塊化概念
3.3.5.信息隱蔽概念
3.4.模塊分解
3.4.1.從開發(fā)總成本看模塊分解
3.4.2.模塊數(shù)據(jù)的合適數(shù)量
3.4.3.模塊分解的基本原則
3.5.概要設計要點
3.6.詳細設計要點
3.7.問題1:需求和設計界限不清
3.7.1.什么是需求,什么是設計,二者區(qū)別在哪里
3.7.2.接口描述在需求中還是在設計中
3.7.3.設計中數(shù)據(jù)描述和需求中數(shù)據(jù)描述有何不同
3.8.問題2:設計的層次和詳細程度問題
3.8.1.需要幾個層次的設計文檔合適
3.8.2.設計文檔的內容結構和不同層次文檔的內容銜接
3.8.3.詳細設計要詳細到什么程度
3.8.4.設計的層級和顆粒度的原則:使得開發(fā)效率最大化并滿足維護需要
3.8.5.示例:展示某嵌入式軟件概要設計文檔和詳細設計文檔,說明好的設計文檔是如何提高開發(fā)效率的
3.9.問題3:設計文檔的內容冗余問題
3.9.1.使用的數(shù)據(jù)設計工具時,文檔中的數(shù)據(jù)設計部分怎樣寫
3.9.2.使用設計建模工具時,設計文檔又怎樣寫
3.10.設計要考慮的其它因素
3.10.1.設計方案要進行重用和購買分析
3.10.2.設計要遵循高內聚、低耦合原則
4.有效評審
本單元學習目標:技術評審是質量控制非常高效的手段,通過本單元學習掌握技術評審有效過程和方法
4.1.評審的意義
4.1.1.盡早發(fā)現(xiàn)產品缺陷,減少返工代價
4.1.2.通過評審熟悉整個系統(tǒng)
4.1.3.促進參與人員之間的技術交流和相互學習
4.1.4.增進團隊交流,增加團隊凝聚力
4.1.5.使作者能高質量地完成工作產品
4.2.案例分析:剖析某項目的技術評審
4.2.1.案例中的評審過程存在哪些問題
4.2.2.在貴公司中,技術評審又存在哪些問題
4.2.3.對評審存在的問題有什么解決方法
4.3.評審的過程
4.3.1.計劃評審活動,正確地選擇評審專家
4.3.2.介紹會議,為有效評審做好準備
4.3.3.預評審是發(fā)現(xiàn)問題的關鍵階段
4.3.4.評審會議的目的確認問題而不是做技術交流
4.3.5.評審問題解決跟蹤確保問題全部得到正確解決
4.3.6.評審結果分析
4.4.技術評審FAQ
4.4.1.作者不愿意別人提出問題,評審人員為了顧及面子不愿意提出問題怎么辦?
4.4.2.評審人員把評審當成額外的工作,不愿意參加評審怎么?
4.4.3.評審人員的技能不足怎么辦?
——交叉工作模式介紹
——簡介敏捷開發(fā)的結對編程方法
4.4.4.評審人員只與評審對象部分內容部分相關,對他的評審又什么要求?
4.4.5.評審對象充滿了低級錯誤,或者有些技術問題作者還沒有考慮清楚,如何面對這種情況?
4.4.6.如何使評審檢查表效能最大化?什么時機使用?
5.有效測試
本單元學習目標:軟件測試工作在許多企業(yè)中都比較薄弱,存在眾多問題,通過本單元學習掌握克服這些問題方法,有效開展測試活動
5.1.研討:阻礙項目進行有效測試有哪些因素?
5.2.測試概述
5.2.1.測試的常見誤區(qū)
5.2.2.測試的心理學問題:測試的目的為了發(fā)現(xiàn)問題,不是為了證明程序是對的
5.2.3.測試的經濟學問題:如何在有限的時間盡可能發(fā)現(xiàn)更多的缺陷
5.3.測試分類
5.3.1.靜態(tài)測試 vs 動態(tài)測試
5.3.2.黑盒測試 vs 白盒測試
5.3.3.手工測試 vs 自動化測試
5.3.4.按階段分類:UT/IT/ST/Alpha測試/AT/Beta測試
5.4.測試過程
5.4.1.測試過程介紹,包括制定測試策劃和計劃、設計測試用例和測試環(huán)境準備、測試執(zhí)行、測試分析
5.4.2.測試活動在開發(fā)活動中的位置
5.4.3.如何制定測試策略
5.4.4.演練:分別為兩個項目制定測試策略
5.5.測試用例設計方法
5.5.1.什么是測試用例,用例的輸入和輸出通常有哪些
5.5.2.什么是黑盒方法
5.5.3.介紹等價類劃分方法
5.5.4.演練:用等價類劃分方法設計測試用例
5.5.5.介紹邊界值分析方法
5.5.6.演練:用邊界值分析方法設計測試用例
5.5.7.介紹判定表方法
5.5.8.介紹因果圖方法
5.5.9.介紹正交陣列方法
5.5.10.什么是白盒方法
5.5.11.介紹各邏輯覆蓋,如語句覆蓋、分支覆蓋、條件覆蓋、路徑覆蓋等
5.6.單元測試和集成測試
5.6.1.什么是單元測試
5.6.2.單元測試的投入產出比高嗎?剖析是否值得做單元測試
5.6.3.演練:如何針對給定的函數(shù)進行單元測試
5.6.4.單元測試基本概念(樁、驅動)介紹
5.6.5.高效單元測試過程
——用例如何寫
——怎樣打樁
——怎樣利用單元測試工具
——有效單元有哪些原則和注意事項
5.6.6.集成測試介紹
5.7.系統(tǒng)測試
5.7.1.功能測試介紹
5.7.2.性能測試介紹
5.7.3.安全性測試介紹
5.7.4.可恢復性測試介紹
5.7.5.兼容性測試介紹
5.7.6.界面測試介紹
5.7.7.演練:如何對測震儀產品進行測試
5.8.測試自動化
5.8.1.為何要自動化測試,自動化測試能帶來哪些價值
5.8.2.測試自動化工作建設的一些建議
5.9.有效測試管理
5.9.1.測試人員技能規(guī)劃
5.9.2.測試人員職業(yè)發(fā)展規(guī)劃
5.9.3.測試過程資產庫和測試用例庫建設
6.缺陷管理和質量度量
本單元學習目標:掌握軟件缺陷管理過程和方法,通過缺陷管理、質量的度量評估和和改進項目開發(fā)過程
6.1.缺陷管理
6.1.1.缺陷管理的三個層次
——單個缺陷的生命周期管理
——項目級缺陷管理
——組織級缺陷管理
6.1.2.缺陷管理意義
——確保每個缺陷被有效解決
——從缺陷數(shù)據(jù)來看,如何改進開發(fā)和測試過程
——利用缺陷庫有效地預防缺陷和解決缺陷
6.1.3.案例分享:華為缺陷管理
6.2.缺陷度量和分析工具
6.3.變更管理
6.3.1.變更管理過程
6.3.2.變更控制委員會(CCB)
6.4.質量回溯
7.質量保證和過程質量
本單元學習目標:了解過程的重要性,剖析流程不被執(zhí)行的原因,如何通過QA保證流程有效在項目中實施
7.1.質量保質和質量控制
7.1.1.區(qū)分質量保證和質量控制
——質量控制關注產品,被動的,去發(fā)現(xiàn)缺陷
——質量保證關注過程,主動的,去預防缺陷
7.1.2.從質量鐵三角看過程的重要性,僅僅是牛人和工具是無法保證項目成功的
7.1.3.流程本質是什么
——流程是最佳實踐的固化,不應是降低效率的官僚體系
——關注過程的項目和不關注過程的項目效率對比
7.2.產品質量和過程質量
7.2.1.軟件產品質量的定義
——開發(fā)者的質量觀:滿足規(guī)格
——客戶的質量觀:適用
7.2.2.什么是過程質量,從三個方面說明
——組織級流程定義質量
研討:從“不拉馬的士兵”看到什么?
剖析為何許多項目不愿意走流程,或者走了流程效率反而會下降。
CMMI模型和敏捷方法的介紹與對比。
——項目級流程裁剪質量
——過程執(zhí)行的質量
7.2.3.過程質量定義以及過程質量和產品質量的關系
——好的過程體現(xiàn)了產品質量要求
——過程質量決定了產品質量
7.2.4.演練:如何在項目計劃中體現(xiàn)質量要素
7.3.QA的角色和職責
7.3.1.研討:在項目中,QA的目標和項目經理的目標是否相同?
——剖析QA和項目經理常常發(fā)生沖突的根源
——國內QA普遍的角色錯位
7.3.2.QA的律師角色
7.3.3.QA的教練角色
7.3.4.QA的醫(yī)生角色
7.3.5.QA的警察角色
7.3.6.QA的牧師角色
7.4.過程引導
7.4.1.過程引導的必要性:僅有培訓不足以讓流程執(zhí)行者具備執(zhí)行流程的能力
7.4.2.QA進行過程引導的方法
7.4.3.演練:針對項目的某些場景如何進行流程的引導
7.5.審計工作
7.5.1.過程審計的必要性:發(fā)現(xiàn)過程問題,及時糾正
7.5.2.幾種錯誤的審計方式介紹
7.5.3.正確的審計方式和過程
7.5.4.如何正確地寫審計報告
8.研討與總結
8.1.學員提出有針對性的問題,進行研討
8.2.學員對課程的收獲進行總結
8.3.講師對課程做總結
孫豪亮:高級講師,高級咨詢顧問
專業(yè)背景:華中科技大學(原華中理工大學)計算機科學與技術學士,北京大學工商管理碩士,具備17年產品研發(fā)、研發(fā)管理、質量管理及研發(fā)過程改進咨詢經驗。
在華為任職9年,歷任項目經理、系統(tǒng)工程師,全IPD流程參與多款華為新產品和平臺研發(fā)和研發(fā)管理,積累了豐富的高、中、低端全系列產品/平臺的集成開發(fā)經驗。兩款華為產品/技術平臺:作為項目經理參與第一代智能光網絡產品平臺ASON開發(fā)
兩款華為產品/技術平臺:作為項目經理參與第一代智能光網絡產品平臺ASON開發(fā)(IPD+CMM)、作為高級系統(tǒng)工程師參與中央研究部新一代公司級技術平臺VRP V8開發(fā)(IPD+敏捷);
三款華為第一代產品:智能光網絡產品、分組交換(PTN)產品、多業(yè)務接入(ATN)產品。
咨詢背景:為二十多家高科技企業(yè)做過研發(fā)管理咨詢服務,涉及領域包括電子、醫(yī)療、航空、軍工、電力、工程機械、儀器儀表、家電、手機、食品飲料等。主要咨詢客戶有:成都天奧、安徽合力、上海良信、中電錦江、寧波方太、浙江金卡、深圳穗彩、廣州維力、電科航電、柳工歐維姆、蘇州天準、中電28所、燕京漓泉、湖南松井等。
培訓背景:專業(yè)課程:產品系統(tǒng)工程、研發(fā)項目管理、產品測試管理、研發(fā)質量管理、軟件測試管理、軟件質量管理、IPD+敏捷開發(fā)等。在深圳、北京、上海、成都等地舉辦培訓課程,提供培訓客戶涵蓋通信、軟件、機械、化工、儀器、電器、汽車、航空、材料等行業(yè),培訓客戶包括國電南自、聚光科技、海信、蘇州博眾、瑞斯康達、眾合科技、中國航空、宇通客車、聯(lián)合汽車、老板電器、康和化工、中電29所、創(chuàng)維集團、TCL、國電南自、公牛集團、許繼電源、正泰電器、長城開發(fā)等公司。