什么是敏捷項(xiàng)目管理嗎?敏捷項(xiàng)目管理解決哪些問(wèn)題?
發(fā)布時(shí)間:2021/7/16 11:13:00
敏捷項(xiàng)目管理就只是效率高嗎?
許多公司正在考慮敏捷轉(zhuǎn)型,但是想要轉(zhuǎn)型中的大部分企業(yè)都遭遇了失敗。失敗的原因當(dāng)然各不相同,但想轉(zhuǎn)型成功還是有一些規(guī)律可循的,第一個(gè)規(guī)律就是正確地選擇敏捷開發(fā)。
所謂“正確”地選擇,就是選擇敏捷開發(fā)的“目的”是對(duì)的,也就是說(shuō)對(duì)敏捷開發(fā)能解決的問(wèn)題的期望是敏捷開發(fā)能夠解決。如果敏捷轉(zhuǎn)型的動(dòng)機(jī)不對(duì),肯定會(huì)“失敗”,但失敗為什么還要加引號(hào)?因?yàn)榧词罐D(zhuǎn)型成功了也不能解決原來(lái)期望解決的問(wèn)題,當(dāng)然認(rèn)為就是失敗了。很多企業(yè)想轉(zhuǎn)型敏捷開發(fā)的原因是“開發(fā)人員的效率低下,這么多人還完不成老板要開發(fā)的功能和速度”。
敏捷真能解決效率低下的問(wèn)題嗎?
敏捷開發(fā)不是用來(lái)解決所謂的“開發(fā)效率”問(wèn)題的,如果真是開發(fā)效率可以從人的技能培養(yǎng)、流程優(yōu)化、工具改進(jìn)等方面來(lái)提升,而跟敏捷開發(fā)本身沒(méi)太大關(guān)系,敏捷反而會(huì)降低所謂的效率。因?yàn)檫@里的“效率”被理解為相同的人,在更短的時(shí)間內(nèi)開發(fā)完成既定的功能,或者在相同的時(shí)間內(nèi)能夠開發(fā)更多的功能。
因?yàn)榭陀^地講敏捷開發(fā)本身會(huì)降低效率,原因主要有:
1) 敏捷開發(fā)中更加強(qiáng)調(diào)溝通,溝通頻率可能比以前更高,溝通時(shí)間可能會(huì)比以前更長(zhǎng),占用更多的個(gè)人工作時(shí)間,反而可能因此導(dǎo)致實(shí)際開發(fā)時(shí)間起過(guò)原來(lái)開發(fā)出某個(gè)功能的時(shí)間;
2) 敏捷開發(fā)是從用戶視圖出發(fā),切分工作任務(wù)是縱向下刀,與原來(lái)分層設(shè)計(jì),分層開發(fā)的職能劃分方式不同,可能會(huì)要求工程師成為所謂“全棧工程師”,而傳統(tǒng)的開發(fā)方式,一般會(huì)彩橫向下刀的任務(wù)切分模型,人員的任務(wù)分配方式的不同,必然要求人員技能結(jié)構(gòu)的調(diào)整,會(huì)增加一定量的學(xué)習(xí)成本,使開發(fā)人員反而感覺工作量增加了,短時(shí)間內(nèi)會(huì)表現(xiàn)出開發(fā)效率的下降,而且要求所有開發(fā)人員對(duì)需求的理解能力也要求更高了,所以很多人會(huì)感覺敏捷開發(fā)對(duì)人員的要求更高,其實(shí)是因?yàn)閷?duì)人員要求的改變導(dǎo)致現(xiàn)有開發(fā)人員能力木桶效應(yīng)現(xiàn)象發(fā)生。
3) 快速的迭代使重構(gòu)工作量增加,會(huì)感覺功能不斷被修改導(dǎo)致了很多浪費(fèi)。這種感覺如果不能正確認(rèn)識(shí),不僅會(huì)誤以為影響了工作效率,而且會(huì)使程序員很受傷,因?yàn)樗麄冋J(rèn)為是在不停地返工。
4) 信息的透明性要求較多的數(shù)據(jù)收集,敏捷成熟度越高,收集的信息就越多,收集這些數(shù)據(jù)會(huì)占用一定的精力,如果不能夠正確的理解這些數(shù)據(jù)的價(jià)值,會(huì)讓程序員感覺浪費(fèi)了很多時(shí)間在做無(wú)用功,反而降低了開發(fā)效率。
那么,敏捷開發(fā)是解決什么問(wèn)題的呢?
它是解決企業(yè)效益(ROI,投資回報(bào)率)最大化的問(wèn)題,評(píng)價(jià)敏捷開發(fā)的成功與否要從轉(zhuǎn)型后企業(yè)效益的整體提升情況評(píng)價(jià),而不能單單從主觀判斷上看開發(fā)人員完成的功能數(shù)量與速度來(lái)評(píng)價(jià),敏捷開發(fā)主要從以下方面來(lái)幫助企業(yè)提升整體效益:
1) 擁抱變化。因?yàn)殚L(zhǎng)期的計(jì)劃很難制定得可行,“人月神話”只是個(gè)神話,在計(jì)劃執(zhí)行過(guò)程中世界的變化會(huì)導(dǎo)致需求的變化,需求的變化必然導(dǎo)致開發(fā)工作不能按計(jì)劃進(jìn)行,而且“人”作為開發(fā)過(guò)程中最重要的因素時(shí)時(shí)刻刻都在變化,人員會(huì)有更替,人會(huì)有情緒,人會(huì)有私事,各種因素都會(huì)影響計(jì)劃的執(zhí)行,所以計(jì)劃要短,及時(shí)調(diào)整才能響應(yīng)一切變化導(dǎo)致的計(jì)劃的不可行性,避免走彎路。
2) 快速響應(yīng)。市場(chǎng)環(huán)境的變化,越來(lái)越要求產(chǎn)品、服務(wù)的響應(yīng)及時(shí)。比如按照傳統(tǒng)方式,規(guī)劃半年一個(gè)版本,一旦需要調(diào)整需求,后面所有的計(jì)劃都得改變,會(huì)為項(xiàng)目管理帶來(lái)極大的挑戰(zhàn),變化的成本奇高,多數(shù)情況下會(huì)因?yàn)槎鄶?shù)人的反對(duì)而不了了之。
3) 快速將功能推向市場(chǎng)變現(xiàn)。“成為第一,勝過(guò)做得最好”,在很多商業(yè)環(huán)境下是有效的,特別是在互聯(lián)網(wǎng)行業(yè),迅速占領(lǐng)市場(chǎng)更顯得尤其重要,這是在向時(shí)間要效益。舉個(gè)簡(jiǎn)單的例子,比如一個(gè)應(yīng)用做個(gè)用戶系統(tǒng),其實(shí)非常簡(jiǎn)單成熟的技術(shù),按照程序員的想法,最好是能夠一次性把用戶注冊(cè)登錄、修改密碼、忘記密碼、記住密碼、登錄驗(yàn)證碼、注銷等功能設(shè)計(jì)完,假設(shè)按照分層設(shè)計(jì)開發(fā)的方法花12個(gè)工作日,每個(gè)功能需要2天,而如果按功能逐版本開發(fā)而不是一次開發(fā)完成,而是放在不同的版本里,可能需要18個(gè)工作日,每個(gè)功能需要3天,因?yàn)槔锩鏁?huì)有重構(gòu)、修改界面等,但是應(yīng)用可以在第3天就上線,以后再逐步完成其它功能。如果這個(gè)功能按照敏捷的方式開發(fā),可以早3個(gè)月推向市場(chǎng),每個(gè)月有上千萬(wàn)的收(上線后的效果統(tǒng)計(jì)數(shù)據(jù)),這才是敏捷真正的價(jià)值所在。
4) 在有限的資源條件下,做最值得做的事。因?yàn)锽acklog的每一項(xiàng)都具有按唯一優(yōu)先級(jí)順序,都是已經(jīng)排好序了,敏捷要求逐項(xiàng)完成用戶故事,而不是全面開花,因?yàn)槠湓u(píng)價(jià)結(jié)果是二值的,做完就是1,做不完就是0,沒(méi)有75%一說(shuō),因?yàn)樽鐾炅瞬拍芙桓叮鐾炅瞬拍芡断蚴袌?chǎng)變現(xiàn)。什么事最值得做,什么事就優(yōu)先級(jí)最高,也就是ROI最高,ROI是評(píng)價(jià)需求優(yōu)先級(jí)的唯一指標(biāo)。其實(shí)ROI是一個(gè)綜合指標(biāo),非常復(fù)雜的綜合指標(biāo),它與開發(fā)工作量、市場(chǎng)需求迫切程度、技術(shù)關(guān)聯(lián)性、市場(chǎng)價(jià)值等因素有關(guān),需要全方位評(píng)估。
其實(shí),敏捷轉(zhuǎn)型,還是進(jìn)行企業(yè)蛻變的工具。公司發(fā)展到一定階段,人員結(jié)構(gòu),組織架構(gòu)都會(huì)制約企業(yè)的發(fā)展,而進(jìn)行細(xì)微的,局部的調(diào)整并不能解決企業(yè)的根本問(wèn)題,改改革總是存在重重壓力,新的制度總是執(zhí)行不下去。趁著傳統(tǒng)向敏捷的轉(zhuǎn)型,可以系統(tǒng)地對(duì)組織進(jìn)行優(yōu)化。
所以,敏捷開發(fā)不是用來(lái)管理開發(fā)人員的,不是用來(lái)提高開發(fā)人員的工作效率的,而是企業(yè)全面提升團(tuán)隊(duì)績(jī)效的方法,要向敏捷轉(zhuǎn)型不是說(shuō)光開發(fā)人員參與就行了,需要組織的全面變革。