在 LeSS 最後一天,聽到別的公司在導入敏捷時,也成立了很多很多的實踐社群 CoP (Community of Practice),其中一個是 心靈成長 CoP,讓我印象非常深刻,這邊來聊聊為什麼 :)
在第五項修練中,彼得聖吉一直在強調"整體":
「遠古的人類並未把自己跟所處的世界加以區分。那時的人類所看見的世界是一個未被打破的整體,人與自然合而為一。但不知自何時起,我們學會了區分自己,
視自己為分離的個體。我們刻意凸顯個人意識,強調獨立的意志、個人需求和個人的願望。這種自我意識的演化愈來愈強,我們也愈來愈與他人以及上帝所創造的萬物區分。
這對人類的演進而言,是福,也是禍。」
「在企業裡,行銷部門與製造部門處於對立狀態;第一線的管理人員對總公司管理當局懷有近乎憎惡的敵意;各部門的競爭更甚於跟同業的競爭。」
家裡附近有幾家早餐店,其中一家大部份只有老闆娘一個人獨撐大局,另外二家則是有好幾個員工。每家早餐店的客人數量感覺都差不多,不過員工多的反而常常出餐慢、上錯餐點,而一人早餐店卻可以做的非常有條理,速度也不錯。根據我長久以來的觀察,我發現了其中的奧秘...
一人早餐店:老闆娘具備了明星早餐店員工該有的特質:
人海早餐店:這裡的員工通常不具備明星架勢
不過我的心得是,軟體開發跟開早餐店有許多相同之處,軟體開發應該要找明星級人才來,而不是找一堆普通的人才,明星級人才可以一個人獨立完成相當規模的程式(C++ 5,000~100,00行),他不需要花時間在與其它人溝通,但如果你雇了三個普通的人才,他們花在溝通協調的時間(甲:喂,我這個不是thread-safe哦!乙:為什麼呼叫進去會block住這麼久?丙:你的介面很難用耶),可能明星級人才都已經把事情做完了(一個人做,他很清楚怎麼設計最好,別人還在 Multi-Thread 打滾時,他已經想出了一個高效的 Single-Thread 解法)。
你還認為三個臭皮匠勝過一個諸葛亮嗎,我不認為,因為扣除溝通這一點外,還有一句人月神話裡的名言:「在接受相同的訓練、同樣都是兩年資歷的情況下,優秀專業程式設計師的生產力要比差勁的程式設計師好上十倍」。如果要打造一個大型的軟體,你需要的會是幾個諸葛亮,而不是一堆臭皮匠。
後記:
今天早上又去了人海早餐店,點完餐,報紙翻沒幾頁時,店員竟然已經拎著我的早餐給我,對我說:「先生,你的餐好了,一共NT$135」,我眼淚都快流出來了,你們真的進步了,出餐的速度變快了。回到家,我真的流下淚來,我點了蘿蔔糕、漢堡、鐵板麵加一杯豆漿及薏仁漿,但是袋子裡面只有漢堡、鐵板麵跟薏仁漿,也就是有40%的餐點是沒有給我的(不過錢倒是100%都有算到)..............我無言了。只能說加油了....
一人早餐店:老闆娘具備了明星早餐店員工該有的特質:
- 記憶力超強、超級會認人:她可以一邊接電話收預訂早餐的訂單,一邊聽在現場的客人跟她點餐,而且不會搞混。當你點過一次鐵板麵加半熟蛋後,以後你再來點鐵板麵加蛋時,她就會直接跟你確認:「蛋半熟厚?」,點過漢堡不加生洋蔥,以後她就會直接跟你確認:「洋蔥不要厚」。
- 手腳快:是的,他一個人可以顧好四台烤箱、一排烤麵包機、正在煮的義大利麵跟那檯永不停息的鐵板爐,而且每當有一些新訂單進來時,他總能瞬間將生產排程最佳化
- 心算快:要結帳時,他瞄一眼你的桌子,就知道你總共吃了那些,總共多少錢~
人海早餐店:這裡的員工通常不具備明星架勢
- 記憶力普普:你講過一次的東西他可能在覆誦時就漏了,還有打電話來訂結果做錯餐的,當然,這裡的員工也不大會記得你愛吃什麼,什麼要加什麼不加,蛋是全熟還半熟,所以你每次都必需交待一遍(不過更慘的是,現在交待的也不見的記得清楚就是了..)
- 手腳快不起來:每個人速度還好,但是做一個漢堡要三個人做->A對甲說:幫我烤一份漢堡,再對乙說:幫我煎一個豬排,最後再由A統一加工,每當A說:再幫我烤一份漢堡時,甲就開始想到底是剛才要烤的那份還是要再加一份,然後就需要進行「溝通」,每當有新的訂單進來時,也無法將生產排程最佳化,因為每個人都只能看到 local 的東西,沒有辦法綜觀全局。甲還不時要同步一下,問說:「所以現在總共烤二個嗎?」
- 心算普普:當你結帳時,櫃台那位還很有可能要轉頭問另一位店員說:「他的多少錢?」,天啊,這樣不是很像冗員嗎.........而且被問的那位還要看看單子慢慢算,真的是很慢啊 =.="
不過我的心得是,軟體開發跟開早餐店有許多相同之處,軟體開發應該要找明星級人才來,而不是找一堆普通的人才,明星級人才可以一個人獨立完成相當規模的程式(C++ 5,000~100,00行),他不需要花時間在與其它人溝通,但如果你雇了三個普通的人才,他們花在溝通協調的時間(甲:喂,我這個不是thread-safe哦!乙:為什麼呼叫進去會block住這麼久?丙:你的介面很難用耶),可能明星級人才都已經把事情做完了(一個人做,他很清楚怎麼設計最好,別人還在 Multi-Thread 打滾時,他已經想出了一個高效的 Single-Thread 解法)。
你還認為三個臭皮匠勝過一個諸葛亮嗎,我不認為,因為扣除溝通這一點外,還有一句人月神話裡的名言:「在接受相同的訓練、同樣都是兩年資歷的情況下,優秀專業程式設計師的生產力要比差勁的程式設計師好上十倍」。如果要打造一個大型的軟體,你需要的會是幾個諸葛亮,而不是一堆臭皮匠。
後記:
今天早上又去了人海早餐店,點完餐,報紙翻沒幾頁時,店員竟然已經拎著我的早餐給我,對我說:「先生,你的餐好了,一共NT$135」,我眼淚都快流出來了,你們真的進步了,出餐的速度變快了。回到家,我真的流下淚來,我點了蘿蔔糕、漢堡、鐵板麵加一杯豆漿及薏仁漿,但是袋子裡面只有漢堡、鐵板麵跟薏仁漿,也就是有40%的餐點是沒有給我的(不過錢倒是100%都有算到)..............我無言了。只能說加油了....
做早餐 vs 做軟體 - 早餐店老闆也該看人月神話
這本是前一陣子發現的好書,本書點出了許多程式員的迷思及觀念:
- 你可能剛學會了一堆Patterns,便迫不及待的在任何專案中開始導入Patterns,但這真的是你要的嗎?你要的是更好的設計,而不是更多的範式」,一味的追式範式,只是造成過度設計。
- 範式只是一個結果,而重構是到達之路,了解這個過程才能讓你真的領悟範式的意涵,進而想出更好的設計。
- 這本書將帶領你去了解每個範式背後的動機,也讓你了解何時該To(成為), Toward(近接), Away(遠離) 範式
這本書有許多內容是我一直想要跟團隊成員表達的,但是自己一直沒有機會(也沒有能力)把這些東西整理的這麼完整,我想它對整個團隊的意義非凡,將能幫助團隊更往上一層。
重構 - 向範式前進
VIVOTEK Digest
這裡是 VIVOTEK 晶睿通訊 的技術部落格,我們在這裡分享與敏捷、Qt/QML及其它軟體相關技術
Trending
-
「不要試圖覆蓋所有使用案例。Spec.不是用來替代組合回歸測試的。」 - Spec by Example 中文版 p.151 但我們明明覺得現在用 Robot Framework 實現自動化 UAT 來替代組合回歸測試是很正確的做法,為什麼作者覺得這樣不對? 我認為...
-
平常 C++ 的開發工具是 Microsoft Visual Studio,然後現在的測試框架是使用 Google Test,以前都是一邊寫,一邊手動執行 test case 來驗證,沒有辦法跟 VS 內建的 Test Explorer 做整合,真的蠻原始的 =.= 最近因為...
-
針對常用的match role, 可利用QHash (or QMap) 多存一份, 來加快 search 效率 我們在設計model通常都會定義一個存unique string value的IdRole當作model item的索引, 且會很頻繁對這個role作ma...
Categories
Programming
19
Culture
11
Testing
6
scrum
6
Agile
5
performance tuning
4
Book
3
Code Quality
2
Qt
2
Event Storming
1
database
1
file system
1
virtual machine
1