您当前的位置:首页 > 电脑百科 > 程序开发 > 架构

架构师的岗位设置、工作职责、组织定位梳理

时间:2020-09-28 09:52:11  来源:  作者:

 

概述
一个公司中针对架构组的职责有很多,其中典型的分支有两种。

一种技术架构,主要负责搭建技术框架,公共组件以及对产品技术难点的解决和处理。同时要在项目上线的过程中,对架构的运作效率,开发效率等进行优化和升级。

一种是业务架构,主要跟随产品团队一起发展。这种业务架构师要理解具体的业务,要了解业务中具体的功能要求以及功能模块之间的关系。并且选择合适的公共组件和技术架构,用于产品发展的不同阶段。

很多小团队,技术架构和业务架构不再进行拆分。很多时候一个架构组前期负责技术选型,后期负责产品规划。或者很多技术架构的事情交给一个专门的团队进行规划。

从我们团队的职责需要支持整个公司的架构,我们需要两个架构师团队同时存在并且要求保持稳定。

系统架构师存在的意义

从一般意义上来说,一个公司的架构师能力如何,将直接决定一个公司或者公司产品的技术路线是否先进、技术架构是否合理、技术积累成熟度、甚至于整个公司人员的技术水平。从这个角度上来说,系统架构师对公司来说具有非常重要的意义。

系统架构师的设置原则

从普遍的情况来看,为了实现更好的技术积累,提升代码开发的质量,缩短开发周期,应该按照不同的所属行业,不同的技术路线来设置系统架构师。
举例来说:

1. 按照行业不同,照明事业部和市政事业部都应该单独设置架构师。

2. 按照技术路线不同,需要分为:.NET架构师,J2EE架构师,Android架构师,大数据架构师,微服务架构师等

系统架构师的组织关系定位

1. 从项目的组织维度看,架构师从属于项目开发经理或者产品开发经理。

2. 从公司或者部门的组织维护看,架构师独立于项目,从属于部门经理。从部门级的组织关系看,系统架构师与开发经理同级。

要说明这个问题,首先要明确公司部门的组织结构,考虑到系统架构师工作职责的问题,一般采取以下架构(矩阵型组织架构)的公司比较多(个人建议)。

架构师的岗位设置、工作职责、组织定位梳理

 

而我们公司事业部制的组织结构(项目型组织架构)如下:

架构师的岗位设置、工作职责、组织定位梳理

 

系统架构师工作职责

1. 系统架构师的责任

- 负责产品或者项目的技术路线选型。

- 负责产品或者项目的系统架构设计

- 负责产品技术路线和技术架构的技术积累,优化和升级。

- 负责新技术的研究和应用。

- 负责技术课题的攻关。

- 负责相关技术体系的培训工作。

2. 需求整理分析阶段

首先,架构师能够准确把握第一手的需求,防止出现需求理解偏差;

其次,分析人员在与客户交流时,往往不会深入挖掘需求,因为有很多隐藏的需求客户自己都不见得意识的到,而架构师则可以依靠敏感的软件嗅觉发现这些需求,减少以后的变数;

第三,分析人员往往脱离开发团队,盲目接受客户需求,而架构师能够清楚把握现有的研发团队能做什么,不能做什么,提前预知风险,降低项目失败的机率。

总结:
系统架构师参与需求的整体理解工作,可以给出指导意见,但是需求分析由需求分析师负责。

3. 系统分解工作(产品整体架构设计,业务架构)

在收集完信息后,架构师需要将用户需求转化为软件需求,同时要补充非业务需求,如健壮性,扩展性等等。如何区分和化解用户需求与软件需求,如何有效把握用户需求与软件需求的区别,是系统分解的核心。这是最考验架构师的地方,也是只有架构师参与的工作。

总结:系统架构师负责产品的系统分解,系统整体软件架构设计,但是不负责产品的业务功能设计和业务流程设计。

4. 技术选型以及技术标准的制定

这一步要根据对软件需求决定项目该使用何种架构,开发模型,及依赖选项。如使用多层架构还是分布式架构,是使用MySQL还是SQLServer,是否需要使用企业库,是否需要使用ORM。但是,架构师对项目的技术选型要提供多种不同的方案,并为每种不同方案提供详细说明文档,用来阐述每种方案的优势,劣势,可行性等内容。这些文档供项目经理或领导决策最终的技术选型。

这里的技术选型,包含第三方产品的选型以及技术框架的技术选型。

