系统架构师和软件架构师_90%大厂都在使用的系统架构模式,团队协作架构设计!...

随着互联网/IT行业的发展业务功能越来越复杂,技术架构需要满足变化多端的业务,同时还要兼顾可用性,高性能,扩展性,易伸缩,实属不易。以前的系统就是一个架构师完成的。现在系统复杂了,接口多了,承载的业务量也大了,架构设计也就越来越重要了,是否还要像以前一样由一个人来承担这么重要的功能呢?我们一起来看看。

要点:

  • 团队架构设计是趋势
  • 团队协助架构设计的成本
  • 如何开展团队协作架构设计?
  • 架构设计中的团队竞争

团队架构设计是趋势

技术复杂性增加

记得我刚开始入行的时候多是单应用系统,学生管理系统,课程管理系统。一个数据库一个桌面应用程序搞定。现在的系统不仅要经受高并发,还要高可用,同时可伸缩。对内处理微服务水平扩展,数据库分表分库;对外还要接入Web,H5,Android,IOS,甚至是各个企业级别的第三方接口。复杂性远远超过之前的应用。如果这么复杂的系统还是由一个架构师来负责是很有问题的。所以,引入团队设计的概念,包括:软件架构师,系统架构师,用户体验师,安全顾问。这样设计出来的架构相对更加全面。说到这里,有的小伙伴会说了,“我们公司没有那么多的角色参与架构设计”。实际操作我们可以通过一些架构评审的方式弥补这个不足,并且可以聘请外部的顾问协助我们完成这项工作。

系统架构师和软件架构师_90%大厂都在使用的系统架构模式,团队协作架构设计!..._第1张图片

快速推向市场

以前开发的速度四平八稳按照瀑布模型推进,现在市场变化瞬息万变,技术架构必须跟上这个高速发展的结构。如果还是一个人去做设计,从进度上有可能就跟不上发展的步伐,这个时候让团队的力量发挥出来,把设计切分成一个个小的任务,推进速度自然就上来了。

系统架构师和软件架构师_90%大厂都在使用的系统架构模式,团队协作架构设计!..._第2张图片

团队协助架构设计的成本

任务分割成本:把一整块设计任务分割成小的设计任务就存在分割成本。分割的时候需要明确每个设计部分需要完成的范围,程度,输入和输出;需要参与设计的成员之间做好设计对接,保证没有错误的理解,没有遗漏的任务。

系统架构师和软件架构师_90%大厂都在使用的系统架构模式,团队协作架构设计!..._第3张图片

学习成本:参与设计的成员需要了解和学习自身不太熟悉的知识,例如:软件架构师需要了解,用户交互和系统安全的知识。其他的设计师也是一样。

系统架构师和软件架构师_90%大厂都在使用的系统架构模式,团队协作架构设计!..._第4张图片

沟通成本:这里建议最好设计师都在一个实体空间内进行设计,降低沟通成本提高设计效率,用最短的时间达成一致。

如何开展团队协作架构设计?

了解相关人的需求和愿望:这里需要市场或者业务人员参与。需要明确我们的应用是为了解决业务上的什么问题?或者给业务带来什么收益

建立目标:定义一个可以量化的目标,包括:功能范围,系统参数指标(并发数)等等。这个在设计审核的时候是需要考核的内容。

系统架构师和软件架构师_90%大厂都在使用的系统架构模式,团队协作架构设计!..._第5张图片

概念探索:这里实际上是需要确定架构设计的边界,通过不断的头脑风暴和归一化思维,确定系统设计的范围,让所有的参与者达成共识。

系统架构师和软件架构师_90%大厂都在使用的系统架构模式,团队协作架构设计!..._第6张图片

设计审核:架构设计的结果应该包括设计图纸(架构图)设计范围描述,甚至可以对某些核心功能展示其原型。由业务部门,管理者,或者外部顾问组成的评审小组对每个产出物进行打分,按照RASCI的原则来评估该设计是否能够被实施。

架构设计中的团队竞争

对于复杂度高,而且比较重要的架构设计,可以使用两个团队同时开始设计,通过竞争的关系来确定哪个设计是最终的胜利者。但是这种方式对经济,时间的成本要求很高。需要有冗余的设计师,同时也要花费业务部门和审核小组额外的时间进行配合。在小型企业中是不多见的。

系统架构师和软件架构师_90%大厂都在使用的系统架构模式,团队协作架构设计!..._第7张图片

总结:为什么我们需要团队协助架构设计,团队参与架构设计的成本需要注意哪些?如何开展团队协助设计?

你可能感兴趣的:(系统架构师和软件架构师)