風險投資公司 Andreessen Horowitz 聯合創始人兼普通合夥人 Marc Andreessen 表示:“軟體正在吞噬世界。”隨著數字裝置的普及,新技術改變了我們的生活,軟體已成為所有企業不可或缺的因素。即使你在房地產或醫療行業工作,你也必須使用一些系統或應用程式。因此,有效和高效地開發軟體是所有企業生存和成功的關鍵。
然而,儘管出現了許多理念和專案管理框架,如敏捷、Scrum、極限程式設計 (XP)、看板和團隊拓撲,但只有少數企業知道如何高效地開發軟體。我遇到過許多反模式,導致進度延遲、軟體質量惡化和客戶滿意度下降。為了防止無效管理並實現更高的績效,您應該瞭解軟體專案/產品管理的最佳實踐、理念和原則。
最有影響力的實踐之一是組織如何形成團隊結構。許多研究(如康威定律)證明,如果你以錯誤的方式形成團隊結構,你的團隊績效將受到極大制約。在本文中,我將根據我的經驗和深入研究,解釋如何在組織中形成有效的團隊結構的原則。我保證你的軟體團隊將得到大幅提升。
1. 先進行系統設計
第一個原則是,在設計團隊結構之前,先設計你想要生產的系統。美國電腦科學家和計算機程式設計師梅爾文·愛德華·康威 (Melvin Edward Conway) 於 1967 年創造了康威定律,該定律描述了組織的結構和溝通將制約其生產的系統設計。例如,如果一個組織構建了一個設計團隊、業務團隊、前端團隊和後端團隊,那麼系統的輸出也將是業務文件、設計元件、前端元件和後端元件,這需要大量的團隊間溝通才能整合並交付給終端使用者。康威定律是最普遍的反模式之一,至今仍被許多組織使用。
康威定律還有一種理論,叫做逆康威策略(ICM)。顧名思義,ICM 策略是康威定律的逆向策略,即組織先設計系統,再組建團隊。這種團隊結構不需要頻繁的團隊間溝通,可以讓團隊獨立地向終端使用者交付價值。(雖然不可能完全獨立)它也被稱為流程對齊團隊、功能團隊或跨職能團隊。
2.考慮認知負荷
Matthew Skelton 和 Manuel Pais 於 2019 年出版的《團隊拓撲:組織業務和技術團隊以實現快速流動》一書描述了軟體組織中的四個基本團隊:流程對齊團隊、支援團隊、複雜子系統團隊和平臺團隊。這四個基本團隊背後是一個重要的心理學理論:認知負荷,指使用的工作記憶資源量。
在團隊拓撲中,第一個原則中解釋的團隊結構稱為流程一致團隊。流程一致團隊是跨職能的,是獨立向終端使用者提供價值的主要團隊。但是,流程一致團隊太忙了,無法跟上新事物,例如新技術、管理方法或領導力,也無法處理基礎設施。如果流程一致團隊承擔了太多責任,他們就無法處理任務,他們的績效就會下降。因此,為了減少他們的認知負荷(責任),其餘三個團隊(支援團隊、複雜子系統團隊和平臺團隊)支援流程一致團隊。
支援團隊幫助流程一致團隊學習為終端使用者提供更高價值所需的新知識,例如技術、架構、UI/UX、管理方法等。支援團隊可能由內部/外部導師、教練或顧問組成,他們可以在流程一致團隊中教授和實施新知識。
複雜子系統團隊負責處理需要特殊技能或可以與正常交付隔離的特定元件,例如機器學習模型、特殊圖形/動畫或身份驗證 API。複雜子系統團隊負責處理的元件將透過討論確定,因為與流程一致團隊沒有明確的界限。
平臺團隊構建並提供一個平臺,以便流程一致的團隊能夠順利部署和釋出,從而為終端使用者提供價值。在團隊拓撲的背景下,平臺是一個綜合的概念,包括文件、說明、DevOps 和基礎設施,以協助流程一致的團隊順利部署。
3. 縮小規模
第三個原則是小團隊。許多研究和領先公司證明,小團隊比龐大的團隊更有效率,表現更好,因為溝通有效,團隊中的每個人都能隨時瞭解情況,並能提高參與度。例如,亞馬遜自成立以來就一直實行雙披薩規則,即組建少於 7 到 9 人的團隊和會議,並取得了真正的成功。
最廣泛使用的敏捷框架 Scrum 的作者 Jeff Southerland 也在 Scrum 指南中解釋道:“Scrum 團隊足夠小,可以保持敏捷,也足夠大,可以在一個 Sprint 內完成重要工作,通常只有 10 人或更少。總的來說,我們發現較小的團隊溝通更好,效率更高。 ”
4. 僕人式領導
丹尼爾·平克在他的著作《驅動力:關於我們動機的驚人真相》中提出了“動機3.0”的概念。他認為,自工業時代以來,人類的動機發生了變化,並定義了三種人類固有的本質:目的性、自主性和掌控力,這三種本質可以持續激勵我們。
- 目的:人類尋求意義。
- 自主性:人類想要決定如何做。
- 精通:人類想要成長。
僕人式領導由羅伯特·K·格林利夫提出,體現了激勵 3.0 的概念。這是領導哲學之一,其主要實踐是服務團隊,使團隊成員以高參與度、積極性和可持續成長的方式工作。在傳統領導中,領導者(老闆)以命令和控制的方式命令團隊成員(下屬)做什麼和如何做。傳統的領導風格不會激勵個人或提高他們的參與度和績效。
僕人式領導者設定目標和願景(目的),將實現目標和願景的權力委託給個人(自主),並提供學習新事物的機會(掌握)。
5.持續改進
截至 2024 年 1 月,豐田是世界上最大的汽車公司,並以其實踐和理念影響著所有商業行業,例如 7 種浪費、5S(整理、整頓、清潔、標準化、持續)和 3M(Muri:負擔過重、Muda:浪費、Mura:不一致)。最引人注目的理念之一是 Kaizen,即持續改進,可持續地改善業務流程。無論業務型別或情況如何(即使一家公司在行業中擁有最高的市場份額),100% 總是有改進的空間。沒有完美的業務,所以我們必須不斷髮展。
持續改進會產生長期的複合效應。該術語最初來自金融中的“複利”,這意味著利息在長期內呈指數增長併產生被動收入。同樣,如果團隊和企業持續改進,他們的業務流程將大幅改善併成倍增加銷售收入。陷阱是大多數人停止進行持續改進,因為他們無法在短期內看到顯著的結果。然而,它會產生長期的巨大成果,因此需要一致性和耐心。
最受歡迎的敏捷框架 Scrum 源自豐田,同樣實踐持續改進。在 Scrum 中,持續改進發生在“Sprint Retrospective”期間,Scrum 團隊會討論未來工作中可以做得更好的地方。這是 Scrum 解決團隊績效問題併成為最廣泛使用的敏捷框架的最大原因之一。
6.穩定性
最後一個原則是穩定性,這意味著團隊結構/成員和工作流程應該穩定。不穩定會導致團隊混亂,並降低生產力和績效。
第一個穩定性是團隊結構和成員,這意味著他們不應該頻繁更換或調動。例如,如果組織經常在團隊之間調動開發人員,那麼每次被分配到新團隊時,開發人員都需要跟上工作風格、程式碼庫和文件,從而降低他們的生產力。
第二個穩定性是工作流程的流動。如果工作流程不標準化和一致,團隊成員會對如何工作感到困惑,產出質量也會不一致。豐田將標準化定義為其業務中最關鍵的實踐之一,正如大野太一強調的那樣,工作應該順利進行,沒有障礙和浪費。作為豐田生產系統 (TPS) 的成果,看板的建立是為了視覺化工作流程和任務狀態。
結論
依據康威定律,在團隊成立前就應進行系統設計,從而打造產出驅動、跨職能的團隊,比元件團隊更有生產力、績效更高。
如果組織將太多職責交給一個團隊,該團隊將無法處理這些職責,其績效會下降,因為認知負荷(人類的工作記憶量)是有限的。為了避免這個問題,組織會組建支援團隊:支援團隊、複雜子系統團隊和平臺團隊來協助核心團隊,這在團隊拓撲中稱為流程對齊團隊。
小團隊比大團隊表現更好,因為團隊越大,溝通就越複雜。亞馬遜從創立之初就踐行小團隊,Scrum 也明確規定團隊人數應少於 10 人。
人類有三種與生俱來的慾望:目標、自主和掌控,這被稱為丹尼爾·平克提出的動機 3.0。僕人式領導會協助、幫助和支援其他團隊成員,從而激勵其他團隊成員實現更高的績效。僕人式領導與傳統的命令和控制式領導不同。
豐田幾十年來一直在實踐持續改進,並已成為世界上最大的汽車公司。持續改進對企業至關重要,因為它會在長期內產生巨大的成果。即使一個組織處於行業領先地位,它無論如何都必須蓬勃發展,因為總有進步的空間。
團隊和工作流程的穩定性對於提高團隊績效至關重要,因為不穩定會導致混亂和追趕成本。團隊結構和成員應該穩定,以避免每次變動或調動時產生追趕成本。工作流程也應該穩定,以便團隊成員能夠順利工作。