揭开架构师的神秘面纱

架构师听起来有点高大上。

从程序员的职业路线来看(见下图),一个程序员小白要成长为架构师需要经过小白、初级程序员、中级程序员、高级程序员,才能成为仅次于专家的高大上的架构师。那么,什么样的程序员才能成为架构师?成为架构师需要具备哪些能力,架构师需要完成哪些任务?这里将揭开架构师的神秘面纱,让程序员更清楚地了解他。

揭开架构师的神秘面纱

在《每一个软件项目都应有个架构师》中,我们知道软件工程需要项目管理、技术实现和组织架构三类角色,架构师也就是组织架构角色,他负责平衡项目管理和技术实现两方面的内容,使得项目能够实现既定的目标。具体而言,架构师要完成以下任务:

  1. 技术方面

  • 把控系统整体架构,确保项目目标实现;

  • 根据需要,确定功能在架构上的分布;

  • 根据需要,确定功能实现的顺序:哪些地方宜先实施后优化,哪些地方必须先找出最优解,再实施;

  • 根据需要,确定哪些功能自主研发、重用还是外包;

  • 根据性能以及质量特性要求,优化架构;

  • 根据目标和管理能力,控制架构细节。

  1. 管理方面

  • 根据目标和架构细节,控制项目规模;

  • 协调项目管理者,管理技术实现人员。

好的架构师会在系统出现危难之前就发出警告,更好的架构师会早就提出了解决方案,再好的架构师已经要求与团队预演过这样的方案。

每一个程序员都可能成为一个架构师,一个架构师要做的事情,任何一个程序员都可以去做。程序员要成为一个架构师,除了基本的技术和管理能力,更重要的是必须具备很高的眼界和敏锐的觉察能力——放开眼界才能看到危机,切中利弊才能控制系统。

程序员和架构师赖以生存的根本是不同的——程序员的根本是技术,苦练技术是每个程序员都愿意投入的事情;架构师的根本是眼光,放开眼目是每个架构师都愿意立即着手的事情。

这正是:

架构师从架构起,协调技术和管理

技术细节要控制,项目规模能相匹

参考书目:大道至易:实践者的思想,作者:周爱民,出版社:人民邮电出版社

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。

揭开架构师的神秘面纱》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.bookhoes.com/923.html