16 业务目标至上

来源:互联网 发布:两组数据的差异性检验 编辑:程序博客网 时间:2024/04/27 23:02

在商业化的背景下开发企业应用,架构师必须成为业务部门和技术部门之间沟通的桥梁、周旋调解,兼顾双方的利益,同时用业务目标来驱动项目开发。业务目标和实际的开发条件应该成为架构师主持制定决策的参照系统。

按照通常的业务惯例,在启动一个软件项目之前,应当制定计划,明确对投资回报率的预期。架构师必须把握这个预期,并估计该项目的商业价值,避免作出错误的技术决策,造成经费走动。每当要权衡取舍时,无论是与业务部门讨论是否应该实现某项功能,还是与开发团队讨论技术上的设计与实现。都应该把高投资回报率当作目标。举例来说,架构师必须谨慎地站在业务团队一边,拒绝开发团队选用价格不匪的软件和售后服务成本过高的技术。

如何提供足够的高质量信息,持续反馈开发中的成果,用于支持业务决策,是用业务目标驱动项目开发 的难题之一。关键在于加大透明度。架构师必须与开发团队合作,设法建立反馈回路,持续有规律地向业务部门提供信息。精益软件开发的许多技巧可以借鉴,比如说,使用直观的大图表,采用持续集成,以及在项目开始后尽早地、频繁地发布可工作的软件,等等。

总的来说,软件开发是一种设计工作,因为在形成产品的过程中需要持续地制定决策。软件开发人员可以制定(技术)决策,但通常不该参与业务决策。业务部门应该为技术部门提供指导,解答他们的问题,并制定业务决策。如果业务部门不能履行这些职责,相当于把业务决策的任务甩给了开发人员。架构师必须通过沟通协调,既保护软件架构,又坚持业务目标,既允许开发人员制定微观(技术)决策,又设法避免他们参与制定业务决策。如果技术决策脱离了业务目标和现实条件的约束,则无异于用宝贵的稀缺资源进行高风险的投机。

用业务目标驱动项目开发,才能保证软件开发团队的长远利益。

原创粉丝点击