摘 要PMBOK中論述“適應性生命周期,目的在于應對大量變更,獲取干系人的持續(xù)參與”。本文從價值驅動交付入手,說明軟件的優(yōu)先級排序和項目三角形,并介紹了計劃撲克估算。在給出軟件開發(fā)方法模型后,進一步說明用戶故事和增量這個可交付成果。
【關鍵詞】軟件項目 生命周期
1 適應性生命周期概述
1.1 軟件價值驅動交付
適應性軟件生命周期適合在早期難以定義顧客需求的情況。特別是互聯網項目,往往客戶在剛開始也不清楚他們究竟想做什么。所以,需要引導客戶根據價值的理念對產品功能的優(yōu)先級進行排序,優(yōu)先做價值高的特性,在PDCA循環(huán)中調整,盡早交付可工作的軟件。
P(Plan)計劃,方針和目標的確定;
D(Do)執(zhí)行,設計具體的方法和計劃;
C(Check)檢查,執(zhí)行計劃的結果;
A(Adjust)調整,成功的肯定,失敗的教訓總結。
1.2 軟件價值優(yōu)先級排序
早期交付的價值,在于提前曝光風險。對項目來說,風險等于反價值。越早交付越能提高項目成功的概率。有利于增強客戶的信心,使盡早的參與反饋。對于價值的排序,采用MoScoW技術:
M-must ,必須有的需求和功能,沒有這些產品不能正常工作;
S-should,應該有的需求和功能,有重要的商業(yè)價值;
C-could,可能有的,可以增加產品的商業(yè)價值;
W-wont,希望有的,但不是必須的商業(yè)價值。
1.3 軟件項目管理三角形
適應性軟件項目的另一方面是產品范圍、時間、成本之間的倒三角關系。對于瀑布模型,產品范圍是固定的,時間和成本則會隨著項目的進行不斷調整。但在適應性軟件項目中,每個迭代的時間(2~6周)和成本是固定的,因為在迭代周期內項目人員的數量和時間固定,整個產品范圍需要受固定時間和成本約束,如圖1所示。
1.4 軟件項目實施估算
適應性軟件項目,團隊用故事點、用例、實施來確定項目待完成的特性。采用計劃撲克的形式,首先估算出完成每個項目特性所需要的故事點。在項目初期,允許估算故事點出現偏差,再通過一次到兩次的迭代,確定團隊迭代速度,所以,將很快掌握每個迭代周期中的故事點數,積累的經驗能準確預測實現一組特性的時間。測量出項目的開發(fā)速度,預測最終的成本和完成日期。
2 適應性軟件項目生命周期開發(fā)模型
2.1 模型結構圖
模型如圖2所示,主要內容包括產品功能列表和迭代任務集。產品特性集常被稱為產品待辦事項,由產品負責人和客戶溝通,采用用戶故事形式整理.例如:作為一名<角色>,我想<功能>,這樣就可實現<商業(yè)價值>,并根據優(yōu)先級排序。產品待辦事項可以添加、刪除、也會隨著客戶的要求進行修正而重新設置優(yōu)先級。迭代特性集也被稱為迭代待辦事項,是從產品待辦事項中選定的最高優(yōu)先級特性,是開發(fā)團隊對于下一個產品增量需要完成的功能以及把這些功能“完成”交付所需工作的預測,是當前迭代中對可交付產物的承諾。
2.2 定義可交付成果
每個迭代周期都包含完整(設計-構造-測試-集成-演示)循環(huán),其核心是持續(xù)集成和頻繁交付。持續(xù)集成可以發(fā)生在每小時、每天、每周。每日站會是一個短時會議,包括:昨天工作內容,遇到的困難及今天計劃,時間控制在15分鐘以內。
迭代的可交付成果被稱為增量,當增量被描述為“完成”時,每個人都必須確保理解“完成”的含義。為了避免歧義,團隊在開始工作之前就要對“完成”做好定義,這將會保證產生正確的產品。
3 結論
價值驅動交付是適應性軟件項目的核心,持續(xù)集成和頻繁交付是重要手段。但在PMBOK中未對軟件模型給出實例參考。我們需通過學習來指導實踐,學以致用。
參考文獻
[1]美國項目管理協(xié)會.項目管理知識體系指南(第5版)[M].
[2]劉芳,石泉.如何準備ACP考試[M].機械工業(yè)出版社.
作者簡介
蔣夢云(1983-),男,碩士(PMP/ACP),現為中國(南京)軟件谷高級工程師。研究方向為敏捷軟件開發(fā)和智能設備。
作者單位
中國(南京)軟件谷 江蘇省南京市 210000endprint