將軟件開發(fā)和價值創(chuàng)造聯系起來,同時優(yōu)化投資回報率。軟件開發(fā)從本質上說是在創(chuàng)造價值,但是在現實中,各種應用軟件往往難以交付客戶所需要的商業(yè)價值。本書直接將軟件開發(fā)和價值創(chuàng)造聯系起來,有助于開發(fā)人員改變這種狀況。通過學習本書,您將學會如何確定哪些特性能夠增值,而哪些不能,并將整個開發(fā)過程的重點重新方到更快更多地交付價值的層面上。本書前言“您絕對應該寫這本書!”這就是我的經理,StuStern,Sun公司專業(yè)服務中心副總經理對這本書的熱情回應。這本書吸收了應用開發(fā)方法中的最新觀點,并將這些方法主要應用于獲取經濟利益而不是技術利益。盡管我們在創(chuàng)造開發(fā)方法這一過程中作出了努力并取得了成功,但只有少數創(chuàng)業(yè)者認識到了利用這些技術使經濟利益最大化的潛力。畢竟經濟利益在軟件開發(fā)中通常是成功的永久度量,至少在商界中是如此。本書采用了近幾年來在贏得幾個富有競爭性的系統(tǒng)集成和應用開發(fā)項目的合同方面的經驗。雖然贏得這樣的合同無疑是利用創(chuàng)新的方法在競爭中取勝,但是同樣事關利潤的獲取。價格必然存在于用戶的預算之中,那么投資者要想得到高額利潤,就必須盡量降低開發(fā)成本,并且必須在應對風險時調整利潤值。這些觀點并無新意,它們對于任何競爭采購都是正確的。有關軟件開發(fā)的不同之處是我們恰好學會了理解價值創(chuàng)造。最普遍的看法是軟件開發(fā)要承擔風險和損失。盡管如此,即使最頑固的反對風險的開發(fā)機構都會意識到軟件開發(fā)會帶來固有的價值。如果不能創(chuàng)造價值,就沒有人會投資軟件開發(fā)。遺憾的是,開發(fā)機構的所有創(chuàng)造熱情和商業(yè)熱情通常都集中于降低成本和風險。無論是在投標階段還是在實際運作階段都是如此。開發(fā)人員運用最新的軟件方法,創(chuàng)立最新的項目管理策略,并且不斷地發(fā)展風險緩解技術,主要只是為了實現一個目標:即控制成本。相反,大部分的運作過程對客戶來說是不可見的,在這些范圍內,客戶很少參與作出重要項目決議的商討。在20世紀90年代,我為東南亞某國政府做大規(guī)模的競爭性采購工作。這個項目的本質是,由于評估參數被緊緊地束縛住了,因此技術創(chuàng)新過程中的區(qū)別就很有限,我們得用另外一種不同的方法贏得競爭。最后我想到,如果我們對將價值返還給客戶的時間進行優(yōu)化,而不是僅僅關注控制風險和成本,也許能夠提出一種與眾不同的價值方案。于是,我們根據價值單元,對客戶的要求進行重新分析和分類,最后發(fā)現我們確實可以調整開發(fā)次序,這樣一來,與優(yōu)化總成本相比,我們就可以更快地交付實際價值。同時,我們可以將成本分為更多可控部分來分期償還,每一部分都與它的利潤值有關??蛻舻慕槿胧呛苡杏绊懙摹4朔桨改苡行У亟档徒杩畹拙€和利息支出,便于產品更早地進入市場,并且依據經濟前景創(chuàng)造一個更好的模式。商業(yè)銀行需要重新計算項目經費數目,開發(fā)人員需要理解為什么我們明顯要對用戶的要求重新排序,當然,客戶自身也要看到、理解并會計算這種方法帶來的好處。在這段時間內發(fā)生了極不尋常的討論。開發(fā)人員就投資利潤的問題參與到與銀行家的討論中;項目經理將數據分析表與金融家和投資者進行交易;分析家根據“價值的轉化”而不是根據功能效率來衡量此體系結構;在這個過程的結尾,不需要分別向客戶做技術方面和經濟方面的兩種陳述,只需給出一種涵蓋這兩方面的陳述,包括這一組討論所表現的所有方面。我們贏得了時間,贏得了業(yè)務!這就是漸進投資軟件開發(fā)的起源,此后誕生了本書所要介紹的漸進投資方法(IFM,IncrementalFundingMethodology)。自然,這個方法要用幾個月的時間才能產生效果。任何觀點的醞釀都是一個不可預知的過程,在它產生作用之前誰都不清楚會發(fā)生什么。雖然漸進投資軟件開發(fā)的觀點已經初步顯示出了一些成功的跡象,但是還需要更全面地加以證實。1999年末我受命負責SunMicrosystems公司的紐約“Java中心”。這個Java中心是Sun公司的全球Java咨詢機構的一個實踐,為客戶提供體系結構和設計方面的的專業(yè)知識來解決在Java和J2EE中遇到的問題。很快我們就會看到,通過將最初的IFM觀念寫成應用軟件開發(fā)工作的提議,就能夠獲得并成功交付幾宗大合同,特別是有關金融產業(yè)的用戶。然而,我們了解到漸進的投資和早期的價值發(fā)布嚴格依賴于需求本質和價值優(yōu)化的重分配能力。需求工程本身就是一門學科。本書的宗旨是希望它能給開發(fā)人員、經理、商業(yè)主管和風險投資者的成功提供一定的幫助。如果它提供了一個所有開發(fā)機構都能用來交換觀點的通用的專業(yè)詞匯表,這些觀點是以提高經濟上的成功率,降低應用程序開發(fā)項目的風險為目的的,那么它就達到了它最主要的目標??梢赃M一步幫助讀者的是,本書有一個相關網站http://www.softwarebynumbers.org,在這個網站上您可以得到更多的信息和可下載的工具來幫助您取得進步。我們相信您會發(fā)現本書的內容富有挑戰(zhàn)性,能讓讀者輕松愉快地學習。我們歡迎您通過網站給我們發(fā)來反饋信息。祝愿您所有的軟件項目都取得成功,并且有利可圖。