固定交付項目適用敏捷開發方式嗎?
假設一個固定交付的項目,這個開發項目是構建一個應用程序,時間表是一年。在項目進行期間可能出現什么問題?
一、什么是固定交付?
一個固定交付的項目意味著它具有固定的范圍、固定的時間表和固定的成本。
長期以來,傳統的項目管理方式側重于由項目范圍、預算和時間表組成的“三重約束”,這也被稱為鐵三角。任何項目的“三重約束”都保持著彼此之間的平衡,任何一項發生變化就可能導致其他項發生變化。
其實,三重約束是錯誤的,主要有兩個原因:
第一,三者之間的關系會發生變化,不會一直維持著平衡狀態。
第二,過于關注“三重約束”反而容易忽略質量等其他重要約束。
“三重約束”只關注了項目的交付交互,而忽略了項目的價值交付。如果我們所提供的解決方案不能增加價值,那項目按時、按預算交付的意義是什么呢?
二、敏捷是否適用于固定交付項目?
敏捷開發是一種以迭代、協作和快速響應變化為核心的軟件開發方法。它強調靈活性、適應性和持續交付,以滿足客戶需求并提高質量的軟件產品。
客戶本身可能并不知道自己想要什么,也不知道項目團隊采用何種方式交付,因此在交付方法中保持靈活性至關重要,利用交付周期、獲得反饋并不斷改進工作方式。
傳統的項目管理方式對于一個固定的交付項目其實沒有那么適用。
首先,通過對構建范圍的時間和成本進行估計,但這估計結果仍存在著偏差。根據不確定性錐,早期估計結果可能會比實際交付所需的偏差多達4倍。即使在需求完成后,估計結果也可能比交付所需的費用低 1.5 倍。
其次,一年的開發周期對于一個技術項目來說是很長的時間。即使我們對項目有固定的要求,并保證不會有任何變化,但如此長的開發周期仍會出現不能預料的變動,如對所寫內容的理解將發生變化。潛在的客戶需求和優先事項將發生變化。
最后,使用階段的傳統方法,我們通常無法確定能否在分配的時間內交付了所有預算工作,這會導致將工作從一個階段推到未來階段。
其實,無論使用傳統還是敏捷交付方法,交付固定項目都是有風險的。但不得不承認在固定交付項目中使用敏捷方法可能會有一些優勢。
三、使用敏捷進行固定交付的優勢
1.適用不斷變化的需求
在項目進行過程中,項目需求隨時會發生變化。敏捷開發方式能靈活應對這些變化,讓團隊快速響應新的反饋和需求,以確保最終產品滿足客戶的需求。
2.早期交付價值
敏捷開發方式強調定期交付產品的工作增量,而不是等到項目接近尾聲時才爆炸式交付。即使產品的所有功能尚未完成,但定期交付的產品能讓客戶盡早使用并從中受益。
3.提高可預測性
使用迭代可以讓團隊更好地預測未來。在每 2 周迭代 (Sprint) 結束時,團隊可以使用平均吞吐量和剩余積壓工作來預測交付整個項目所需的時間。在使用階段和按順序交付時,這種級別的可預測性是不可能的。
4.提高透明度
使用限時迭代和優先產品待辦事項列表為團隊的有效性提供了透明度。這使得進度跟蹤更加有效,并加快了問題和風險的識別和解決。
5.持續改進
敏捷方法促進了對產品的持續反饋以及團隊反思和回顧的時間。對產品的反饋會帶來更高質量、更有效的解決方案。團隊反思和回顧推動了團隊流程的改進,從而使團隊合作更加有效和愉快。
6.降低風險
敏捷的增量交付方法允許及早識別和緩解項目風險。通過提供較小的增量,可以在問題升級之前及時解決問題。
四、使用敏捷進行固定交付的缺點
1.管理范圍
敏捷開發能夠輕松適應需求的變化,但前提是必須與客戶仔細協商。
假設固定范圍與交付時間表和預算完全匹配,那范圍的增加會破壞平衡。但如果客戶了解范圍是固定的,每次對范圍的任何更改是用另一個范圍所替換而不是增加,則這仍然有效。
舉個例子,一個表示范圍的存儲桶。一個存儲桶的容量是需要交付的確切范圍量,如果進行添加就意味著必須刪除相同大小的其他內容。
2.人員成本
運用敏捷開發方式需要擁有一個完全敬業的團隊,且在項目的整個生命周期中保持團結。
但如果人員成本的估算基于為特定任務在項目內外輪換的專家,就會發現的人員成本估算低于專門團隊的人力成本。
3.合同和客戶期望
當客戶和開發團隊之間關系牢固,每個人都在尋求雙贏的解決方案時,敏捷效果最好。
然而,在典型的固定交付項目中,合同往往是輸贏的。如果交付團隊能夠比計劃更快地交付,即使他們沒有為客戶提供真正需要的東西,他們仍會獲得更多利潤。
因此,在客戶獲得實際需要的一切和交付團隊估計之間通常存在緊張關系。
五、寫在最后
在固定交付的項目中使用敏捷開發方式是一把雙刃劍。
雖然敏捷開發方式具有適應性、早期價值交付等好處,但范圍、預算管理以及與合同相關的問題等挑戰可能成為項目進行過程中的重大問題。
但我們不得不承認,敏捷開發方式更加人性化。

浙公網安備 33010602011771號