文/Payson Hall 譯/趙克琛
在當今快節(jié)奏的工作環(huán)境中,軟件開發(fā)人員正面臨著一種痛苦的兩難境地:他們需要應付加速軟件開發(fā)進程的持續(xù)壓力,這種對速度的要求會導致溝通失??;同時還要面對由此帶來的項目和系統(tǒng)開發(fā)的困難。由于業(yè)務需求不會在短期內(nèi)改變,所以快速開發(fā)項目經(jīng)理必須加倍努力地進行有效和高效的溝通。
在某些情況下,快速開發(fā)表示一系列的特殊軟件工程實踐,其目的在于正確選擇采用縮小范圍和增加資源以減少開發(fā)時間的方法,此類方法包括極限編程(XP),應用程序快速開發(fā)(RAD)和快速原型法等。在另外的情況下,快速開發(fā)是用來推銷縮短軟件開發(fā)周期的工具、新方法或研討會的流行用語。無論你認同哪種定義,當項目團隊走捷徑并且試圖決定何處讓步以期完成緊張的計劃時,進度壓力會導致災難發(fā)生。
“當我聽到快速開發(fā)的時候,我立即想到,開發(fā)團隊希望通過忽略掉關鍵步驟的方法來簡化項目法則?!贝鞣颉じジ裆缡钦f,他是美國加州El Dorado Hills地區(qū)的DST Output公司電子產(chǎn)品開發(fā)及實施部門的副總裁。他們公司的開發(fā)工作著重強調(diào)于軟件工程和項目管理。
在被問及分享一些快速開發(fā)的名言時,丹麥獨立項目管理咨詢師本特·埃澤森引用了羅馬皇帝奧古斯塔斯的話:“Festina lente”。此句拉丁文的意思是“從容趕急”。關鍵是避免恐慌和由此引起的混亂。這需要在項目開始時花時間建立健康的習慣。
緊張的時間限制會遏制溝通。英國倫敦Sapient Corp公司的技術總監(jiān)格雷厄姆·奧克斯建議:“快速開發(fā)的溝通問題與其他方法一樣存在,但是犯錯誤的空間更少,而且有很大的機會使事情在一個星期內(nèi)失去控制?!?BR>
奧克斯指出,項目團隊受到壓力時會不合時宜地犧牲流程和交付物來換取速度。他說:“按需要適當?shù)卣{(diào)整流程,但不要因為時間原因而單純拋棄評審和其他質量保證流程。因為缺陷同樣浪費時間?!?BR>
謹慎地交接
在用戶、獲取需求的分析師、設計師和解釋實現(xiàn)需求的開發(fā)人員之間的交接過程中,信息會頻繁地丟失?!矮@取需求時要全面,并且要保證用戶參與到設計評審里?!瘪R代爾·霍爾說,他是美國加州薩克拉門托市Catalysis集團公司的咨詢項目經(jīng)理。
專業(yè)的開發(fā)流程受益于客戶與開發(fā)人員之間的良好溝通。美國北卡來羅納州達拉漠市Pugh-Killeen Associates公司的軟件顧問肯·皮尤指出:“要使用極限編程法的話,客戶必須在開發(fā)現(xiàn)場,這樣在需要的時候,客戶會解釋需求的細節(jié)。如果技術問題與實現(xiàn)一個特殊需求相關,客戶和開發(fā)人員會一起權衡以找到一個解決方案?!?BR>
很不幸的是,許多項目發(fā)起人并不理解這項規(guī)則和成功執(zhí)行這些過程所需的資源許諾。使用極限編程來構建系統(tǒng)代價不菲,但如果執(zhí)行得當,它可以縮短開發(fā)時間。邀請一些知識淵博的客戶成為開發(fā)團隊的組成部分以促進溝通的做法會使大部分項目預算超支,但結果是可以預測的。
美國科羅拉多州恩格爾伍德市govONE Solutions公司的產(chǎn)品交付部門總監(jiān)雷恩·湯普森認為:“許多快速開發(fā)方法通過隔離開發(fā)團隊來提高速度。但問題在于“成功”的定義。如果成功是指在規(guī)定的時間內(nèi)交付系統(tǒng)產(chǎn)品,那許多團隊或許是成功的。如果成功是指交付一個可用的系統(tǒng)產(chǎn)品,那些成功可能變成最多是瑕瑜互現(xiàn)?!?BR>
湯普森建議,在團隊上下建立公共的視角是異常重要的。“在長期的項目里,有必要保持成員的士氣高昂。在快速項目里,這有兩個目的:其一,當團隊在惡劣環(huán)境下長時間工作時維持他們的士氣;其二,有效地確保團隊向著公認的項目結尾前進。團隊認識到這些視角有助于他們理解他們的角色和分歧所在?!?BR>
應用程序快速開發(fā)法在需求不明確
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html