為人類而作的協作並行極致軟體與產品開發宣言
本文件完全為人類讀者而作;不為機器人、自動化管線、代理或聊天機器人而作。這是資訊科技開發中一組被觀察到的實踐與哲學。
數位知識透過情境與事件的具體化而增長。
解決方案可以被複製與修改,而不被消耗。
想法可以被改進,且不改變其核心,並保持高遠志向。
組織被設計為在許多參與者於同一共享環境中持續創造新情境時,仍保持連貫。
原則
理解
理解是能力的基礎。
當人們能以人類語言花時間談論生產事宜時,系統即被理解。
知識必須在組織中於同儕之間與共同管道中分佈。
理解透過參與、觀察、修復與延續而增長。
貢獻
人人皆可貢獻。
主動創造情境。
交付的解決方案創造情境。
責任隨參與與投入而來。
貢獻在完成之前即已開始。
一則筆記、commit、issue、demo、測試、草圖、失敗或未完成的分支,隨時都可能成為有用材料,並在新情境中再次有用。
可見性
問題、發現、所作決策、實驗、失敗與修復應保持可見。
共享資訊可能導向共享理解。
共享理解創造集體能力。
機器可以澄清與壓縮工作,但不得隱藏其背後的努力、不確定性、判斷、付出的努力與恢復。
並行
工作應並行推進。
人們可以同時探索與修改同一區域。
重合創造資訊。完整性透過溝通、可見性與參與而維持。
差異揭示假設。多重探索比單一路徑更快揭示可能性。
衝突揭示依賴。實驗將分歧轉化為學習。
目標是在變化發生時維持完整性,並可見地參與於相互干涉。
系統的尺度在於:許多人在持續迭代中同時改變它時,它仍能演進。
溝通
程式碼、文件、介面、對話、demo 與產物是傳遞理解的工具。
清晰的溝通提高協作與演進系統的能力。
每件產物都應創造下一步或決策的可能。
工作應可讀、可測、可質疑、可重用、可轉化。
工坊
工作屬於共享的桌子,個人作者性在此重要。
形式必須經得起他人觸碰 — 做出供共同使用、可質問、可擴展、可修復、可延續的事物。
藝術歡迎,私密的迷霧不歡迎。
奇特的工作應邀請更深閱讀,而非保護薄弱思考。
學習
回饋驅動變化。
每次發布、事件、成功、失敗、實驗與修復都增加可用資訊。
知識隨時間累積。
速度加速生產。
緩慢使理解成為可能。
用機器加速格式化與探索,同時保留理解所需的人類節奏。
管護
領導透過參與與理解而浮現。
管理連結人、協調努力、暴露依賴、減少摩擦。
能改變系統者,皆應能參與其管護。
所有權不是占有。
關懷包括允許他人使用、修復、質問、混音與延續工作。
集體雜耍
無人握住一切。
能力來自時機、注意、覺察、恢復與交接。
團隊讓未完成的圖式保持活躍。
當痕跡仍可見且恢復可能時,風險是健康的。
系統的價值包括吸收錯誤、修復損害並持續學習的能力。
批判性採納
用機器拓寬思考、比較替代方案、提取模式、減少重複勞動。
將生成輸出視為材料,而非權威。
把生成材料當作原礦採納,而非最終真理。
在理解開始之處放慢。
人道的決定論
機器可以像函數一樣運作。
人不必被描述為函數。
使用決定論工具,而不將人還原為決定論術語。
尊重差異、詮釋、判斷與脈絡,作為協作工作的本質部分。
可持續的注意
保護注意免受無盡格式化、規劃與生產的侵蝕。
偏好與現實接觸。
demo,而非推測。
測試,而非假設。
工坊實踐,而非模擬。
能力在注意與現實相遇之處成長。
目標
建立持續學習的組織。
建立增進理解的系統。
增進理解以擴大集體能力。
用該能力共同解決更難的問題。