现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

软件之路:迈向架构师之路

2015-08-18 13:23 工业·编程 ⁄ 共 1868字 ⁄ 字号 评论 1 条

    项目经理需要有很好的项目把控能力,要善于制定目标、协调资源和领导团队,另外需要特别细心,因为每个项目的发布,涉及到的细节特别多,任何一个细节没处理好都有可能导致项目延期或失败。再则需要有很好地与其他部门团队协调能力,说白了就是学会如何与他们博弈和PK。

    架构师需要很渊博的技术知识,并能深专关系项目成败的关键技术,另外需要有很强概括和抽象能力,能大大小小的需求提炼出来,打造能支撑这些业务需求的架构,再则架构师需要有很好的人缘,因此需要有很强的沟通能力:与PD沟通,弄清业务需求;与开发人员沟通,弄清他们的技术难点和架构需求,并推广架构和设计,保证架构和设计正常实施;与高层沟通,使他们了解技术,对技术放心,也争取更多的资源。

     技术专家和架构师不同,不需要啥都知道,需要在一个点上做精做透,力争在某一方面做到世界第一,力求权威二字。

    确定了方向,然后需要做的就是朝着这个方向坚定地走下去。

架构师特质:

  • 能够帮助团队的同事解决问题,参与项目和产品设计
  • 对于公司的产品和项目发展方向有清晰的认知
  • 常常思考企业产品和项目的方向对公司产生的价值
  • 跟业务人员有良好的沟通,善于发掘需求
  • 具备很广的知识面,不一定要很深入
  • 大局观、开放心态和善于沟通
  • 复杂问题简单化的抽象能力

架构师分类:

  • 基础平台架构师
  • 业务架构师
  • 数据架构师

架构师的职责:

  • 平衡
    平衡需求和条件、平衡性能和功能、平衡需求和成本
  • 一致
    确保需求的一致性;取保产品规划、产品线架构规划和本产品架构与设计的一致;确保客户需求、架构约束、设计准则在实施阶段得到一致贯彻
  • 分解
    将系统分解成子系统;将子系统分解成模块;将模块分解成类设计
  • 集成
    将功能上的分解与系统性能和质量上的要求进行衔接,以便于正确引导下一步的分解动作
  • 纵览
    纵观整个系统及其存在的商业背景,以便于制定出重要的设计指导规则和设计控制规则
  • 简捷和优美
    设计上的简捷和优美,并在实际实施中得到贯彻
  • 保持完整
    保持系统的要求平衡均匀地、有侧重地、逐步地、一丝不苟并且完整地实施
  • 吻合
    在项目启动、设计、开发、运行维护、服务等完整的生命周期内,吻合各个stakeholders的需求

架构师的能力要求:

  • 专业技能
  • 商业经验
  • 沟通技能
  • 平衡决策能力
  • 多任务处理能力
  • 规划能力
  • 驱动能力

架构师主要工作内容:

  • 冷静和系统地平衡与性的要求,分析软件系统质量的要求和其他系统特性
  • 控制和处理有关系统粒度、范围、包含、连接和耦合的问题
  • 澄清接口策略,制定接口架构约束原则
  • 计划系统资源分配与调度原则
  • 稳定业务关系模型(实体、关系、协同动作)
  • 制定系统身份识别、认证、命名、存取控制的策略
  • 规划系统静态特征和动态行为转化模型
  • 确定系统级的基础框架组成,稳定架构基线
  • 按照外界环境与内在制约因素选择相应的开发流程,规划开发环境,开发工具,测试工具,版本控制工具等
  • 确定监控与报告流程,选择有效的汇总、统计、分析、报告工具
  • 为软件设计与开发制定架构约束及架构原则,并确保后续的开发遵守了这些原则
  • 软件系统的部署、初始化、装载顺序、卸载顺序、运行监控等系统运行时的规划
  • 软件系统测试、交付的原则及计划
  • 按照外界环境与内在制约因素选择相应的开发技术
  • 规划软件系统哪些部分自主开发、哪些部分外包开发或外购产品

架构师决不仅仅停留在设计系统和写设计文档的层面,现在感觉到压力和捉襟见肘是因为没有真正回答过以下几个问题:

1)是否真正具备扎实的开发功底?而不是停留在满足项目需求

2)是否能推动他人去改进系统或提升技术?而不是停留在DIY

3)是否对一些关键问题(如系统可用性、性能、底层开发框架)理解透彻?而不是浮在表面看不到水底

4)能否持续不断地提出新的思路?而不是仅仅曾经有过一两次创新想法

5)是否能三头六臂处理各种不同事务?而不是只能专心做一件事

6)能否快速理解问题并做出决断?而不是犹豫不决反复推敲

7)能否站在一定高度来领引团队的技术发展?而不是停留在处理琐碎的技术问题

有志成为架构师的朋友可以试着回答以上几个问题。架构师是一个比较虚的职位,一个部门可以没有架构师,项目经理同样可以带着一帮兄弟搞项目,但这样的团队会缺乏成长力,需要一个称职的架构师来帮助团队提升技术能力,提升系统质量,得到一个质的提升。因此,架构师对团队的作用绝不能停留在量的层面,从这一层面也反映出架构师工作的难度。

1)每天为自己留出不会被打扰的一个半小时,做当天最紧急和重要的事情

2)按不同时间段规划好工作,按计划做事情不会乱

3)保持好心态,先学会做人

4)放低姿态,保持学习者的态度

5)放宽注意力的范围,便于开拓思路

6)先从实在的事做起,逐步提升高度和扩大范围

目前有 1 条留言    访客:0 条, 博主:0 条 ,引用: 1 条

    外部的引用: 1 条

    • 系统架构师的岗位职责要求 | 求索阁

    给我留言

    留言无头像?