架构设计要平衡兼顾多方需求

作者:兰迪·斯塔福德(RandyStafford)

平衡兼顾各方的要求和项目的技术需求

Balance Stakeholders' Interests withTechnical Requirements

提到软件架构,我们脑海里首先浮现的是传统的技术工作,比如系统建模、定义接口、划分功能模块,套用模式,以及性能优化等。此外架构师还要考虑系统的安全性、易用性(usability)、产品支持、发布管理、部署方式等问题。架构师解决这些技术问题的流程问题时,必须考虑相关各方(stakeholder)的要求和利益。只有充分考虑相关各方的要求,才能确保需求说明书的完整性。

架构师要实现的一组最终目标可能通过逐步分析相关各方的需求得到。这个分析过程应该贯彻到软件开发的整个过程中。设计软件架构就是要根据具体情况(context at hand)平衡兼顾这组目标,既要满足短期要求,又要符合长远需要。

以开发SaaS(software-as-a-service)业务的部门为例。业务部门的目标包括履行合同义务、创造收益,树立客户口碑、控制成本、以及创造有价值的技术资产,等等。但这些业务目标到了技术部门那里,则转化为:确保软件的功能、质量和相关品质指标,保证开发团队的工作效率,确保开发的可持续性和可监督性,还有软件产品的寿命和适应性等技术目标。

架构师不仅要为用户创造实用优质的软件,还要运用自己的专业能力,平衡兼顾不同部门的目标,例如CEO要求控制成本,还营部门要求软件易于管理,二次开发人员要求代码容易学习方便维护,等等。

有时为了完成紧急任务,架构师可以暂时打破这种平衡,但是要想出色的完成工作,最好维持一种长期稳定的平衡关系。即使打破平衡,也要结合具体情境考虑多种因素,包括估计软件的生命周期和商业价值,考虑公司的技术文化和财务惯例,等等。

总之,设计软件架构不是简单技术工作,还要平衡兼顾项目的技术需求和相关各方的业务需求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值