在今年過農曆年前,看到以前閱讀《溫伯格的軟體管理學(第二卷):第一級評量》所做的筆記,引發同人想要寫一篇文章探討軟體開發團隊的官僚特性。但由於工作轉換及其它寫作計劃的原因,直到現在才有時間分享我對軟體開發團隊的官僚特性之心得。
最近讀到一篇文章〈不要盲目的 BDD / TDD,我對寫測試的看法〉,看完作者 XDite 反對不論如何都要導入 TDD 的理由,讓同人想提出我對這篇文章的看法。
在公司高層這種態度和形成的公司文化氛圍之下,公司產品最後會變成「把做好的東西丟到牆的那一邊去」就不足為奇了。再加上以西方優越感產生文化的價值批判,在這種情況之下,QA 對產品品質的提昇有多少著力點呢?同事丙的離開做出了最好的回答。
比起個人的單打獨鬥,團隊合作可以創造更高的效益,但該如何組織高效率的團隊,却往往是令人傷透腦筋的一件事。團隊在組織中是跨越部門的功能性與職位層級的工作小組,它組合了多樣性與一致性兩種特性。團隊多樣性是來自於組織當中不同的部門或功能群組事業單位,而一致性則是基於相同組織具有相同的企業文化及共同目標。 由於這兩項特性,在團隊中是彼此對立但卻又是相輔相成的,因而容易造成管理團隊合作的困難。團隊可以發揮成員能力多樣性的優勢,產生團隊綜效而創造更高的整體效益,但另一方面,團隊的多樣性太高,將會對一致性造成衝擊,使管理者面臨到管理的困難。 團隊多樣性有助於團隊績效,但多樣性很容易使成員之間因為意見分歧,進而產生情緒反應與相互的干擾行為而發生衝突。衝突通常對團隊績效是有損害的,這在團隊發展是需要注意的問題,因此團隊領導者通常需要想辦法增加團隊的一致性,以降低成員之間一旦發生衝突的麻煩。 同人之前在文章〈技術經理的教練角色〉,就曾經提到技術經理不應該為了增加一致性而犧牲多樣性。在那篇文章同人對通達人提出的觀點,表達我的看法。他認為在保有多樣性的同時,也必須注意—致性。因為一致性是合作的基礎,就像足球隊隊員們都須熟練基本技巧「控球」和「傳球」,才能在實際比賽中透過一系列交互傳球得分。 同人當時以「必要多樣性法則」來說明如果技術經理的管理彈性不足,他就只能對團隊成員處處設限,以減少團隊的多樣性來降低管理的困難。但如此一來也等於抑制成員的創意,常會使得問題的解決更加困難。因為團隊可以視做一個動態系統,這個系統的行為將會由系統最有彈性的部分來掌控。換句話說,如果技術經理的彈性不足,那麼團隊的多樣性將會造成他控制整個系統的困難度。 從「必要多樣性法則」可以理解,如果希望利用團隊創造出更高的效益,多樣性是不可或缺的,否則團隊合作所產生的效益必然會欠缺創造力。這樣的觀念就像自然界生物與社會發展的演進一樣,存在差異性才能促成個體致力於創新與改變,進而促成整體性的發展與成長。 有趣的是,前一陣子同人在《我不要當負翁!教你如何經濟思維》這本書中也看到以經濟學的交易及合作的觀念來解釋團隊多樣性的必要性,也覺得非常有意思。 《我不要當負翁!教你如何經濟思維》提到運用「絕對優勢」和「比較優勢」都可以創造合作的效益。「絕對優勢」可以降低生產的會計成本,而「比較優勢」則是可以降低生產的機會成本。
聽到同事轉述管理階層的說法,倒是讓我覺得如果管理只要照著做,那問題可就大了。同人這篇文章寫下我對這事件的看法,不過我並不想討論管理階層所制定流程系統的優劣,而是想探討到底對專案管理而言,最重要的事情到底是什麼。
短期來說,高層管理者所不願承擔的壓力加諸在專業人員身上,他們總是無力反抗而必須默默承受。但長期讓專業第一線的工作人員一直承受壓力,而不懂得適時激勵來增加專業人才的士氣,總有一天將會令專案付出慘痛的代價:損失重要的專業人才。因此,對於專案管理者而言,這是值得關切的問題。
技術經理當教練如果對公司是不好的徵兆,問題應該還是出在領導上,誠如同人過去發表過的文章所講的:強將手下無弱兵,但也不會有強將。沒有辦法訓練培養人才的教練,還是因為技術經理不諳教練之道呀!
在觀念上,以上的討論已經將技術經理擔任教練的動機及基本觀念,詮釋地相當清楚。但從自己實際從事技術工作的經驗來看技術經理當教練這件事,事情卻好像並不如以上討論到的那麼簡單。同人認為 MaoYang 兄提到的這個主題,可以從兩方面來探討,一個是技術經理要教練的東西為何,另一個則是技術經理擔任教練的目的為何。
分享會在台北市電腦公會舉行,看到現場互動氣氛的熱絡,以及會後學員們給予不少正面的評價,感覺大家收穫都不少。其實包括我自己在分享會結束之後也產生了一些想法,倒是想藉由此文章分享我的分享會後心得。
這篇文章是投稿 ZDNet Taiwan 的文章原稿,由 ZDNet Taiwan 以〈如何在系統異常前發現錯誤?〉、〈如何在系統異常前發現錯誤?(下)〉兩篇文章刊登。文章原稿未經 ZDNet Taiwan 編輯,內容可能與 ZDNet Taiwan 約略有所不同。 前一陣子有兩個與資訊系統失常有關,而且眾所矚目的新聞事件,也就是戴爾電腦網路購物系統與台北捷運內湖線的系統異常。相信很多人都認為這兩個系統會發生系統異常相當離譜,在系統上線之後才發現系統無法正常運作,造成系統使用者的困擾,同時也會讓人對系統可靠度與穩定度失去信心,而增加系統的失敗成本。 雖然平心而論,想要事前預料系統可能發生的問題,並加以預防或因應其實並不容易,因為開發系統,尤其是軟體開發常會碰到事先難以預料的問題。但如果能在錯誤造成危害之前,就能夠發現問題並採取適當的行動來解決它,應該就能減少系統的失敗成本。因此,看到戴爾與台北捷運內湖線的重大系統異常,讓筆者想探討如何在系統失敗前發現錯誤,以避免系統失敗的巨大損失。





最新迴響