代碼只在交付時有價值,開發者發表軟件定義交付宣言
近十位開發者聯名發布了軟件定義交付宣言(The Software Defined Delivery Manifesto)。該宣言指出交付是每個軟件團隊和組織的基礎和戰略能力,只有在交付時,代碼才有它的價值,才能精準地塑造精彩的世界。交付是如此重要,現在是時候定義交付,並將其應用到開發工作中。
宣言中表示交付工作本質上是獨一無二的,應用程序、組織、部署環境和團隊的每個組合都有自己的上下文,每個團隊都需要理解這種獨特的交付和自動化。雖然持續交付對滿足業務需求至關重要,但自動化執行所有重複任務也是重中之重。
工作思路是人類做決策,任務則由自動化去完成,而加速自動化的方式與加速應用的方式相同:使用現代架構、編程語言以及通用框架、代碼庫與服務。
以下是Software Defined Delivery 的定義:
Core: Delivery is a fundamental and strategic capability for every software team and organization.
- First-class: Delivery code is production code.
- Strategic: Decide policy at the team and organization level; implement it with precision, without toil, in code.
- Evolving: As we learn, we continually improve our delivery.
Engineered: In robust, testable code. 70s-era scripting languages are insufficient.
- Modern software architecture: Event-driven and extensible.
- Modern programming languages: Logic is best specified in code, not pictures or GUIs. Scripts don’t scale.
- Model-based: Backed by a model of the software domain, with understanding of code.
- Testable: Enabling short trips to spot errors before production.
Collaborative:
- Among people: Each person can express their expertise in code for everyone’s benefit.
- Among software: We use best-of-breed tools, but how we combine them is unique.
- Between people and software: Collaborative automation enhances our perception and implements our decisions. It brings information and actions to where we are and makes automated behavior comprehensible to us. Using code, we distinguish between a team’s shared set of delivery objectives, and their implementations.
Accelerated:
- Through automation: We automate repeated tasks to speed our work and avoid errors.
- Through reuse: Common functionality is shared between developers, teams, and organizations.
Observable: Common means to observe and troubleshoot what happens in the delivery process as a production system.
- Trace: Observe activity in a system and trace the relationships between actions.
- Debug: Interact with and inspect and a delivery flow.
- Metrics: Derive metrics from activity across the entire delivery flow.
Authors: (alphabetical by last name): Kenny Bastani, Marc Holmes, Rod Johnson, Jessica Kerr, Mik Kersten, Russ Miles, Erin Schnabel, Matt Stine. With the help and refinement of many members in the community.
© 2018, the above authors, this declaration may be freely copied in any form, but only in its entirety through this notice.
宣言見:https://sdd-manifesto.org
GitHub:https://github.com/sdd-manifesto/manifesto