首页 » 程序员必读之软件架构 » 程序员必读之软件架构全文在线阅读

《程序员必读之软件架构》第29章 软件架构是对话的平台

关灯直达底部

如果写软件是你日常工作的一部分,那么你的软件很可能不会孤立存在。在项目小团队里,我们会感到安全,特别是当每个人都相互认识、团队情绪高涨的时候。我们甚至建立起开发流程来帮助更好地沟通,设定优先级,最终交付更好的软件。然而,很多软件项目仍然由远离用户和运行环境的团队孤立地开发。

敏捷方法的成功告诉我们,要定期与最终用户或他们的代表沟通,才能确保我们构建的软件符合他们的需要。但其他的利益相关者怎么办?项目团队对软件应该做什么可能有清晰的愿景,但你经常会听到下面这样的说法,交付周期总是延迟。

  • “没人告诉我们你需要在这个服务器上创建一个生产数据库。”
  • “我们不能在那台服务器上升级到[Java 7|.NET 4],除非X系统兼容。”
  • “我们没有多余的生成许可证。”
  • “对不起,这违反了我们的安全政策。”
  • “对不起,在把你的应用程序推送到生产环境之前,我们需要做一些操作验收测试。”
  • “我们到底应该怎样支持该应用程序?”
  • “我不在乎你是否有一个完全自动化的发布流程……我不会把你的配置文件所需的生产数据库凭据给你。”
  • “我们需要运行这个才能通过风险和合规团队。”
  • “绝对不能让你的系统运行在公有云上。”