上一篇提到Devops(Development和Operations的組合詞)是一組過程惦界、方法與系統(tǒng)的統(tǒng)稱撮抓,用于促進開發(fā)(應(yīng)用程序/軟件工程)骂维、技術(shù)運營和質(zhì)量保障(QA)部門之間的溝通稀轨、協(xié)作與整合填物。
那項目管理是啥呢?引用如下:
項目管理是運用管理的知識幌缝、工具和技術(shù)于項目活動上灸促,來達成解決項目的問題或達成項目的需求。所謂管理包含領(lǐng)導(dǎo)(leading)涵卵、組織(organizing)浴栽、用人(staffing)、計劃(planning)轿偎、控制(controlling)等五項主要工作典鸡。
其實Devops促進要做的事,就是項目管理者全局把控以及持續(xù)按時交付要做的事坏晦。剛來第二家公司的時候做過一段時間的Release Manager萝玷,其實就是一個小的項目管理,作用就是整合各方(廣告英遭、直播、主app亦渗、付費挖诸、渠道)的需求,然后做一個整理法精,調(diào)整各方時間多律,定好本期版本迭代交付時間,以及各方排期是否可以跟上本次發(fā)版搂蜓,時間不夠是否需要delay還是延遲到下一個版本狼荞。更多的是跟各方溝通截止發(fā)版時間點上的需求是否可以及時的交付,是否需要延遲等帮碰,但是中間沒有監(jiān)控各方的進度相味,只是在截至?xí)r間看看實際的交付。這部分東西后來交到了產(chǎn)品經(jīng)理手上殉挽,后續(xù)也就沒去跟蹤丰涉,但形式上也就是基于我所做發(fā)版經(jīng)理的雛形去做此類的事。
后來公司開始使用jira來管理項目斯碌,有了真正的項目管理一死。那為啥要有項目管理呢?具體是做什么呢傻唾?
痛點:
1. 公司產(chǎn)品迭代主要由產(chǎn)品發(fā)起投慈,一般都會針對于某一具體需求或者某一具體實現(xiàn)方式,沒人全局把控。產(chǎn)品從產(chǎn)品角度伪煤,開發(fā)從開發(fā)角度加袋,業(yè)務(wù)從業(yè)務(wù)角度。始終沒有一個最終的協(xié)調(diào)人带族,然后開發(fā)就跟著業(yè)務(wù)產(chǎn)品走锁荔,主導(dǎo)權(quán)也主要在產(chǎn)品手上;
2. 各種業(yè)務(wù)方的臨時緊急需求蝙砌,很多業(yè)務(wù)方?jīng)]有技術(shù)背景和項目管理背景阳堕,很多時候提出的需求都是發(fā)生在項目開始過程中,都是很急的需求择克,不得不重新估算時間和排期恬总。開發(fā)為了避免延期風(fēng)險,就是讓產(chǎn)品排優(yōu)先級肚邢,然后我們根據(jù)優(yōu)先級估時壹堰,直到有必要的需求都在這個迭代中計劃上;
3. 產(chǎn)品經(jīng)理飄忽不定的需求給項目的打擊是很大的骡湖,開發(fā)在搖搖墜墜中估時贱纠,此時的估時肯定會有大量的冗余,因為之前需求的變動响蕴,上線時間一改再改谆焊,再加上,主管浦夷、產(chǎn)品經(jīng)理偶爾砍幾刀辖试,所以開發(fā)在估工時都會冗余很多;
3. 開會一般都是臨時決定劈狐,產(chǎn)品經(jīng)理會準(zhǔn)備prd罐孝,但是其他人提前看prd準(zhǔn)備問題的情況極少,導(dǎo)致會議冗長效率低肥缔,尤其是在大型prd會議中莲兢。
有了痛點就需要解決,項目管理者就是協(xié)調(diào)整個事续膳,全局把握整個迭代的過程怒见,使得整個交付流程無冗余無錯亂。
1.需求移交:產(chǎn)品經(jīng)理姑宽、各個需求方或者開發(fā)本身需要做的一些重構(gòu)遣耍,需要在下個迭代周期開始前移交。產(chǎn)品移交需要各方參與炮车,包括產(chǎn)品經(jīng)理舵变、開發(fā)酣溃、測試和項目經(jīng)理共同參與評審需求。項目管理者協(xié)調(diào)評審時出現(xiàn)的各類不一致問題纪隙;
項目管理者輸出:各方prd可行性上開發(fā)和測試一致通過赊豌。
2. 項目估時:主要是開發(fā)時間和測試時間;
項目管理者輸出:各方prd被開發(fā)leader和測試leader認(rèn)可的開發(fā)預(yù)估時間和測試預(yù)估時間绵咱。
3. 排期:排期是很重要的一個環(huán)節(jié)碘饼,而每次產(chǎn)品迭代的時間是固定的,在固定的時間需求的優(yōu)先級和重要性就是一個必須要去考慮的因素悲伶。項目經(jīng)理通過計算每個移交需求的開發(fā)和測試時間安排本次需要迭代的需求艾恼,如果時間不足夠完成移交的所有需求,需要根據(jù)優(yōu)先級和重要性去除麸锉。經(jīng)常在迭代期間會遇到有很重要的需求必須進某個版本钠绍,那這時就需要項目經(jīng)理來去輔拿主協(xié)調(diào)某個業(yè)務(wù)需求的delay;
項目管理者輸出:制定項目目標(biāo)及項目計劃花沉、項目進度表柳爽。
4. 交付:根據(jù)項目計劃中交付時間點查看各方交付以及delay原因;在項目交付中期也需要實時監(jiān)控各個prd的開發(fā)進度以及遇到的問題碱屁,是否需要拉會重新協(xié)調(diào)溝通磷脯。
項目管理者輸出:項目已交付清單、未交付問題清單娩脾、遇到的問題赵誓、解決方案、后續(xù)優(yōu)化晦雨。
5. 分析:每次迭代完成分析做的好的和不好的部分架曹,持續(xù)的優(yōu)化和改進交付流程隘冲。
項目管理者輸出:簡要的交付總結(jié)會議以及拋出一些問題闹瞧,讓研發(fā)、測試和產(chǎn)品思考問題展辞,以及對問題本身作出本身的思考奥邮,找到問題的解決方案。通過每個人的參與來加強放大問題本身罗珍,使得每個人都可以有心里認(rèn)知效應(yīng)洽腺。
以上是一個簡單的交付流程和項目管理者需要在每一步中輸出的東西,通過這些東西來達到整個項目流程上的進展和優(yōu)化覆旱,使得項目處于一種良性的持續(xù)交付蘸朋。
測試某個項目時,因為需求移交冗余扣唱,測試排期雜亂無優(yōu)先級藕坯,中間也嘗試去管理過此項目团南,主要是通過jira這個工具去管理項目,下面是整個過程:
(1)Sprint創(chuàng)建 - 項目經(jīng)理(已創(chuàng)建未來三-五周的Sprint)
(2)Story移交和創(chuàng)建:(1)PRD (2)開發(fā)炼彪、測試確認(rèn)(3)創(chuàng)建task(4)時間(預(yù)估開發(fā)時間/預(yù)估測試時間/上線時間)吐根;
開發(fā)/測試對于移交的PRD不清楚/無法開發(fā)/測試點不清楚情況下,可以不確認(rèn)辐马;但是確認(rèn)后的story無特殊情況拷橘,不能無故取消不做;取消操作至少需要經(jīng)過開發(fā)leader喜爷;
技術(shù)重構(gòu)時長超過一個Sprint的冗疮,需分期開成多個Story執(zhí)行放入相對應(yīng)的Sprint,注明(xxx-x期)贞奋。
(3)每個Spirnt需要交付的Story移交時間必須是在每個迭代開始之前赌厅;
(4)每天至少三個時間點(早上、中午轿塔、晚上)去監(jiān)控各個story的狀態(tài)變化特愿;
(5)每隔兩個迭代復(fù)盤移交情況以及一些出現(xiàn)問題的探討和改進。
那么互聯(lián)網(wǎng)公司到底需不需要項目管理呢勾缭?大型的互聯(lián)網(wǎng)公司肯定是需要項目管理者去協(xié)調(diào)各方的揍障,但是小型公司呢?沒有項目經(jīng)理也可以完成既定需求俩由,也可以按期完成業(yè)務(wù)交付毒嫡,問題總歸也會被處理,但是有了項目經(jīng)理呢幻梯?項目經(jīng)理的職能除了時間點的把控兜畸,是否可以在效率上、交付質(zhì)量和手段上也提出一些改進呢碘梢?