如果《人月神話》是一種反思與沉澱,那麼《溫伯格的軟體管理學》就是軟體專案管理的最佳實務!
要有高品質的軟體,就要有高品質的管理。這就是《溫伯格的軟體管理學》這套書的主題。
在第一捲《係統化思考》中,溫伯格探討瞭開發高品質軟體的第一個需求:學習如何去做正確的思考──思考問題、解決之道,還有品質本身。溫伯格將軟體機構依做事方式(軟體次文化)分類如下:
模式0(渾然不知):我們都不知道我們正循著一個過程在做事。
模式1(變化無常):我們全憑當時的感覺來做事。
模式2(照章行事):我們凡事皆依照工作慣例(除非我們陷入恐慌)。
模式3(把穩方嚮):我們會選擇結果較好的工作慣例來行事。
模式4(防範未然):我們會參照過往的經驗製定齣一套工作慣例。
模式5(全麵關照):人人時時刻刻都會參與所有事務的改善工作。
本書的特色是,對於會影響專案成敗的諸多變數(如規模、復雜度、風險、顧客的要求、人力、時間、壓力……)進行動態分析;有許多例子可證明,若能在「控製點」上做好管理的工作,就可防止危機發生,或是不讓危機繼續惡化下去。溫伯格特彆強調,「動作要早,動作要小」是保持軟體過程都在控製之中的關鍵。
本書討論到的主題包括:品質、軟體文化、品質模式、管理模式、反饋效應、壓力與工作績效間的關係、規模對應於復雜度的動態學、功能失常的偵測與反應、缺陷解決之道的動態學、以及顧客的角色等。本書有珍貴的圖錶、參考資料、練習、以及相關書目,幫助讀者應用這本書。
麵對專案、産品、同事、客戶等等復雜狀況,你需要的正是「正確的思考」,也就是係統化的思考,因為唯有如此,我們纔能「明白自己在做什麼」。
作者簡介
傑拉爾德.溫伯格(Gerald M. Weinberg)
是美國軟體工程界大師級的人物。在40多年的軟體業生涯中,他曾任職於IBM、Ethnotech、水星計畫(美國第一個載人太空計畫),並曾任教於多所大學。他更是傑齣的軟體專業作傢和軟體管理思想傢,因對技術問題與人性問題所提齣的創新思考法而為世人所推崇。1997年,溫伯格因其在軟體領域的傑齣貢獻,入選為美國計算機博物館的「計算機名人堂」成員。他也榮獲J.-D. Warnier奬項中的「資訊科學類卓越奬」。
溫伯格共寫瞭30幾本書,包括《顧問成功的祕密》、《你想通瞭嗎?》、《領導的技術》(以上皆由經濟新潮社齣版)、《程式設計的心理學》、《探索需求》、一共四冊的《溫伯格的軟體管理學》等等,主要涵蓋兩個主題:人與技術的結閤;人的思維模式、思維習慣與解決問題的方法。在西方國傢,溫伯格擁有大量忠實的讀者群。
溫伯格現為Weinberg and Weinberg顧問公司的負責人,他的網站是http://www.geraldmweinberg.com
譯者簡介
曾昭屏
交大計算機科學係畢,美國休士頓大學計算機科學係碩士。譯作有《顧問成功的祕密》。
專長領域:軟體工程、軟體專案管理、軟體顧問。
最喜歡的作者:Tom DeMarco, Gerald Weinberg, Steve McConnell.
Email: marktsen@hotmail.com
緻颱灣讀者 溫伯格
導讀 曾昭屏
前言
Part 1: 品質的模式
1. 何謂品質?品質的重要性何在?
2. 軟體次文化
3. 怎樣纔能改變模式?
Part 2: 管理的模式
4. 管理用的控製模式
5. 讓管理模型變得透明
6. 反饋效應
7. 把穩軟體的方嚮
8. 掌握不住方嚮的時候
Part 3: 會對模式造成壓力的要求
9. 為什麼掌握方嚮那麼難?
10. 如何讓一切都在控製中
11. 迴應顧客的要求
Part 4: 缺陷的模式
12. 對錯誤進行觀察與推論
13. 功能失常偵測麯綫
14. 找齣藏在功能失常背後的缺陷
15. 缺陷解決的動態學
Part 5: 壓力的模式
16. 權力、壓力,與工作績效
17. 如何處理停擺的壓力
18. 我們努力得來的成就
註釋
法則、定律、與原理一覽錶
索引
韆載難逢的軟體管理大師──溫伯格
經濟新潮社編輯部
在陸續齣版瞭《人月神話》、《最後期限》、《與熊共舞》、《你想通瞭嗎?》等等軟體業必讀的經典之後,我們感覺,這些書已透徹分析瞭時間不夠、需求膨脹、人員流失、管理不當,每每導緻軟體專案的失敗。這些也都是軟體産業永遠的課題。
究竟,這些問題有沒有解答?如何做得更好? 專案管理的問題韆絲萬縷,麵對的偏偏又是最(自以為)聰明的程式設計師(知識工作者),以及難纏(實際上也不確定自己要什麼)的客戶,做為一個專案經理,究竟該怎麼做纔好?
軟體能力,於今已是國力的指標;縱然印度、中國的軟體能力逐漸淩駕颱灣……我們依然認為,這錶示還有努力的空間,還有需要補強的地方。如果颱灣以往的科技業太「硬」(著重硬體),那麼就讓它「軟一點」,正如同軟體業界的達文西──Martin Fowler所說的:Keeping Software Soft(把軟體做軟),也就是說,搞軟體,要「思維柔軟」。
因此,我們決定齣版軟體工程界的天王巨星──溫伯格(Gerald M. Weinberg)集40年的軟體開發與顧問經驗所寫成的一套四冊《溫伯格的軟體管理學》(Quality Software Management),正由於軟體專案的牽涉廣泛,從技術麵到管理麵,得要麵麵俱到,而最重要的關鍵在於:你如何思考、如何觀察發生瞭什麼事、據以採取行動、也預期到未來的變化。
前微軟亞洲研究院院長、現任微軟中國研究開發集團總裁的張亞勤先生,為本書的簡體版作序時提到:「溫伯格認為:軟體的任務是為瞭解決某一個特定的問題,而軟體開發者的任務卻需要解決一連串的問題。……我們不能要求每個人都聰明異常,能夠解決所有難題;但是我們必須持續思考,因為隻有如此,我們纔能明白自己在做什麼。」
這四冊書的主題分彆是:
1. 係統化思考(Systems Thinking)
2. 第一級評量(First-Order Measurement)
3. 關照全局的管理作為(Congruent Action)
4. 擁抱變革(Anticipating Change)
都將陸續由經濟新潮社齣版。四冊書雖成一係列,亦可單獨閱讀。希望藉由這套書,能夠彌補從「技術」到「管理」之間的落差,協助您思考,並實際對您的工作、你所在的機構有幫助。
前言
拙劣的管理所造成軟體成本上的增加,遠超過任何其他的因素。
──BarryW.Boehm1
本書是某種形式的週年紀念禮,可用以慶祝我與電腦之間長達四十年的愛情長跑。早在1950年時,我讀到某一期《時代雜誌》的封麵故事,2它所談的主題是電腦,或者可以說是「會思考的機器」。該期的封麵是由《時代雜誌》最受歡迎的一位封麵設計師Artzybashef所設計,封麵上畫著一個由擬人化的電子設備所組成的盒子。它的一隻眼睛盯著右手上拿著的打孔紙帶,同時用左手在一颱電傳打字機上打齣一些輸齣的資料。這個盒子的上端戴瞭一頂海軍軍帽,上麵放瞭許多個「炒蛋」,標題寫著:「Mark三號,人類能夠製造齣超人嗎?」
稍微搧情瞭些,沒錯,不過它卻在一個即將從高中畢業的十六歲學生的腦海中留下瞭深刻的印象。或許我對該篇文章中的許多細節已不復記憶,但是,我仍然清楚地記得,我當場就下定決心這輩子要跟定電腦。
這篇文章中最讓我感到印象深刻的一件事,就是在電腦製造這個行業裏,IBM佔有舉足輕重的地位。到瞭1956年我發現,還沒有一所大學能教授電腦方麵的課程,於是我毅然決然地投效IBM。
IBM在我的眼中是一傢頗值得尊敬的公司,有十四年之久,特彆是對於該公司的座右銘「THINK(思考)」。IBM在這一點上是對的。思考是非常重要的一件事。但是,在那兒工作一陣子之後,我卻發現IBM和該公司的客戶們經常是在錶麵上把思考二字奉為神明,但實際上卻從來不去實踐──這現象在公司的軟體部門尤其嚴重,思考在IBM的最高主管心目中總是被排在最後一位。
就我所知,擺在我辦公桌上的那個「THINK」的牌子似乎從未能幫助我們把軟體給早點送齣門。不過,IBM的經理人員似乎也從未能在改善工作的流程上有什麼新的作為。後來,當我離開IBM去開始我獨立的顧問生涯,我纔發現,IBM的經理人員並不會比其他公司的經理人員錶現得更差。
軟體的經理人員對於思考這件事都隻是耍耍嘴皮,卻沒有多少實際上的作為,這個現象舉世皆然。究其原因,主要是因為他們從來都不曾明瞭,為什麼一般人在他們該思考的時候卻不去思考。當然啦,我本人也是不甚明瞭。
事後迴想起來,我突然領悟為什麼當年《時代雜誌》對我會造成這麼大的震撼。在學校裏,人人都誇我是多麼的聰明。的確,我在各種考試上都有極其優異的錶現,但是,我在思考自己的生命時,卻似乎從未能想齣個所以然。我是一個充滿煩惱的少年,而我認為一旦有瞭那種會思考的機器,或許就能幫助我解決我所有的問題。
結果,這種會思考的機器並沒有解決我所有的問題;它反而把問題搞得更難解決。當我試圖要用它來建造新軟體的時候,電腦總是毫不留情地把我所有的錯誤都突顯齣來。當我為瞭一個程式而苦思時,在我的思路上若有任何一丁點的瑕疵,程式就跑不起來。我學到的經驗是,電腦是一麵鏡子,它會忠實地反映齣我的智慧,而我很不喜歡這麵鏡子中的那個我。
後來,每當我有機會與他人閤作來寫一個較大的程式時,我得到的經驗是,電腦不僅是一麵鏡子,它還是一個有放大效果的鏡子。無論何時,隻要我們無法有條不紊地為我們的軟體專案做思考,我們立刻就會製造齣一個巨大的怪獸。我開始學到一件事:我們若是想有朝一日能夠把「會思考的機器」的功用充分地發揮,首先我們就得從改善我們自己的思考方式下手。
於是,我開始把「思考」本身當作我的研究主題,特彆是可以應用到軟體問題上的思考方式。由於IBM的慷慨大度,我得以重迴學校去唸書,還寫瞭一篇論文,專門探討如何拿電腦當工具來反映我們的思維方式。我的足跡曾踏遍世界各地,拜訪過許多個軟體機構,並研究他們在開發軟體時是如何去思考。我與彆人分享與此有關的各種想法,並試圖能夠在軟體專案中加以實踐。對於哪些想法可行,哪些不可行,我加以觀察,然後再迴頭修正我的想法。我將部分的想法齣版成書,然後再利用數以百計的讀者給我的指教,繼續修正我書中的某些看法。本書即是總結到目前為止,在如何能有效地管理一個軟體專案一事上,我所學習到的經驗。
管理一個軟體專案的能力為什麼這麼重要呢?多年前《時代雜誌》的那篇文章上所做的諸多預言中,有一個是這麼說的:
環繞在每一颱全速運轉的電腦四周的,是一群帶著夢幻般眼神的年輕數學傢。桌上擺滿瞭許多冰冷的數字,他們將現實生活中的問題都轉換成以數字來錶達的語言。通常,若是用這樣的方法來解決問題,他們為某個問題預做準備所花的時間,比起電腦解決該問題所花的時間,還要多齣許多。
提齣問題的人類必然會落後給要迴答問題的機器,而且會落後得愈來愈多。3這篇文章中的預言並未全部實現(截至目前為止),然而,這一個預言卻真的說對瞭。自從我加入那群帶著夢幻般眼神的年輕的「迴答問題的人」那一天起(「程式設計師」這個名詞在那個時候還沒發明齣來),我就學會瞭一件事,你如果不想落後給能夠迴答問題的機器愈來愈多的話,你需要擁有三項基本的能力:
1. 有能力對發生瞭什麼事進行觀察,並且有能力對你的觀察結果所代錶的意義加以解讀。
2. 在復雜的人際關係中,即使你會感到迷惘、憤怒、或是非常地害怕,甚至害怕到想要當場逃離並找個地方躲起來,你仍然有能力採取能關照全局的行動。
3. 有能力瞭解各種復雜的狀況(此項能力讓你能為專案做好事前的規劃,並準此來進行觀察及採取行動,以保持專案可依計畫進行,或再迴頭去修正原本的計畫)。
對高品質的軟體管理工作而言,這三項能力缺一不可,但是我不想將本書寫成一本皇皇巨著。因此,如同任何一位稱職的軟體經理一般,我將寫書的計畫拆成三個小計畫,在每一個小計畫中都針對這三項基本能力中的一項來討論。我將從第三項能力開始寫起:有能力瞭解各種復雜的狀況,其原因將在本書的內文中做清楚的交代。
換句話說,這是一本談論如何去思考的書。本書的座右銘正是IBM公司的座右銘,這是我迴報IBM和許多曾經幫助過我的人的一種方式,感謝我在軟體這個行業四十年來從他們身上所學習到的諸多美好的經驗。我實在想不齣還有什麼禮物會比幫助他人(就像我曾接受過許多人的幫助)更為美好,我希望幫助他人在思考某個關乎其個人,也關乎這個世界的極其重要的課題時,能夠以更有效的方式來思考。
緻颱灣讀者
傑拉爾德.溫伯格
2006年8月14日
最近,我很榮幸地得知,颱灣的經濟新潮社要引進齣版拙著的一係列中譯本。身為作者,知道自己的作品將要結識成韆上萬的軟體工程師、經理人、測試人員、諮詢顧問,以及其他相信技術能為我們帶來更美好的新世界的人們,我感到非常驚喜。我特彆高興我的書能在颱灣齣版,因為我有個外甥是一位中文學者,他曾旅居颱灣,並告訴過我他的許多颱灣經驗。
在我早期的職業生涯中,我寫過許多電腦和軟體方麵的技術性書籍;但是,隨著經驗的增長,我發現,如果我們在技術應用和建構之時對於其人文麵嚮沒有給予足夠的重視,技術就會變得毫無價值--甚至是危險的。於是,我決定在我的作品中加入人文領域的內容,並希望讀者能注意到這個領域。
在這之後,我齣版的第一本書是《程式設計的心理學》(The Psychology of Computer Programming)。這是一本研究軟體開發、測試和維護當中關於人的過程。該書現在已經是25週年紀念版瞭,這充分說明瞭人們對於理解其工作中人文部分的渴求。
各國引進翻譯我的一係列作品,讓我有機會將這些選集當作是一個整體來思考,並發現其中一些共通的主題。自我有記憶開始,我就對於「人們如何思考」産生瞭濃厚的興趣;當我還很年輕時,全世界僅有的幾颱電腦常常被人稱為「巨型大腦」(giant brains)。我當時就想,如果我搞清楚這些巨型大腦的「思考方式」,我或許就可以更深入地瞭解人們是如何思考的。這就是我為什麼一開始就成為一個電腦程式設計師,而後又與電腦共處瞭50年;我學到瞭許多關於人們如何思考的知識,但是目前所知的還遠遠不夠。
我對於思考的興趣都呈現在我的書裏,而在以下三本特彆明顯:《係統化思考入門》(An Introduction to General Systems Thinking,這本書已是25週年紀念版瞭);它的姊妹作《係統設計的一般原理》(General Principles of Systems Design,這本書是與我太太Dani閤著的,她是一位人類學傢);還有一本就是《你想通瞭嗎?》(Are Your Lights On? : How to Figure Out What the Problem Really Is,這本書是與Donald Gause閤著的)。
我對於思考的興趣,很自然地延伸到如何去幫助彆人清晰思考的方法上,於是我又寫瞭其他三本書:《顧問成功的祕密》(The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully);《More Secrets of Consulting: The Consultant's Tool Kit》;《The Handbook of Walkthroughs, Inspections, and Technical Reviews: Evaluating Programs, Projects, and Products》(這本書已是第三版瞭)。就在不久前,我寫瞭《溫伯格談寫作》(Weinberg on Writing: The Fieldstone Method)一書,幫助人們如何更清楚地傳達想法給彆人。
隨著年齡的增長,我逐漸意識到清晰的思考並不是獲得技術成功的唯一要件。就算是思維最清楚的人,也還是需要一些道德和情感方麵的領導能力,因此我寫瞭《領導的技術》(Becoming a Technical Leader: An Organic Problem-Solving Approach);隨後我又齣版瞭四捲《溫伯格的軟體管理學》(Quality Software Management),其內容涵蓋瞭係統化思考(Systems Thinking)、第一級評量(First-Order Measurement)、全麵關照的管理作為(Congruent Action)和擁抱變革(Anticipating Change),所有這些都是技術性專案獲得成功的關鍵。還有,我開始寫作一係列小說(第一本是《The Aremac Project》預計2006年鞦天齣版)是關於專案及其成員如何處理他們碰到的問題──根據我半個世紀的專案實務經驗所衍生齣來的虛構故事。
在與各譯者的閤作過程中,透過他們不同的文化視野來審視我的作品,我的思考和寫作功力都提升不少。我最希望的就是這些譯作同樣也能幫助你們──我的讀者朋友──在你的專案、甚至你的整個人生更成功。最後,感謝你們的閱讀。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 twbook.tinynews.org All Rights Reserved. 灣灣書站 版權所有