方格精選

軟體開發見聞錄#9:談「開發紀律」/葉光釗

更新於 發佈於 閱讀時間約 5 分鐘

隨著軟體開發方法、工具、以及成品應用方式的變化,軟體開發已經不能只靠單一證照、程序、手段來完成;雖然如此,為了專案的進度與品質控管,仍然有一些共通的道理是必須遵守的。本文就來談談這些同樣也適用於其他專案管理的基本原則。

raw-image

在微軟歷鍊這麼多年,有件事蠻汗顏的,就是從來沒有拿到過任何證照,連微軟自己的都沒有;還好公司、同事和客戶都很寬大,所以對工作並沒有什麼影響。

倒是很多人問我這個問題:微軟對軟體開發的方法,有沒有像ISO或CMMI之類的標準化認證?經理人需不需要考這方面的證照?

答案很簡單:沒有。

就我記憶所及,甚至連「需不需要這樣的標準化」都沒有討論過;而接下來的問題就很明顯:為什麼沒有?

當然,沒有標準化,並不表示沒有方法;實際上,微軟對於開發的紀律是非常重視的,因為過去發生過太多的慘案。

另一個特別的地方,就是每個主要開發團隊的自主性都非常高,所以個別團隊所訂出來的方法都不太一樣;更絕的是,以Office團隊為例,每個版本所用的工程追蹤控管指標都不一樣。

為什麼會有這種現象?我的解讀是兩個因素:

1. 功能策略不同

工程手法與每個版本的「功能策略」有很密切的關係;很多團隊還保有「A/B release」、也就是「時程一長一短」的習慣,而不同節奏的專案,KPI就不會一樣。

長時程專案多半因為要做架構的程式碼重構(refactoring)、或是檔案格式的改變 (例如有名的「doc」轉換為「docx」格式),所以控管方式比較接近傳統法則,相對比較謹慎。

而短時程專案則用來釋出新功能,所以手法比較像現在流行的敏捷開發,不過就是「微軟化」之後的版本。

2. 工程方法不同

隨著技術的快速演進,工程方法也必須跟著配合。尤其現今開發的主軸是以雲端服務為主,它的品質與效能指標與早期的用戶端程式碼(client code)或伺服器端程式碼(server code)也完全不同(例如服務相關程式碼完全不需要測「啟動時間」之類的效能)。

此外,加上開發工具也在變化;解譯程式碼(scripting language)與編譯程式碼(compiling language)的程式碼審查(code review)方式有很大的差別。這樣要固定住工法,幾乎是不可能的。

方法不同,原則相通

話說回來,開發工程究竟不像流行音樂,可以說改就改;其中還是有幾件重要的原則會恆定持續。而且,即使每個團隊都有自主權,還是會不約而同遵守這些些原則:

  • 臭蟲追蹤(Bug tracking)資料庫的公開透明

微軟很早就定下bug tracking工具(早期叫做「RAID」,現在稱為「Product Studio」)資料庫內容只能增加、不允許修改或刪除的規矩;所有的痕跡都必須留下,沒有人能夠掩蓋問題或「吃案」。

而且只要是微軟員工,都有權利檢視特定產品的臭蟲內容(當然,看不看得懂是另外一件事)。因為,公開透明是保持品質水準的基礎。

  • 工作完成時間的回報

這一點則是花了好久才建立起來的習慣。因為開發者通常不習慣被要求,甚至早期還有許多亂填資料的情況;但是對於較長的工期預測來說,這是不得不做的事。

如果沒有持續的資料累積,工期永遠只能由資深開發者來估計、或者根本亂猜;對於這一點,我們還給了一個專有名詞「SWAG」(Stupid wild-a** guess,總之就是「笨蛋亂猜」)。

微軟的產品經理,對於開發者所提的SWAG是不能質疑的,所以我們振振有詞地要求他們有回報的義務。

  • 超級謹慎的DCR(design change request,設計變更請求)審查

微軟的工程管理有一句名言「You always have the next release」,意思就是除非你有天塌下來的理由,別想DCR會過關,還是下個階段再提吧。

當然有些時候還是不得已要改設計,此時很多團隊就會設下限額;每個重大里程碑或衝刺項目sprint)只能有一或兩個DCR,而且每次審查都會問到祖宗八代,盡量要你知難而退。

原則如此,還是要有適當的組織結構才能落實。下一次就來聊一下微軟(尤其是Office團隊)落實開發紀律的組織及方法。

