通常,年末是總結反省的好時機(注:原文寫於2002年12月7日)。形勢好的時候,我們祝賀自己乾的漂亮,形勢不好的時候,我們沉思犯下的錯誤。過去的一年對於很多人來說都不好過;特別是那些處在技術產業中的人們。我想,對於過去我們所做的錯事,討論的文章已經太多,所以我就不再老調重談了。我想給大家講一個關於做事做得超級漂 亮的故事。這個事情已經成了計算機產業裡的一個傳奇。它是關於IBM的黑衣小組的故事。
黑衣小組
二十世紀六十年代的計算機世界跟現在完全不同。計算機個頭巨大,昂貴,需要人全天候的值守來保證它執行。產品生產週期通常按年計算,而不是按月算。現代計算工具幾秒鐘能完成的事情當時需要數週。一旦有新的計算機型號被開發出來,其上的作業系統和各種應用都要重新開發。
然而,也許這其中最大的不同卻是,儘管按這種方式開發計算機系統是超級的複雜,客戶卻堅持認為各種系統必須完全正確的工作。如今,軟體廠商都在 灌輸我們,讓我們相信軟體中的bug是無可避免的,但是在那時,有bug的作業系統被嚴格的認為是有缺陷的產品。客戶不會為有缺陷的產品付款。
這些軟體上的問題讓IBM耗費了大量的資金,必須想出辦法應對這個問題。管理者注意到,有些軟體測試人員比其他人員更擅長於找出軟體中的問題, 效果會高出10%到20%。他們理所當然的認為,如果讓這些人組成一個小組,這個小組的測試效果就會提高10%到20%,就讓這樣的小組去測試要求最嚴格 的系統的元件。
事實證明情況並非這樣。
組成這個小組的個人並非格外的智慧和有特長,但他們全部都對測試有濃厚的興趣,比一般人更擅長於測試。當這些志趣相投的人組合到一起後,他們把所有的工作時間,午餐時間,有時還有業餘時間都花在如何一起更好的找出軟體中的問題。
很快,這個小組裡的成員的測試能力就比其他人高出一倍甚至數十倍,他們並開始不把他們的工作看作是測試軟體,而是當作去摧殘軟體。團隊成員對他 們的這種能力自然而然的產生一種強烈的自豪感,一種邪惡的毀滅者的形象開始在他們心中漸漸的培養出來。作為一個團隊,他們開始在上班時穿一身黑衣,並且稱 呼自己為“黑衣小組”。
那時的IBM並沒有真正的想培養公司辦公室裡的創造性。公司員工的形象是統一的深藍外套和白襯衣。然而,公司管理者們不僅容忍了黑衣小組的出現,而很喜歡他們。也許是他們對這群充滿激情而執著的人感到驚歎,管理者們的唯一要求就是軟體質量快速的提高。
事情很快變的有些瘋狂。無論何時他們發現了軟體中的問題,團隊裡就會爆發出極具渲染效果的狂笑。有些人甚至留出了大鬍子,當他們琢磨摧殘程式設計師 們的程式碼時會誇張的用手捻動鬍鬚。他們對軟體所做的事情已經遠遠超過了合理的使用性測試,更類似一種對軟體的嚴刑拷打。事情做的越瘋狂,這個團隊的成績越 顯著。
需要說明的是,黑衣小組對於他們的工作非常的嚴肅,他們跟那些從事開發的團隊之間沒有多少情誼關係。程式設計師某種程度上對黑衣小組很尊敬,但更大 程度上是一種畏懼。程式設計師最不希望出現前面走向自己的人就是黑衣小組,不止一個程式設計師因為自己的程式要受到黑衣小組的評估而嚇得流淚。
儘管黑衣小組多麼的讓人恐怖,人們都希望成為小組成員。當一個成員離開時,團隊自己會尋找一個替補者,這樣讓團隊保持規模並且即使當所有的最初元老都離開了後也能最大最長久的保持團隊的個性和效能。
後記
對於軟體產業不是很熟悉的人也許不能完全的理解黑衣小組在IBM實現的成就的重大意義,而我們在這個故事中學到的真正教育意義其實跟軟體沒有多大關係。
一小隊稍微優於常規水平的人被委派去做很多人都認為是無趣的並且不討好的事,不僅出乎任何人的意料的優秀的完成了任務,而且事情做的樂趣叢生,使之成為這個領域裡的傳奇。
當我在瀏覽這個年末的計算機行業以及整個世界都在面對的諸多問題的列表時,我無法讓自己能像作者希望的那樣帶著沉重的心情看待它們。畢竟,即使最糟糕的事情,對於一群志同道合並懷有獻身精神的人來說,那也是可以解決的。