軟體定義交付宣言(Software Defined Delivery Manifesto)

weixin_33766168發表於2019-03-12

原文連結:https://github.com/sdd-manifesto/manifesto
中文連結:https://github.com/wizardbyron/manifesto

軟體定義交付宣言(Software Defined Delivery Manifesto)

我們認識到, 提供有用的軟體塑造了我們的世界。我們認識到,程式碼是指定精確操作的最佳方式。我們認識到, 只有在交付程式碼時, 程式碼才會有用。

交付不是一個細節, 而是我們的工作。現在是將我們的核心技能應用到自己的工作中的時候了。現在是時候 工程化 我們的交付。我們在人類自身和計算機之間分配我們的工作: 人類用於決策, 而自動化用於任務。

交付不是一個細節,而是我們的工作。現在是應用我們的核心技術到我們工作中的時刻了。現在是工程化我們的交付。我們在我們自身和計算機之間區分我們的工作:人類為了決策,自動化為任務。

交付工作本質上是獨特的。應用程式、組織、部署環境和團隊的每個組合都有自己的上下文。我們認識到, 每個團隊都需要理解這種獨特性的交付和自動化。我們認識到, 雖然持續交付對於滿足業務需求至關重要, 但自動化所有重複的任務非常重要。

我們加快自動化的速度與加快應用程式開發的方式相同: 使用現代體系結構和程式語言以及用於通用能力的框架、庫和服務。

我們承認現有技術。這不是發明的工作, 而是表達的工作, 是及時和急需的方法的工作。

交付基礎設施現在是可程式設計的, 所以我們將對其進行程式設計。

軟體定義交付(Software Defined Delivery)是

核心: 交付是每個軟體團隊和組織的基本和戰略能力。

  • 一流的: 交付程式碼就是生產程式碼。
  • 戰略性: 決定團隊和組織層面的政策;在程式碼中精確地實現它, 而無需辛勞。
  • 演進: 隨著我們的瞭解, 我們不斷地改進我們的交付。

工程化的: 在可靠的、可測試的程式碼中。

  • 現代軟體架構: 事件驅動並可擴充套件。
  • 現代程式語言: 邏輯最好在程式碼中指定, 而不是在圖片或 GUI 中指定。指令碼不會擴張。
  • 基於模型: 由軟體領域的模型支援, 包含對程式碼的理解。
  • 可測試: 允許部署在生產前進行較短的交付週期以發現錯誤。
  • 進步: 隨時促進部署。提供對受眾群體和環境進行有控制、選擇性的更改。允許是漸進和深思熟慮的釋出。

協作:

  • 在人群中: 每個人都可以通過程式碼表達他們的專業知識, 以造福於每個人。
  • 在軟體中: 我們使用同類最佳的工具, 但我們對這些工具的組合是獨一無二的。
  • 在人群和軟體中: 協作自動化增強了我們的感知, 並實現了我們的決策。它將資訊和行動帶到我們所處的位置, 並使自動化行為為我們所理解。通過程式碼, 我們區分團隊的共享交付目標集和它們的實現。

加速:

  • 通過自動化: 我們自動執行重複的任務, 以加快我們的工作, 避免錯誤。
  • 通過複用: 開發人員、團隊和組織之間共享通用功能。

可觀察的: 常見的方法是觀察和排除作為生產系統的交付過程中發生的情況。

  • 跟蹤: 觀察系統中的活動並跟蹤動作之間的關係。
  • 除錯: 與交付流程互動並審查。
  • 指標: 從整個交付流程中的活動中派生指標。

作者:(按照姓名首字母排序)Kenny Bastani, Marc Holmes, Rod Johnson, Jessica Kerr, Mik Kersten, Russ Miles, Erin Schnabel, Matt Stine. 以及社群成員的幫助和整理。

© 2018 版權歸以上作者所有,本宣告可以通過任何形式自由複製, 但只能通過本文進行全文複製。

相關文章