Success/Failure Criteria for Software Projects

來源:互聯網
上載者:User

Success/Failure Criteria for Software Projects

 

Introduction

什麼是軟體項目成功或失敗的標準?對此,可能每個人都有自己的觀點。一個軟體項目如何才能成功?需要具備哪些要素?比如出色的開發人員,正規的開發流程、細緻的需求、UML、有效風險管理、周全的計劃、明確的商業目標、頻繁的評估和回顧。記得以前看《軟體工藝》的時候,為書中新穎獨特的觀點所深深吸引,慮及自己所經曆的項目,發現很多地方印證了書中的觀點。軟體工藝強調人的作用,不過,它似乎並沒有改變大多數人心中軟體工程的地位。很多PM還是在對制定“計劃”樂此不疲,費盡心機想匯入某種正規的“Process”,想盡辦法去進行“風險管理”,強調“明確需求”;很多設計人員整日抱著UML,畫著各種“Diagram”……可是現實世界發生的事情可能令我們感到困惑甚至吃驚。

 

A Study

有位澳大利亞的教授研究了400個美國、澳大利亞和智利的軟體項目後,得出一些驚人的結論,大致如下(斜體部分是我的看法):

1、  大多數沒有進度表的項目最後成功了。

這的確令人感到驚訝,沒有進行計劃安排的項目居然能成功,要麼是組員比較優秀,要麼項目比較小,容易達成目標。

 

2、  需求對於項目的成功是需要的,但是在項目早期並非必須的。

通常我們期望需求得到得越早越好……

 

3、  沒有明確的需求,項目常常也能成功地繼續開展下去。

就我的經曆而言,沒有明確的需求是很正常的事情,特別是做產品的時候,往往還不知道最後的產品應該具有哪些特性。如果是做具體的項目,我則期望需求越明確越好。但是需求總是會變化,team需要對客戶的反饋有能力作出及時的調整。

 

4、  需求方法論的選擇並不重要,UML沒有什麼協助。

我是UML的熱愛者,喜歡使用UML來表達我的想法,表達設計,和組員進行交流。不過事實表明,UML只是一部分人(喜歡可視化的圖表的人)的工具。對於表達需求來說,UML的確沒有什麼用,Use-Case Diagram就是幾個用例(橢圓、連線和角色),看了之後你能對需求瞭解多少呢?還是看文字描述的Use-Case比較直接和準確。但我相信使用UML表達設計是很好的做法。

 

5、  使用某開發方法論是成功的要素,特別是它適合我們的應用的時候。

的確如此,適合我們的過程就是最好的過程。國內有很多企業都使用CMM/CMMI、6Sigma、RUP甚至XP,不過大多數的軟體企業還是沒有progress。即使有些企業獲得了CMM/CMMI的認證,執行中也常常是留於表面。

 

6、  很少有項目使用風險管理,而且這些項目也很少管理其風險。

事實如此,但並不說明風險管理不值一提,它還是很重要的。公司要規避風險,項目當然要規避風險。

 

7、  很少有能堅持進行頻繁地評估和回顧的,幾乎總是在成功的項目中才做到了。

我認為進行評估是規避風險的一個具體做法。比如對架構設計進行評估,就是為了從技術上盡量降低項目失敗的可能性。但這個評估和回顧應當是在良好的氣氛中進行,適時變化。

 

8、  ……

 

該研究還提出了一些預見(似乎是眾所周知的):

  • Success comes from a culture that investigates and deals with problems

最贊同的一點。

  • The vision for the project (its business goals) must be shared among all project personnel, especially the project manager

  • Project managers should be involved in the estimation activity

  • Project managers should be good at customer and developer communication; they need not be good at the technology

這點可能會有爭議,專案經理到底有無必要精通技術?

 

更多內容請看原文。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.