微軟研發致勝策略 特色及評論
譯 者 序
您是否經常聽說"某某軟體的推出時間將比預定延後……"?這可能是您在報章雜誌上看到的訊息,它告訴您,你還得再等一段時間才能用到新版的產品,也可能,您就是這個項目的領導人,正在為進度延誤的問題頭痛不已……或者,您正在使用的軟體出現了某種怪異的現象,把您辛苦工作的東西全毀了,您最多只能打電話給軟體公司的總裁大罵一番,但就是美國總統也無法把您的東西還原回來……
自電腦問世以來,軟體開發項目要如期完成、軟體的品質要夠好,就一直是所有開發團隊的夢想,也一直是大部分開發人員的夢,因為它實在太難達到了。最大的原因,當然是軟體本身的性質,它是無形的、錯綜複雜的智慧財產;第二個原因是它幾乎沒辦法由一個人獨力完成,必須憑藉非常密切的團隊合作;還有許多其他數也數不完的原因,不幸的是,這個問題沒有公式、沒有解藥,甚至沒有絕對的答案。
本書為所有的軟體開發人員,回答這個軟體開發領域最大的問題:"如何在限期之內,完成高品質的軟體",更理想的是人員不必逾時工作。作者是軟體的資深項目經理,曾經參與過無數重要的項目,現擔任教育訓練的工作,負責輔導微軟內部的開發團隊,教他們的項目經理該如何領導組員、程式設計師應該如何發揮最高的工作效率。本書正是作者多年工作
心得的精華,在軟體界,任何人要升項目經理之前,本書是必讀聖經。由於作者擔任教育訓練工作,本書結構完整,深入淺出,讀起來特別輕鬆,而且其中穿插軟體的真實故事當作實例說明,讓人印象深刻。
雖然作者是微軟人,說的都是微軟事,但對於任何一位軟體從業人員,本書的經驗都很值得分享,作者並不歌功頌德,而是真真實實地道出軟體開發所有的秘訣,作者對於任何問題都力求抓住重點,直指核心,可以說是從實務面出發的一本軟體開發教學手冊。
中國雖然純粹的軟體業比較少,但是很多MIS部門的經理深受項目難以控制的困擾,也有很多承攬項目的系統整合業者,面臨項目無法了結就拿不到尾款的壓力。不論是不是軟體公司,只要是設計軟體的人,多少都嘗過項目落後的痛苦感,應該都能從本書中找到一些解答。東方文化中的主管,比較不敢放手讓員工發揮,比較愛開會、講究規矩程式,對屬下的工作成績也傾向要求多於協助和鼓勵,本書對於軟體從業人員,應該是一個新的視角吧。
衷心期盼本書能帶給讀者新的思潮,幫助更多的軟體從業人員,促進軟體業的蓬勃發展。
微軟研發致勝策略 內容簡介
作者詳細描述了他在美國領導項目的各種實際的策略方法,教您如何開發高質量的軟體,而且絕不延誤。本書中,作者直率、真誠的筆調,與您暢談在微軟中經歷過的種種成功與失敗,他將告訴您:* 如何增進團隊的工作效率,而且讓每個人都樂在其中?
* 為什麼您曾想把超級程式設計師趕走
* 如何避免落入行政程式的天羅地網?
* 有哪些小小的改變,可以換取極大的效益?
* 不必加班就能如期完成軟體的秘訣?
* 如何讓所有的工作都價值兩倍?
* 如何讓團隊保持持續的創造力?
* 如何提高程式設計師的整體技術水平?
本書是為每一位從事研發工作的朋友而寫,相信您在讀過本書之後,一定急於推薦給您的主管,同事和您的朋友。
相關圖書:《微軟團隊成功秘訣》 、《微軟項目求生法則》
微軟研發致勝策略 本書前言
這本書是發生在微軟的真實故事,也許您讀過之後會覺得微軟真是糟。至少這是我在寫本書時的疑慮之一。我曾經考慮要不要把一些地方輕描淡寫帶過,或是乾脆跳過不寫,但是最後我決定除了人名都換掉以外,一律老老實實地保留所有事件的原貌,好讓這些故事對讀者更加實用。除此之外,我相信讀者不會因為本書就看扁了微軟,微軟既能夠在產業中獨領風騷,當然不可能都是笨蛋在當家。
本書大部分的事例,都是我在微軟負責為遇到麻煩的團隊實施在職訓練時親身經歷過的。所謂"問題團隊"。就是進度嚴重落後、程式的品質無法達到公司要求的水準,或是程式設計師一天到晚拚命工作而成績卻極為有限的團隊。從與這些問題團隊的相處,我很明顯地感覺到,他們都在犯同樣的錯誤,而且一再重蹈覆轍,不僅如此,我還發現連那些做得很成功的團隊也犯著同樣的毛病,只不過發生得比較少、或是及時彌補過來罷了。
每一次研究團隊的問題,我總是發現項目經理幾乎不去思考項目本身,而只管寫程式。項目經理不去注意控制進程,不去預防可能發生的問題,不去保護組員免受雜事干擾,不去把項目目標進一步詳細劃分,也不去擬定創新或積極的計畫。總之,項目經理應該去思考,但卻把時間花在做事上了。
其實說起來也不是項目經理的錯,他們不是被訓練來當主管的。他們原本是程式設計師,某天忽然不知怎么的變成了主管,他們知道如何把程式寫得呱呱叫,但不知道如何帶領團隊,只好繼續做他們最專長的事情--寫程式,然後讓項目自生自滅。
很不幸的是,大部分的程式設計師根本不認為自己需要知道如何推動項目:"我又不是項目經理,何必考慮這些?"他們認為真的當上了項目經理再說,可是到時候再學就有點太遲了。
我寫的另一本書《零錯誤程式》(Writing Solid Code),是把被證明有效的技巧與策略提供給程式設計師,教他們如何使程式錯誤變得更少。而這本書則是寫給項目經理和程式設計師的,它告訴您如何讓項目順利進行,避免進度落後、拚命加班等軟體產業中常見的苦難。
要想如期推出高品質的軟體,又不需長時間加班,並能做得有聲有色有樂趣,這不是夢想,本書所提供的技巧和策略就能幫您做到。
微軟研發致勝策略 本書目錄
推薦序
出版者的話
譯者序
作者簡介
作者序
前言
一般的領導者
寫出好的程式
簡介微軟的軟體開發制度
說來容易做來難
第1章:奠定基礎
專心改善產品
排除干擾
一定有更好的方法可以減少干擾
明白說出目標
努力要有代價
程式設計的優先考慮
嚴守基本原則
第2章:策略性的作業方式
濃淡合適的咖啡
學習前人的經驗
好方法要讓大家分享
不要死守規則
反饋迴路
愈簡單愈好
第3章:保持進度
高架道路
錯誤的問題
荒謬的選單
就是說不
你無法讓每個人都滿意
上級的建議
真正的成本
炒魷魚宏
很酷,但並不重要
這樣比較好嗎
避免干擾
第4章: 走極端的狂。
無人理睬的報告
好報告、壞報告、束之高閣的報告
避免召開會議
讓會議有效果
避免會後工作
剷除障礙物
第5章: 進度狂
很久很久以前,有一個項目……
適當的壓力
緊逼盯人的最後防線:質量
穩操勝算的日程表
加強"哇喲!"的效果
理想的期限
第6章: 學無止境
五年資歷的笨蛋
受用無窮的技術
讓專家再重新學習
"新年新希望"症候群
實時的學習
馬後炮式的管理
全方位的才能
第7章: 態度問題
錯誤的態度
不願下功夫
凡事不能的態度
這樣已經夠好了
小心次功能
程式設計師要懂得顧客心理
產品的整體觀
重複就是浪費
槓桿的效應
善用資源的態度
第8章: 沉船的感覺
過正常的生活
鞠躬盡瘁的迷惑
周末悍將
新兵訓練
扭轉乾坤
我無法在白天工作
激情過後
第9章: 給領導者的話
微軟研發致勝策略 文章節選
程式設計師要懂得顧客心理在第1章里,我提過一位負責開發宣傳品函式館的組長,他從來沒有把函式館的使用者當成"顧客"看待,所以他從未想過版本不兼容的話會對其他的組員造成極大的困擾。我看過太多類似的事例,因此,我認為程式設計師都應該有這樣的思考能力�D�D把程式的使用者當作"顧客"去了解他們的心理,使程式更能滿足他們。
當Windows版的EXCEL小組打算重寫一部分的程式代碼使它也能在Macintosh上執行時,有一位程式設計師採用鍵盤操作的方式來做選單(keyboarddriven menu),這是很多企業用戶強烈要求,但是在Macintosh上卻做不到的,對於macintosh使用者來說,這一部分向來是用滑鼠來操作的。由於在Macintosh上沒有標準的"鍵盤驅動選單"可以遵循,所以這位程式設計師採用了Windows的按鍵慣例來寫鍵盤驅動選單,這樣的話,程式會最好寫因為這樣就不必為Macintosh另外設計一套操作的流程邏輯,他完成了這一部分的程式,就到我的辦公室來示範給我看,他的Macintosh版鍵盤驅動選單和Windows版的看起來完全一樣做得非常精彩,我不禁暗中叫好,我操作把玩他的程式時,忍不住發出讚嘆。但是當我稍微冷靜下來,我想起了一個問題,我問程式設計師道:"我現在不想使用Windows界面的話,該怎么做?"
他顯得納悶:"你為什麼想這樣做?"用鍵盤來操縱選單並不干擾滑鼠啊,沒有理由非把Windows界面移除不可吧。
他的反應讓我驚訝,因為在那個時候,隨便找一本蘋果計算機方面的雜誌,上面都充滿了對Windows的憎恨,蘋果的使用者對於Windows的"超人氣"非常反胃,他們認為Windows不過是個靠模仿起家的三流產品,Macintosh才是有看頭的好東西,只可惜世人眼光多短淺,竟把它當成古怪地玩具,對所有的Macintosh迷來說,Windows是個不折不扣的大壞蛋。
所以,我對這位程式設計師說:"如果我們的EXCEL採用Windows習慣的選單操作方式,勢必造成Macintosh迷的強烈反感,如果我們把Macintosh上的EXCEL做得跟Windows完全一樣,注定會被雜誌批評得體無完膚的。"
這位程式設計師不太願意修改他的程式,他認為自己已經完成了這一部分的工作,而且他急著去做下一項工作,後來我們找了幾個比較有關的程式設計師來討論這個敵對性的使用者界面問題,結果大家意見一致:Macintosh版的EXCEL 不但要看起來像是Macintosh的套用軟體,它還要打從骨子裡流著蘋果的血統,要讓別人看著它時腦中浮現蘋果那六條鮮艷的顏色,於是這位程式設計師只好回去改他的程式了。
過了一會兒,他從隔間裡跑出來,給我看他的最新作品,這次我真的大驚喜,他不只是為Windows式的按鍵選單做了開關。他還做出了Macintosh式的按鍵選單,還有,他做了一個相當聰明的設計,程式的預設情況以下以Macintosh式的按鍵選單出現,使用者可以用熱鍵的方式在Macintosh式和windows式之間切換,還不只這些,他甚至把對話框也比照辦理,使用者切到Macintosh式的按鍵選單時,連對話框也一併自動變成Macintosh式,使用者切到Windows式的按鍵選單時,對話框立即自動變為Windows式。這回我們可以"通吃"啦。
微軟研發致勝策略 作者介紹
本書作者史蒂夫・馬魁爾(Stephen Maguire)畢業於亞利桑那大學(University of Arizona)的電機與計算機工程系(electrical & computer engineering),但是他真正感興趣的是計算機軟體方面。在過去的19年中,馬魁爾一直在美國和日本從事專業的程式設計工作。在70年代後期,馬魁爾大部分的工作內容是開發工具和套用軟體用程式,偶爾為Processor Technology和NorthStar user's group寫一點電子遊戲。之後馬魁爾又負責過無數的重要項目,包括1982年的valFORTH,這是一個備受稱讚的FORTH開發系統,能夠讓Atari的程式設計師在遊戲軟體中做出高畫質的影像。1986年,馬魁爾為了參與Macintosh高級套用軟體的開發而加入了微軟公司,開始為Excel開發一套MC680x0 Macintosh交叉發展系統。他在微軟最廣為人知的成就,就是成功推動了跨平台的程式代碼共享策略。身為一位微軟的資深軟體設計專家與項目經理人,馬魁爾花了七年的時間輔導那些出了問題的團隊,使他們真正懂得如何有效率地工作,懂得樂在工作。
本書是馬魁爾的第二本書,為軟體開發團隊提供最實用的指導,教您如何開發專業級的高品質軟體。馬魁爾的第一本書,也是他的成名作是《零錯誤程式》(Writing Solid Code,1993),教程式設計師如何寫出零錯誤程式的策略,曾經獲得Software Development jolt Productivity Award和Society For Technical Communication兩項大獎。
史蒂夫・馬魁爾目前和他的妻子貝絲(Beth)、愛犬艾比(Abby)住在華盛頓的西雅圖,他的e-mail地址是:stephenm@stormdev.com或microsoft!storm!stephenm。