同时要提出相应的技术规范,开发流程规范,代码规范,概要设计中相关规范(服务接口规范,性能要求,功能设计,UI规范等)以及部分详细设计规范(包含数据库设计规范(具体列表),重点流程设计规范,重点界面设计规范)。

总结:

1. 负责技术选型。

2. 负责技术标准制定。

3. 负责技术框架实现。

5. 系统设计阶段(系统概要设计)

依据软件需求和技术选型,架构师需要和软件工程师一起将软件需求落实到软件详细设计说明书中。架构师负责将软件需求分解,重组织为子项目,子系统,组件和模块,以及它们之间的逻辑关系,从而形成不同的逻辑组成部分,最后还需要确定各个子系统及组件间的接口。这些都是作为进一步的团队分工的依据。同系统分解一样,系统设计是考验架构师能力的重要职责。

6. 系统优化阶段

在进入到系统的详细设计阶段,架构师负责协助系统分析师,软件工程师等进行数据库设计,集成环境搭建等工作。

系统架构师负责系统的非功能性设计,数据库表结构设计等详细设计工作,但是UI设计不属于架构师,属于UI设计师。

7. 培训与指导

在软件详细设计说明书完成后,为保证项目的顺利进行,架构师需要对整个团队进行技术培训。

8. 保持沟通

沟通是保证项目顺利开展的有效保障。架构师要从多方面跟踪项目进度,及时与项目经理或直属领导汇报项目进展,与技术开发人员沟通遇到的问题,如果是迭代开发,还需要与用户沟通需求变更。

系统架构师的职业发展规划

个人以为的系统架构师的发展规划主要流程应该是:

架构师的岗位设置、工作职责、组织定位梳理

 

说明:
a) 单一产品的系统架构师:负责单个产品的技术架构设计,实现,维护以及技术积累。
b) 同行业体系下,多项目系统架构师:负责相同行业中单一个技术架构的多项目应用。能够根据项目的不同需求实现架构的优化。
c) 结合业务负责产品设计和系统设计的系统架构师:在负责技术架构的基础上,具备单个产品的产品架构设计能力。要具备一定的UI设计能力,协助UI设计师进行产品架构的设计。
d) 整合行业的系统架构师:对整个行业进行整体设计,更强调的是行业内个系统之间的关系设计。
e) 公司级的系统架构师:对整个公司的技术系统,技术路线等负责。



