軟件項目管理之軟件研發(fā)之道
軟件是一種知識產(chǎn)權(quán),軟件生產(chǎn)主要是一種智力活動。磁盤或光盤上的數(shù)據(jù)體現(xiàn)了軟件產(chǎn)品開發(fā)團隊的集體智慧。磁盤上體現(xiàn)的智力水平越高,創(chuàng)造的知識產(chǎn)權(quán)就越 多,產(chǎn)品的價值也就越高。有了價值更高的產(chǎn)品,就可以賺更多的錢,獲得更多客戶,也可以讓智力活動影響到更廣泛的人群,并為開發(fā)者和他人帶來更多利益。
如果你特別關(guān)注將人的智慧轉(zhuǎn)移為磁盤上的數(shù)據(jù),把這作為軟件開發(fā)團隊的中心活動,那么恭喜你,你有了一個正確的觀點,可以據(jù)此來監(jiān)控和領(lǐng)導(dǎo)軟件開發(fā)。大 多數(shù)軟件開發(fā)經(jīng)理或***并沒有站在全局角度來看待所承擔的任務(wù),他們認為自己的工作要么是設(shè)計,要么是編碼,要么是測試,要么是寫文檔,要么是營銷軟件,要么是以某種方式“管理”軟件開發(fā)過程。
這種誤解的常見結(jié)果是延誤。在軟件開發(fā)過程中抱有無論什么錯誤思想,結(jié)果幾乎總是造成延誤。通常延誤的時間相當長,遠遠超過最初的估計日期。是的,這種錯誤估計往往演變?yōu)樗^霧件(vaporware)的滑稽笑柄,如果不是付出了沉重的代價——希望的破滅、金錢和人力的浪費,社會生產(chǎn)力下降等,霧件這個詞可以說是很幽默的。
如果想要按時交付優(yōu)秀軟件,每個人的大腦都必須融入到項目中。
軟件開發(fā)管理的真正任務(wù)是調(diào)動盡可能多的智力,將它們投入到產(chǎn)品創(chuàng)建的活動中。智力的形式可以是抽象的人員素質(zhì),例如創(chuàng)造力、聰明才智、理性、效率和雅 致。智力還具有其他一些非物質(zhì)的特性,例如適時上市以及滿足客戶需求。關(guān)鍵是,為了建立知識產(chǎn)權(quán),必須有創(chuàng)造者的智力參與,而這種參與在任何軟件開發(fā)工作 中都是最難完全落實的事情。雖然按時交付軟件并不簡單,但無論對于個人還是集體來說,這都是一項直截了當?shù)囊?。要?chuàng)造優(yōu)秀軟件則需要富有集體智慧的團 隊,而且只有他們才能辦得到。
假設(shè)企業(yè)有足夠的財力作為后盾,那么剩下的真正至關(guān)重要的因素就是團隊是否凝聚了集體智慧。本書中的所有概念和經(jīng)驗法則對于善于思考的人們來說都是顯而 易見的。實際上,這些都是常識。它們大體上只講了三項當務(wù)之急的事情:讓人們開始思考、人們應(yīng)該思考些什么,以及如何讓人們更有效地思考。如果讀者曾經(jīng)在 富有集體智慧的軟件開發(fā)團隊中工作過,恐怕自己也能總結(jié)出不少這樣的原則。
那么,問題何在?如果按時交付優(yōu)秀的軟件只是取決于一些常識,又為何如此罕見呢?
考慮一下人類工作的主流模式。在大多數(shù)企業(yè)中,人們主要把資源投入到兩個領(lǐng)域中,一個是智力活動,另一個是常規(guī)機械工作。我們可以把這兩個領(lǐng)域看做設(shè)計和生產(chǎn),或者工程設(shè)計和施工。就目前來看,企業(yè)資源(人員和資金)的***部分通常被投入到機械工作中。汽車、建筑或高速路等工作固然包含智力內(nèi)容,但工程設(shè)計上的投資在總投資中所占比例是微不足道的,盡管這部分投資具有至關(guān)重要的意義。
現(xiàn)在思考一下,你會如何組織一家主要從事機械工作的企業(yè)?機械工作***的價值源于效率,因此所有元素的組織都要從效率出發(fā)。裝配線是20世紀的主要工業(yè)流程,亨利·福特作為裝配線的“***”確立了他的歷史地位。裝配線在一端進料,在另一端產(chǎn)出有形產(chǎn)品,它的特點是千篇一律,而且單調(diào)乏味,但具有極高的效率。裝配線的進料和管理采用等級組織方式,企業(yè)中的每個人只承擔一個很小且狹窄的職責。
軟件開發(fā)的組織方式就完全不是這么回事了。軟件開發(fā)的目標產(chǎn)品是知識產(chǎn)權(quán),而不是有形產(chǎn)品,因此機械工作部分所占比例很少。
運營一家生產(chǎn)套裝軟件的工廠當然并不簡單,但可能不比運營一家生產(chǎn)其他稍顯復(fù)雜的消費品(例如面向大眾市場的相機)的工廠更復(fù)雜。運營套裝軟件工廠的真正復(fù)雜性無疑來自“主版本”可用性的不確定性,主版本是指已完成的、等待復(fù)制的軟件。完成智力內(nèi)容(即已完成的軟件)以后,事情的進展就相當順利了。
軟件生產(chǎn)的不確定性和復(fù)雜性嚴重依賴于智力活動。企業(yè)的重心要從機械工作領(lǐng)域轉(zhuǎn)移到智力活動劇增的陌生而坎坷的世界,傳統(tǒng)的組織結(jié)構(gòu)和習慣無力應(yīng)對這種轉(zhuǎn)變。
復(fù)雜縝密的思想是智力產(chǎn)品的原材料,但大部分商業(yè)企業(yè)實際上并不鼓勵思考。我們必須對企業(yè)進行一些重塑,或者用現(xiàn)代商業(yè)說法是“改造”它。我們必須找出人們?yōu)槭裁床凰伎嫉乃性颍⑾鼈?,不是開除人,而是清除那些原因。
本書將嘗試展現(xiàn)成功軟件企業(yè)的組織形式,這種形式無法被整齊地拆分為不同的職能單元。進度具有不確定性,產(chǎn)品經(jīng)理必須掌握管理這種不確定性的種種要點, 同樣重要的是,開發(fā)人員也必須完全理解這些不確定性的重要性。而且,除非每個團隊成員都有一個整體遠景,否則其貢獻必然會局限于僅僅執(zhí)行經(jīng)理或“宏程序員”為其分派的任務(wù)。這對人員潛力是一種浪費。如果想要按時交付優(yōu)秀的軟件,那么每個人的大腦都必須融入到項目中。讓每個人的大腦融入項目并一直保持專注,這是經(jīng)理的主要職責,也是貫穿本書的主題。
原文鏈接:http://www.cnblogs.com/turingbooks/archive/2011/07/08/2101063.html
【編輯推薦】