架构设计的衡量标准
架构设计是软件开发和系统构建中的关键环节,它不仅关乎系统的稳定性和性能,更直接影响业务的发展和团队的协作效率。然而,架构设计并非一味追求复杂和高大上,而是要紧密结合业务实际,实现功能与成本的平衡。
架构设计的核心目的是服务业务,所以我们不需要追求所谓的最厉害的架构设计,而是应该找到符合当前的业务实际情况以及未来发展需求的架构方案。
合理的架构,可以从以下几个维度进行评估:
1.功能需求视角,当前的架构能否有效支撑当前的业务,以及未来的业务发展。
2.非功能需求视角,当前框架下的性能、安全性、可拓展性是否得到保障。
3.团队协作视角,这个架构是否有利于多个团队之间的相互协作,提升团队协作效率和开发效率。
4.成本效益视角,这个架构对于后续的运维、开发成本、硬件投入等是否有利。
一、功能视角
1.能够解决当前的业务问题
合理的架构,应该可以应对当前业务的各种变化,不管如何变化,都可以游刃有余的应对。业务的诉求都可以及时响应,并且业务的配置使用等效率也较高,同时能够支撑业务的增长,带来销量的提升。
2.高效完成业务的新需求
业务的需求是多变的,每次功能延展都要重构,那是非常要命的,浪费开发资源,也影响了业务的正常开展。
应对新的业务需求,我们不需要各种打补丁,可以在原先的架构上做一点小的修改就可以很好的支持和应对。
3.前瞻设计
未来的业务有可能发生翻天覆地的变化,我们能不能快速识别出来。当然,这需要我们有非常丰富的业务经验,能够知道当前以及未来的业务全貌,烂熟于心。当我们在做一个功能的时候,能够给未来的功能预留口子。
二、非功能性
功能要保证,非功能方面也要保证。
怎么保证性能方面能够扛得住高并发,比如大促。
怎么做好风控管理,保证系统的安全和业务的正常开展,避免资金损失。
怎么做好可拓展性,保证微服务的各种架构能够很好的应对未来功能的延展。
三、复杂度
产品经理最忌讳的就是堆功能,每次来一个新需求就加新功能,这是不对的。
好的产品经理,应该是做减法,而不是做加法。一个功能,能够应对未来各种功能的变化。堆砌功能的后果是会使得功能变得复杂,耦合度增加,业务使用难度加大。
本文由人人都是产品经理作者【蔡锦海】,微信公众号:【锦海说】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。
架构设计的衡量标准太重要了!功能、性能、安全、团队协作、成本,方方面面都要考虑,这样才能做出好产品呀!