概述
一个公司中针对架构组的职责有很多,其中典型的分支有两种 。一种技术架构,主要负责搭建技术框架,公共组件以及对产品技术难点的解决和处理 。同时要在项目上线的过程中,对架构的运作效率,开发效率等进行优化和升级 。
一种是业务架构,主要跟随产品团队一起发展 。这种业务架构师要理解具体的业务,要了解业务中具体的功能要求以及功能模块之间的关系 。并且选择合适的公共组件和技术架构,用于产品发展的不同阶段 。
很多小团队,技术架构和业务架构不再进行拆分 。很多时候一个架构组前期负责技术选型,后期负责产品规划 。或者很多技术架构的事情交给一个专门的团队进行规划 。
从我们团队的职责需要支持整个公司的架构,我们需要两个架构师团队同时存在并且要求保持稳定 。
系统架构师存在的意义从一般意义上来说,一个公司的架构师能力如何,将直接决定一个公司或者公司产品的技术路线是否先进、技术架构是否合理、技术积累成熟度、甚至于整个公司人员的技术水平 。从这个角度上来说,系统架构师对公司来说具有非常重要的意义 。
系统架构师的设置原则从普遍的情况来看,为了实现更好的技术积累,提升代码开发的质量,缩短开发周期,应该按照不同的所属行业,不同的技术路线来设置系统架构师 。
举例来说:
1. 按照行业不同,照明事业部和市政事业部都应该单独设置架构师 。
2. 按照技术路线不同,需要分为:.NET架构师,J2EE架构师,Android架构师,大数据架构师,微服务架构师等
系统架构师的组织关系定位1. 从项目的组织维度看,架构师从属于项目开发经理或者产品开发经理 。
2. 从公司或者部门的组织维护看,架构师独立于项目,从属于部门经理 。从部门级的组织关系看,系统架构师与开发经理同级 。
要说明这个问题,首先要明确公司部门的组织结构,考虑到系统架构师工作职责的问题,一般采取以下架构(矩阵型组织架构)的公司比较多(个人建议) 。
文章插图
而我们公司事业部制的组织结构(项目型组织架构)如下:
文章插图
系统架构师工作职责1. 系统架构师的责任【架构师的岗位设置、工作职责、组织定位梳理】- 负责产品或者项目的技术路线选型 。
- 负责产品或者项目的系统架构设计 。
- 负责产品技术路线和技术架构的技术积累,优化和升级 。
- 负责新技术的研究和应用 。
- 负责技术课题的攻关 。
- 负责相关技术体系的培训工作 。
2. 需求整理分析阶段首先,架构师能够准确把握第一手的需求,防止出现需求理解偏差;
其次,分析人员在与客户交流时,往往不会深入挖掘需求,因为有很多隐藏的需求客户自己都不见得意识的到,而架构师则可以依靠敏感的软件嗅觉发现这些需求,减少以后的变数;
第三,分析人员往往脱离开发团队,盲目接受客户需求,而架构师能够清楚把握现有的研发团队能做什么,不能做什么,提前预知风险,降低项目失败的机率 。
总结:
系统架构师参与需求的整体理解工作,可以给出指导意见,但是需求分析由需求分析师负责 。
3. 系统分解工作(产品整体架构设计,业务架构)在收集完信息后,架构师需要将用户需求转化为软件需求,同时要补充非业务需求,如健壮性,扩展性等等 。如何区分和化解用户需求与软件需求,如何有效把握用户需求与软件需求的区别,是系统分解的核心 。这是最考验架构师的地方,也是只有架构师参与的工作 。
总结:系统架构师负责产品的系统分解,系统整体软件架构设计,但是不负责产品的业务功能设计和业务流程设计 。
4. 技术选型以及技术标准的制定这一步要根据对软件需求决定项目该使用何种架构,开发模型,及依赖选项 。如使用多层架构还是分布式架构,是使用MySQL还是SQLServer,是否需要使用企业库,是否需要使用ORM 。但是,架构师对项目的技术选型要提供多种不同的方案,并为每种不同方案提供详细说明文档,用来阐述每种方案的优势,劣势,可行性等内容 。这些文档供项目经理或领导决策最终的技术选型 。
这里的技术选型,包含第三方产品的选型以及技术框架的技术选型 。
推荐阅读
- 行走茶山之曼迈,后起八大茶山之贺开茶山的地理渊源
- 这才是Chrome的完全体!教你发挥Chrome的全威力
- 苦涩的茶叶就是坏茶吗,吃茶水上火吗
- Python网络爬虫数据提取神器 Selector 的用法
- 一文搞懂分类算法中常用的评估指标
- 喝白茶的5大副作用,什么人不能喝白茶
- 喝白茶寿眉茶的好处,三年老白茶的口感
- 减肥喝什么茶才最好呢,什么茶可以降低胆固醇的呢
- 兰馨雀舌多少钱条,优质名茶兰馨雀舌的制作工艺
- 红茶豆浆的做法,茉莉绿茶豆浆的做法