留言
avatar-img
留言分享你的想法!
avatar-img
吐納商業評論的沙龍
1.4K會員
2.0K內容數
為您送上頂尖作者的最新管理與科技產業思維。
2022/07/07
「管理者」設計流程的真正重點,在於:流程越簡單越不會出錯、沒有作用的動作不要做、尤其是做不到的事情不要讓別人產生期待。
Thumbnail
2022/07/07
「管理者」設計流程的真正重點,在於:流程越簡單越不會出錯、沒有作用的動作不要做、尤其是做不到的事情不要讓別人產生期待。
Thumbnail
2022/07/06
從企業經營管理的角度,來回顧自己這次確診的經歷,我可以斷定許多問題出在政府的組織架構、和其分工合作上。政府組織架構和企業的不同,造成了在防疫過程中不同單位間的整合問題。
Thumbnail
2022/07/06
從企業經營管理的角度,來回顧自己這次確診的經歷,我可以斷定許多問題出在政府的組織架構、和其分工合作上。政府組織架構和企業的不同,造成了在防疫過程中不同單位間的整合問題。
Thumbnail
2022/07/06
在疫情之中,「恐懼製造鏈」充斥每個角落;不管有意或無意、善意或惡意,每天都有人製造恐懼。但恐懼在傳播之後往往會失控,造成可怕的後果。所以每個人都必須瞭解散佈恐懼之後可能造成的惡果、謹慎發言,避免自己遭到反噬。
Thumbnail
2022/07/06
在疫情之中,「恐懼製造鏈」充斥每個角落;不管有意或無意、善意或惡意,每天都有人製造恐懼。但恐懼在傳播之後往往會失控,造成可怕的後果。所以每個人都必須瞭解散佈恐懼之後可能造成的惡果、謹慎發言,避免自己遭到反噬。
Thumbnail
看更多
你可能也想看
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
這本書是在 Agile Tour 2015 聽完作者本人演講後買的,不過,還真的沒挪出什麼時間把它看完,直到最近因為一些因素終於有時間把它看完了,所以上述很多摘錄都是心有戚戚焉。看是看完了,也別因為我上面都把好處寫出來就覺得看板方法好棒棒,一定也可以適用在你的團隊,真的嗎?
Thumbnail
這本書是在 Agile Tour 2015 聽完作者本人演講後買的,不過,還真的沒挪出什麼時間把它看完,直到最近因為一些因素終於有時間把它看完了,所以上述很多摘錄都是心有戚戚焉。看是看完了,也別因為我上面都把好處寫出來就覺得看板方法好棒棒,一定也可以適用在你的團隊,真的嗎?
Thumbnail
「幫我做的跟 Facebook 一樣單純就好」 「嗯 … ?」 不管怎麼估計都可能失準,在一件事做完之前你怎麼知道能不能做到?
Thumbnail
「幫我做的跟 Facebook 一樣單純就好」 「嗯 … ?」 不管怎麼估計都可能失準,在一件事做完之前你怎麼知道能不能做到?
Thumbnail
自今年起,我開始接手了公司的GLP規範之章程的建立,從零開始,到今年也建構了一年,過程中也對流程建立也有些心得,也深刻理解這不是件容易的事情,一方面需要釐清目標與現況資源的差距,在有意義的規範下河有限的資源創造出最可行的規範,是一門專業。此篇跟大家聊聊,如何從零到有。
Thumbnail
自今年起,我開始接手了公司的GLP規範之章程的建立,從零開始,到今年也建構了一年,過程中也對流程建立也有些心得,也深刻理解這不是件容易的事情,一方面需要釐清目標與現況資源的差距,在有意義的規範下河有限的資源創造出最可行的規範,是一門專業。此篇跟大家聊聊,如何從零到有。
Thumbnail
雖然標題是產品經理,但我想大家可能對專案開發比較有興趣。 為了讓整篇的含金量高一點,我會放入一些系統工程相關的東西 一般產品開發可能不需要到這麼嚴格。 專案管理及匯報 專案採購和產品採購 小趣談
Thumbnail
雖然標題是產品經理,但我想大家可能對專案開發比較有興趣。 為了讓整篇的含金量高一點,我會放入一些系統工程相關的東西 一般產品開發可能不需要到這麼嚴格。 專案管理及匯報 專案採購和產品採購 小趣談
Thumbnail
在一項專案開始之前,都會先進行立項審查,本文不會告訴你如何填寫這份申請表,但是你可以看到下列幾點,讓你更有可能通過審查,往下一步邁進 -立案審查的誤區 -專案範疇及變更管控 -如何面對風險 -如何贏得高層的支持
Thumbnail
在一項專案開始之前,都會先進行立項審查,本文不會告訴你如何填寫這份申請表,但是你可以看到下列幾點,讓你更有可能通過審查,往下一步邁進 -立案審查的誤區 -專案範疇及變更管控 -如何面對風險 -如何贏得高層的支持
Thumbnail
我前陣子在 Linkedin 上看到一篇有趣的推文,表現軟體開發時,從企劃階段到實際成品的巨大落差。這是永遠無法解決的難題嗎?我分享過去做專案和產品的經驗,希望能帶給各位思考解法的參考。
Thumbnail
我前陣子在 Linkedin 上看到一篇有趣的推文,表現軟體開發時,從企劃階段到實際成品的巨大落差。這是永遠無法解決的難題嗎?我分享過去做專案和產品的經驗,希望能帶給各位思考解法的參考。
Thumbnail
隨著軟體開發方法、工具、以及成品應用方式的變化,軟體開發已經不能只靠單一證照、程序、手段來完成;雖然如此,為了專案的進度與品質控管,仍然有一些共通的道理是必須遵守的。本文就來談談這些同樣也適用於其他專案管理的基本原則。
Thumbnail
隨著軟體開發方法、工具、以及成品應用方式的變化,軟體開發已經不能只靠單一證照、程序、手段來完成;雖然如此,為了專案的進度與品質控管,仍然有一些共通的道理是必須遵守的。本文就來談談這些同樣也適用於其他專案管理的基本原則。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News