如何構(gòu)建混合型(預(yù)測(cè)+敏捷+DevOps)項(xiàng)目管理體系及實(shí)踐案例(敏捷和混合項(xiàng)目管理)
混合型項(xiàng)目管理實(shí)踐案例
瀑布、敏捷和DevOps等等管理方法各有優(yōu)劣,很多公司在推進(jìn)項(xiàng)目管理體系的時(shí)候,由于不同的環(huán)境選擇的方法也各不相同,很多時(shí)候需要綜合運(yùn)用多種方法的實(shí)際上形成了混合型項(xiàng)目管理,今天為大家分享一個(gè)混合型項(xiàng)目管理實(shí)際案例,供大家借鑒參考。
某主題App業(yè)務(wù)介紹
1、產(chǎn)品
致力于為消費(fèi)者提供精品原創(chuàng)的個(gè)性化手機(jī)主題、表盤(pán)、字體、壁紙、AOD、鈴聲、美化等業(yè)務(wù),秉持“匠心設(shè)計(jì),靈感點(diǎn)亮生活”的品牌理念,助力全球優(yōu)秀設(shè)計(jì)師、藝術(shù)家、開(kāi)發(fā)者等內(nèi)容生產(chǎn)者的優(yōu)質(zhì)作品獲得全球曝光及豐厚回報(bào)。
2、服務(wù)
能夠?yàn)橛脩?hù)提供主題商店和主題內(nèi)容管理服務(wù)、會(huì)員服務(wù)、造字服務(wù)、評(píng)論、社區(qū)和互動(dòng)服務(wù)、活動(dòng)及福利服務(wù)。
3、結(jié)構(gòu)
從設(shè)計(jì)架構(gòu)上看,該應(yīng)用可分為服務(wù)器端(即云端)和客戶(hù)端,其中客戶(hù)端可裝在手機(jī)、平板、車(chē)機(jī)等電子產(chǎn)品上。
某主題App項(xiàng)目所處的環(huán)境
1、外部環(huán)境(VUCA 烏卡):
Volatility(易變性):移動(dòng)端用戶(hù)欲望的變化,催生更多的需求變化;
Uncertainty(不確定性):市場(chǎng)環(huán)境、行業(yè)環(huán)境和顧客需求的不確定高;
Complexity(復(fù)雜性):項(xiàng)目面臨的諸多條件間的相互關(guān)系導(dǎo)致的復(fù)雜性越來(lái)越高;
Ambiguity(模糊性):對(duì)現(xiàn)實(shí)的模糊,是各相關(guān)方誤解的根源,各種條件和因果關(guān)系的混雜;
2、內(nèi)部環(huán)境:
組織沖突:制定決策的管理者與受這些決策影響的人之間存在的組織沖突;
利益沖突:相關(guān)方因位置不同導(dǎo)致的利益不一致;
客戶(hù)、合作方
角色:項(xiàng)目經(jīng)理、SE(系統(tǒng)設(shè)計(jì)師)、開(kāi)發(fā)、測(cè)試
VUCA環(huán)境下某主題App項(xiàng)目怎么做?
VUCA時(shí)代的不確定性和復(fù)雜性模型
不確定性和復(fù)雜性,導(dǎo)致不同的項(xiàng)目生命周期類(lèi)型;
- 預(yù)測(cè)型:這是一種更為傳統(tǒng)的方法,提前進(jìn)行大量的計(jì)劃工作, 然后一次性執(zhí)行?!酒俨夹?、基建工程項(xiàng)目為例】;
- 迭代型:這種方法允許對(duì)未完成的工作進(jìn)行反饋,從而改進(jìn)和修改該工作。【軟件開(kāi)發(fā)、管理咨詢(xún)】;
- 增量型:這種方法向客戶(hù)提供各個(gè)已完成的,可能立即使用的可交付成果。【地產(chǎn)開(kāi)發(fā)樣板間】;
- 敏捷型:這種方法既有迭代,也有增量,便于完善工作,頻繁交付?!拒浖_(kāi)發(fā)、管理咨詢(xún)】;
某主題App項(xiàng)目生命周期的選擇
一、預(yù)測(cè)模式:
PMBOK指南(第六版/第七版)(PMI);
在項(xiàng)目生命周期的早期階段確定項(xiàng)目范圍、時(shí)間和成本;
二、敏捷模式:
敏捷實(shí)踐指南(PMI-ACP);
需求范圍在迭代開(kāi)始之前就得到了定義、評(píng)估和批準(zhǔn);
三、DevOps模式:
《DevOps實(shí)踐指南》;
基于精益原則、約束理論、豐田生產(chǎn)系統(tǒng)、學(xué)習(xí)型組織等知識(shí)體系的集大成者;
DevOps三步工作法:流動(dòng)原則、反饋原則、持續(xù)學(xué)習(xí)與實(shí)驗(yàn)原則;
三張模式詳解
1、預(yù)測(cè)模式(軟件開(kāi)發(fā)生命周期,也稱(chēng)為瀑布模式)
預(yù)測(cè)型生命周期:預(yù)計(jì)會(huì)從高確定性的明確的需求、穩(wěn)定的團(tuán)隊(duì)和低風(fēng)險(xiǎn)中獲益。因此項(xiàng)目活動(dòng)通常以順序方式執(zhí)行,如下圖:
2、敏捷模式
1)迭代型生命周期
迭代型生命周期通過(guò)連續(xù)的原型或概念驗(yàn)證來(lái)改進(jìn)產(chǎn)品或成果。每一個(gè)新的原型都能帶來(lái)新的相關(guān)方新的反饋和團(tuán)隊(duì)見(jiàn)解。然后,團(tuán)隊(duì)在下一周期重復(fù)一個(gè)或多個(gè)項(xiàng)目活動(dòng),在其中納入新的信息。迭代有利于識(shí)別和減少項(xiàng)目的不確定性。
2)增量型生命周期
有些項(xiàng)目?jī)?yōu)化是為了加快交付速度。許多企業(yè)和項(xiàng)目無(wú)法等待所有的事情全部完成;這種情況下,客戶(hù)愿意接受整個(gè)解決方案的一個(gè)部分。這種少量可交付成果的頻繁交付稱(chēng)為增量型生命周期。
3)敏捷型生命周期
3.1 基于迭代的敏捷
團(tuán)隊(duì)以迭代(相等持續(xù)時(shí)間的時(shí)間盒)形式交付完整的功能。
3.2 基于流程的敏捷
團(tuán)隊(duì)根據(jù)自身能力,從待辦事項(xiàng)列表中提取若干功能開(kāi)始工作,而不是按照基于迭代的進(jìn)度計(jì)劃開(kāi)始工作。
基于迭代和基于流程的敏捷生命周期
3.3 敏捷方式
以最小可行性產(chǎn)品,交付給客戶(hù),不斷的得到客戶(hù)的反饋, 不停的迭代,改進(jìn),完善,最終交付客戶(hù)的滿(mǎn)意成果
什么是敏捷?
一句話(huà)概括敏捷:敏捷就是“以人為本→化繁為簡(jiǎn)→快速迭代→持續(xù)交付價(jià)值”的過(guò)程。
2001年,軟件行業(yè)思想領(lǐng)袖共同發(fā)表《敏捷宣言》,正 式宣告敏捷開(kāi)發(fā)運(yùn)動(dòng)的開(kāi)始。
2018年,項(xiàng)目管理協(xié)會(huì)(PMI )和敏捷聯(lián)盟攜手發(fā)布 《敏捷實(shí)踐指南》,敏捷方法的應(yīng)用逐漸從軟件行業(yè)向各行業(yè)擴(kuò)展。
敏捷宣言、價(jià)值觀、原則和通用實(shí)踐之間的關(guān)系
敏捷典型實(shí)踐–Scrum,咱們以前分享過(guò)很多可以查閱:
圖解通俗易懂Scrum敏捷項(xiàng)目管理精華
圖解Scrum敏捷項(xiàng)目管理知識(shí)地圖【附知識(shí)地圖下載鏈接】
Scrum 敏捷項(xiàng)目管理精華PPT【文末可編輯PPT下載】
一圖掌握Scrum敏捷項(xiàng)目管理方法
DevOps模式是什么?
DevOps概念模型
通過(guò)開(kāi)發(fā)(Dev)、IT運(yùn)維(Ops)和質(zhì)量保證(QA)的溝通和和協(xié)同,使得構(gòu)建、測(cè)試、發(fā)布軟件能夠更加的敏捷、頻繁和可靠;
DevOps顯著特征:
1、必須擁有共同的目標(biāo);
2、打通用戶(hù)、PMO、需求、設(shè)計(jì)、開(kāi)發(fā)(Dev)、測(cè)試、運(yùn)維(Ops)等各上下游部門(mén)或不同角色;
3、打通業(yè)務(wù)、架構(gòu)、代碼、測(cè)試、部署、監(jiān)控、安全、性能等各領(lǐng)域工具鏈;
關(guān)于DevOps咱們也分享過(guò)很多相關(guān)內(nèi)容,供大家參考:
終于有人把DevOps講明白了
TOP30個(gè)DevOps面試問(wèn)題及如何解答?
學(xué)了敏捷,但你還不知道DevOps,就Out了【管理有度5】
DevOps如何幫助PM構(gòu)建數(shù)字化的項(xiàng)目管理?
圖解DevOps流程體系全景圖–構(gòu)建敏捷 持續(xù)交付的體系平臺(tái)
一文全面精通DevOps
如何構(gòu)建基于瀑布、敏捷和DevOps混合模式項(xiàng)目管理框架?
為什么可以在某主題App項(xiàng)目中運(yùn)用”預(yù)測(cè) 敏捷 DevOps“方法?
- 烏卡時(shí)代,該App開(kāi)發(fā)需求不確定性和復(fù)雜程度增加,交付周期變短,需要快速做出反應(yīng),應(yīng)對(duì)變化。
- 該App項(xiàng)目具備使用敏捷方法的基本條件,可以提高開(kāi)發(fā)團(tuán)隊(duì)的工作效率。
- 該App項(xiàng)目具備使用DevOps方法的技術(shù)條件,如架構(gòu)解耦,系統(tǒng)支持拆分為可DevOps的單元,有微服務(wù)管理平臺(tái)支持,平臺(tái)服務(wù)支持和工具鏈支持等。
基于“瀑布”、“敏捷”和”DevOps”模式,以客戶(hù)(HW)的軟件工程能力為支撐,應(yīng)用混合(也可稱(chēng)為集成)開(kāi)發(fā)生命周期,具體來(lái)說(shuō)就是端到端的項(xiàng)目管理實(shí)施框架。
實(shí)施框架:融合預(yù)測(cè)-敏捷-DevOps
該框架是以版本(基線或補(bǔ)?。樽钚】蓪?shí)施單元(DevOps單元),分為持續(xù)規(guī)劃、持續(xù)開(kāi)發(fā)、持續(xù)部署發(fā)布、持續(xù)運(yùn)維、持續(xù)反饋等5個(gè)階段,每個(gè)階段的主要關(guān)鍵活動(dòng)和工具如下:
全價(jià)值流中敏捷理念、工具和技術(shù)的應(yīng)用:
端到端全流程的敏捷DevOps
1215敏捷項(xiàng)目管理模型:1個(gè)鐵三角,2個(gè)端到端交付環(huán),15個(gè)實(shí)踐;
端到端DevOps框架可以有效實(shí)施的前提條件如下:
1、架構(gòu)解耦,最小可行產(chǎn)品是敏捷的保障;
2、系統(tǒng)拆分為顆粒度合適的可DevOps的單元,是架構(gòu)支持DevOps的基礎(chǔ);
3、全面支持應(yīng)用的一站式微服務(wù)管理平臺(tái);
4、面向云服務(wù)/微服務(wù)的架構(gòu),向敏捷/DevOps全功能團(tuán)隊(duì)轉(zhuǎn)型;
5、重塑角色設(shè)置,實(shí)現(xiàn)快速自我決策;
6、軟件分層、專(zhuān)業(yè)聚焦,平臺(tái)化,避免小團(tuán)隊(duì)全棧能力構(gòu)建,使能DevOps ;
7、支持服務(wù)/微服務(wù)DevOps的工具鏈及環(huán)境;
8、工具:自動(dòng)化運(yùn)維-基于數(shù)據(jù)分析的全方位故障監(jiān)控;
01
架構(gòu)解耦,最小可行產(chǎn)品是敏捷的保障;
1)架構(gòu)與系統(tǒng)解耦,做到組件化,乃至微服務(wù)化:
實(shí)現(xiàn)松耦合,可并行開(kāi)發(fā)、構(gòu)建、測(cè)試、部署、運(yùn)行的最小可運(yùn)行產(chǎn)品/特性。
2)需求分解的原則:
需求分解遵循小步快跑,同一個(gè)特性可以由多個(gè)迭代Story逐步演進(jìn),從簡(jiǎn)單 可用、到功能完善。
由橫向分層的大系統(tǒng) ->縱向解耦的小系統(tǒng)演進(jìn) / 各個(gè)微服務(wù)/特性,可由獨(dú)立團(tuán)隊(duì)并行開(kāi)發(fā)交付。
02
系統(tǒng)拆分為顆粒度合適的可DevOps的單元,是架構(gòu)支持DevOps的基礎(chǔ);
? 盡量垂直劃分服務(wù);
? 比較獨(dú)立的新業(yè)務(wù)優(yōu)先采用微服務(wù)架構(gòu);
? 優(yōu)先抽象通用服務(wù);
? 優(yōu)先抽象比較容易識(shí)別的,邊界比較明顯的服務(wù);
? 優(yōu)先抽象核心服務(wù);
? 采用絞殺者模式。
03
全面支持應(yīng)用的一站式微服務(wù)管理平臺(tái);
04
面向云服務(wù)/微服務(wù)的架構(gòu),向敏捷/DevOps全功能團(tuán)隊(duì)轉(zhuǎn)型;
對(duì)特性/部件/服務(wù),完整的實(shí)施規(guī)劃/需求/設(shè)計(jì)/開(kāi)發(fā)/測(cè)試并獨(dú)立部署、交付、運(yùn)維(DevOps場(chǎng)景)的項(xiàng)目型團(tuán)隊(duì)。
05
重塑角色設(shè)置,實(shí)現(xiàn)快速自我決策;
由“集團(tuán)軍作戰(zhàn)”轉(zhuǎn)變?yōu)椤鞍嚅L(zhǎng)的戰(zhàn)爭(zhēng)”,按照特性/微服務(wù)組建<10人的全功能團(tuán)隊(duì),“Two Pizza團(tuán)隊(duì)“,實(shí)現(xiàn)業(yè)務(wù)快速開(kāi)發(fā)、決策與上線。
06
軟件分層、專(zhuān)業(yè)聚焦,平臺(tái)化,避免小團(tuán)隊(duì)全棧能力構(gòu)建,使能DevOps ;
充分使用云基礎(chǔ)設(shè)施和平臺(tái)服務(wù)(IaaS/PaaS),基于IaaS/PaaS動(dòng)態(tài)分配資源。
分工細(xì)化,專(zhuān)業(yè)團(tuán)隊(duì)提供專(zhuān)業(yè)云服務(wù);
自治云服務(wù)承載架構(gòu)復(fù)雜度;
07
支持服務(wù)/微服務(wù)DevOps的工具鏈及環(huán)境;
支持微服務(wù)DevOps獨(dú)立并行開(kāi)發(fā)、測(cè)試,經(jīng)過(guò)Gamma類(lèi)生產(chǎn)環(huán)境驗(yàn)證,實(shí)現(xiàn)灰度發(fā)布和頻繁快速上線,并持續(xù)反饋與演進(jìn)。
08
工具:自動(dòng)化運(yùn)維-基于數(shù)據(jù)分析的全方位故障監(jiān)控;
系統(tǒng)能夠自動(dòng)化部署、升級(jí)和擴(kuò)縮容,支持自動(dòng)化監(jiān)控、告警、故障的定界定位和故障自愈。
業(yè)務(wù)/服務(wù)的顆粒度更小,交付部署更頻繁迫切需要增強(qiáng)對(duì)服務(wù)、服務(wù)所部署的軟硬件環(huán)境的全方位監(jiān)控、評(píng)估能力;構(gòu)建針對(duì)各類(lèi)日志、KPI數(shù)據(jù)、告警事件等的數(shù)據(jù)采集分析平臺(tái)。
某App開(kāi)發(fā)項(xiàng)目的混合敏捷管理實(shí)踐方案
1、持續(xù)交付:持續(xù)交付核心實(shí)踐
2、持續(xù)交付:DevCloud實(shí)踐,每日持續(xù)交付流水線
解讀:
1. 每天晚11:00,由流水線觸發(fā),從每個(gè)服務(wù)的代碼倉(cāng)庫(kù)Release分支獲取代碼。進(jìn)行靜態(tài)檢查、下載代碼、編譯構(gòu)建、歸檔發(fā)布。
2. 每天凌晨0:00,觸發(fā)自動(dòng)部署。流水線調(diào)用部署服務(wù)實(shí)現(xiàn)版本包的自動(dòng)化部署。
3. 每天凌晨3:00,觸發(fā)自動(dòng)化RF接口測(cè)試。
流水線的質(zhì)量控制
? 源碼版本控制
? 分支策略
? 靜態(tài)掃描
? > 80% 代碼覆蓋率
? 漏洞掃描
? 開(kāi)源掃描
? 制品版本控制
? 自動(dòng)化環(huán)境準(zhǔn)備
? 不可變的服務(wù)器
? 集成測(cè)試
? 性能測(cè)試
? 每次提交觸發(fā)自動(dòng)化構(gòu)建、部署、測(cè)試
? 自動(dòng)變更單
? 低風(fēng)險(xiǎn)發(fā)布
? 特性開(kāi)關(guān)
3、持續(xù)反饋:灰度發(fā)布策略驅(qū)動(dòng)自動(dòng)化部署與回滾
一鍵回滾;在線驗(yàn)收測(cè)試;A/B測(cè)試;重要新特性友好用戶(hù)先體驗(yàn);
4、持續(xù)反饋:灰度發(fā)布,友好/公測(cè)完備流程,產(chǎn)品、運(yùn)營(yíng)、運(yùn)維配合
5、持續(xù)反饋:VoC 驅(qū)動(dòng),持續(xù)規(guī)劃,數(shù)據(jù)分析,動(dòng)態(tài)調(diào)整,有錯(cuò)就改
PS:VoC : Voice of Customer 客戶(hù)聲音
項(xiàng)目實(shí)踐全景
PMO前沿《一杯咖啡談項(xiàng)目》專(zhuān)欄
特約作者介紹:張永彬,PMP/PMI-ACP,項(xiàng)目管理專(zhuān)業(yè)碩士,某軟件科技集團(tuán)公司質(zhì)量部總監(jiān);15 年消費(fèi)電子和IT軟件兩大行業(yè)工程實(shí)踐者,現(xiàn)代項(xiàng)目管理方法的踐行者和推廣者。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。