Tags:架构师   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
为了构建高并发、高可用的系统架构,压测、容量预估必不可少,在发现系统瓶颈后,需要有针对性地扩容、优化。结合楼主的经验和知识,本文做一个简单的总结,欢迎探讨。1、QPS保障目标...【详细内容】
2021-12-27  Tags: 架构师  点击:(3)  评论:(0)  加入收藏
本系列为 Netty 学习笔记,本篇介绍总结Java NIO 网络编程。Netty 作为一个异步的、事件驱动的网络应用程序框架,也是基于NIO的客户、服务器端的编程框架。其对 Java NIO 底层...【详细内容】
2021-12-07  Tags: 架构师  点击:(16)  评论:(0)  加入收藏
1 概述数据结构和内部编码 无传统关系型数据库的 Table 模型schema 所对应的db仅以编号区分。同一 db 内,key 作为顶层模型,它的值是扁平化的。即 db 就是key的命名空间。 key...【详细内容】
2021-11-01  Tags: 架构师  点击:(28)  评论:(0)  加入收藏
前面已经聊到了如何做高层架构设计,并开始让设计落地,去划分了系统边界,进行了服务和模块的拆分,也就是系统的整体轮廓已经有了。接下来,就该来做整体的技术架构设计了。其实做架...【详细内容】
2021-09-17  Tags: 架构师  点击:(77)  评论:(0)  加入收藏
有朋友或许感兴趣到底什么是解决方案架构师,也肯定有一些人心里充满了困惑:1、架构师又跑售前又做项目,到底是干嘛的?如何成为一个架构师?2、经常听人说方案,究竟什么是方案,怎么写...【详细内容】
2021-08-19  Tags: 架构师  点击:(107)  评论:(0)  加入收藏
第一章:认识SpringSpring认识框架spring全家桶: spring ,springmvc,spring boot,spring cloudspring:出现在2002左右,解决企业开发的难度,减轻对项目模块之间的管理。类和类之间的...【详细内容】
2021-06-24  Tags: 架构师  点击:(123)  评论:(0)  加入收藏
从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师。对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式。国...【详细内容】
2021-06-18  Tags: 架构师  点击:(114)  评论:(0)  加入收藏
分布式一致性算法概要随着各种高并发访问、海量数据处理等应用场景越来越多,为了应对这些使用场景,分布式系统应运而生。分布式系统得以发展,得益于诸多优点,比如:可以避免 单点...【详细内容】
2021-04-13  Tags: 架构师  点击:(238)  评论:(0)  加入收藏
前言我们可以从java.io.InputStream类中看到,抽象出一个read方法,用来读取已经打开的InputStream实例中的字节,每次调用read方法,会读取一个字节数据,该方法抽象定义,如下所示:publ...【详细内容】
2021-04-09  Tags: 架构师  点击:(161)  评论:(0)  加入收藏
昨天有网友问我,他原先没有学过奥数,问能不能当系统架构师?其他也有人有疑问,是不是应该先学数学,然后在考研的时候转入计算机? 我先说一下结论,没有学过奥数,完全可以当系统架构师...【详细内容】
2021-03-09  Tags: 架构师  点击:(233)  评论:(0)  加入收藏
▌简易百科推荐
为了构建高并发、高可用的系统架构,压测、容量预估必不可少,在发现系统瓶颈后,需要有针对性地扩容、优化。结合楼主的经验和知识,本文做一个简单的总结,欢迎探讨。1、QPS保障目标...【详细内容】
2021-12-27  大数据架构师    Tags:架构   点击:(3)  评论:(0)  加入收藏
前言 单片机开发中,我们往往首先接触裸机系统,然后到RTOS,那么它们的软件架构是什么?这是我们开发人员必须认真考虑的问题。在实际项目中,首先选择软件架构是非常重要的,接下来我...【详细内容】
2021-12-23  正点原子原子哥    Tags:架构   点击:(7)  评论:(0)  加入收藏
现有数据架构难以支撑现代化应用的实现。 随着云计算产业的快速崛起,带动着各行各业开始自己的基于云的业务创新和信息架构现代化,云计算的可靠性、灵活性、按需计费的高性价...【详细内容】
2021-12-22    CSDN  Tags:数据架构   点击:(10)  评论:(0)  加入收藏
▶ 企业级项目结构封装释义 如果你刚毕业,作为Java新手程序员进入一家企业,拿到代码之后,你有什么感觉呢?如果你没有听过多模块、分布式这类的概念,那么多半会傻眼。为什么一个项...【详细内容】
2021-12-20  蜗牛学苑    Tags:微服务   点击:(8)  评论:(0)  加入收藏
我是一名程序员关注我们吧,我们会多多分享技术和资源。进来的朋友,可以多了解下青锋的产品,已开源多个产品的架构版本。Thymeleaf版(开源)1、采用技术: springboot、layui、Thymel...【详细内容】
2021-12-14  青锋爱编程    Tags:后台架构   点击:(20)  评论:(0)  加入收藏
在了解连接池之前,我们需要对长、短链接建立初步认识。我们都知道,网络通信大部分都是基于TCP/IP协议,数据传输之前,双方通过“三次握手”建立连接,当数据传输完成之后,又通过“四次挥手”释放连接,以下是“三次握手”与“四...【详细内容】
2021-12-14  架构即人生    Tags:连接池   点击:(16)  评论:(0)  加入收藏
随着移动互联网技术的快速发展,在新业务、新领域、新场景的驱动下,基于传统大型机的服务部署方式,不仅难以适应快速增长的业务需求,而且持续耗费高昂的成本,从而使得各大生产厂商...【详细内容】
2021-12-08  架构驿站    Tags:分布式系统   点击:(23)  评论:(0)  加入收藏
本系列为 Netty 学习笔记,本篇介绍总结Java NIO 网络编程。Netty 作为一个异步的、事件驱动的网络应用程序框架,也是基于NIO的客户、服务器端的编程框架。其对 Java NIO 底层...【详细内容】
2021-12-07  大数据架构师    Tags:Netty   点击:(16)  评论:(0)  加入收藏
前面谈过很多关于数字化转型,云原生,微服务方面的文章。虽然自己一直做大集团的SOA集成平台咨询规划和建设项目,但是当前传统企业数字化转型,国产化和自主可控,云原生,微服务是不...【详细内容】
2021-12-06  人月聊IT    Tags:架构   点击:(23)  评论:(0)  加入收藏
微服务看似是完美的解决方案。从理论上来说,微服务提高了开发速度,而且还可以单独扩展应用的某个部分。但实际上,微服务带有一定的隐形成本。我认为,没有亲自动手构建微服务的经历,就无法真正了解其复杂性。...【详细内容】
2021-11-26  GreekDataGuy  CSDN  Tags:单体应用   点击:(35)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条