软件定义交付宣言

原文 https://github.com/sdd-manifesto/manifesto

交付是每个软件团队和组织的基础和战略能力,只有在交付时,代码才有它的价值,才能精准地塑造精彩的世界。
交付是如此重要,现在是时候定义交付,并将其应用到开发工作中。
宣言中表示交付工作本质上是独一无二的,应用程序、组织、部署环境和团队的每个组合都有自己的上下文,每个团队都需要理解这种独特的交付和自动化。持续交付对满足业务需求至关重要,自动化执行所有重复任务则是重中之重。
工作思路是人类做决策,任务则由自动化去完成,而加速自动化的方式与加速应用开发的方式相同:使用现代架构、编程语言以及通用框架、代码库与服务。

核心:交付是每个软件团队和组织的基础和战略能力。

  • 一流:交付的代码是可用于生产的代码。
  • 战略:在团队和组织层面上制定策略; 在代码中精确实现,化繁为简。
  • 演进:持续学习,持续提升。

工程化:健壮,可测试的代码。

  • 现代软件架构:事件驱动,可扩展。
  • 现代编程语言:代码本身即能够精确的描述业务逻辑,而不是通过图片或GUI工具。
  • 基于模型:通过领域模型来了解代码。
  • 可测试:上线前能够快速发现错误。

协作:

  • 人与人的协作:每个人都可以分享含有专业知识的代码来让别人受益。
  • 软件与软件的协作:复用优秀的代码和工具。
  • 人于软件的协作:自动化有助于我们快速决断并实现我们的目标,能够展示足够的信息以使我们充分掌握自动化行为。通过代码来衔接团队的目标和实现。

提效:

  • 自动化:将重复的工作自动化,来提升效率减少错误。
  • 复用:常用功能应该在人员、团队、组织间共享。

可观察:用于观察和排除系统交付过程中发生的问题的常用方法

  • 跟踪(Trace):观察调用行为并跟踪调用之间的关系。
  • 调试(Debug):与交付流程进行交互和检查。
  • 指标(Metrics):获取并展示整个交付流程中的各项指标。

猜你喜欢

转载自blog.csdn.net/haiyan_qi/article/details/84485448