acm-header
登录

ACM通信

BLOG@CACM

软件架构师是你要责怪的人


您当前的软件项目的效率如何,它是否可能从软件架构师的加入中受益?更重要的是,软件架构师具体做什么,他们能为您的团队提供什么?随着软件开发的世界迅速向更加敏捷的工作流程发展,软件架构师的重要性被低估了。一个被许多人误解的职位是一个重要的组成部分,它在项目流程中提供无与伦比的指导,将责任分配给能够将公司愿景转化为代码的个人。

有些人可能认为,软件架构师的头衔仅仅是高级程序员的地位象征,表明应该交付特定级别的尊重;这种假设是错误的。架构师的工作是一项非常重要的工作,如果它被充分授予,并且获得该头衔的人具有领导团队所需的资格。最重要的是,个人必须能够承担项目失败的责任。

软件架构师是当项目失败时承担责任的人,或者当软件和团队成功时受到赞扬的人。现在,我们必须理解使用“责备”这个词是什么意思,以及为什么会将如此大的联想与一个人联系在一起。软件架构师是您团队的向导;选择它们是为了将最初的愿景贯彻到完全固化的代码工作块。作为领导者,他们选择为领导团队的方向承担责任。

EPAM Systems的首席软件工程师Nikolay Ashanin在他发表的文章中把软件架构师的职责比作19世纪的桥梁工人成为软件架构师的路径他说,当时关键的工程师、建筑师和工人们站在桥下,当第一批车辆经过桥上时;因此,他们把自己的生命押在了建筑和结构的强度上。

当我们说软件架构师必须承担项目的责任时,我们只是在说,所产生的项目结果应该落在他们的肩上。这完全取决于软件架构师使用他们的方法来委派项目的责任,无论是额外的工具集、他们的权威,还是导师和指导。

项目经理并不总是可以选择雇佣软件架构师,因为他们通常是由公司策划的个人,随着时间的推移学习和理解他们的团队。在一个优秀的文章在C4媒体专注于软件开发的部门InfoQ的Simon Brown的文章中,他指出:“成为一名软件架构师不是一夜之间就能发生的事情,也不是升职就能实现的。这是一个角色,不是一个级别。”

最重要的是,软件架构师的决定必须是最终的。否则,在这件事上没有真正的最终发言权,个人就不会被视为权威人物。当涉及到实现和生成代码时,即使是项目经理也必须将软件架构师视为最终决策者。项目经理不应该推翻架构师的决定,而是应该在产品终端愿景没有充分一致的情况下,寻求替换个人。一个人不需要被解雇,但可能被重新安置到标准的程序员池中;随着时间的推移,他们可能会在专业上成长,再次尝试这个机会。

软件架构师是项目的导轨;他们让开发人员团队向前发展,同时承担整个团队行动的责任。架构师不仅要有领导能力,还要了解他们团队的技能,以及他们如何为完成的项目做出贡献。

除了能够编写漂亮的代码、带领团队完成任务和在压力下工作之外,软件架构师还必须是一个能够承担项目责任的人物;这是定义一个真正的建筑师的特征。不仅仅是一个高级程序员,不仅仅是一个领导者,软件架构师是质量的看门人,是他们团队的指导远景。最后,无论结果是积极的还是消极的,软件架构师都可以为他们的团队所完成的工作接受赞扬或指责。

叶戈尔·Bugayenko他是软件工程和管理平台Zerocracy的创始人和首席执行官。


评论


理查德。布鲁克斯

说,俄罗斯人。正如Simon在他的文章中所指出的,随着时间的推移,你所描述的真正SW架构师的特征已经减弱了,因为该工作更像是一个“等级”,而不是一个角色。

另外一个我想要包含的细节是SW架构师在“编排”工作中的重要性,帮助设定节奏并为团队设定高质量的期望——就像乐队指挥的角色一样。这帮助我按时、高质量地完成了许多成功的软件项目。

是时候让所有拥有“SW建筑师”头衔的人“站在拱顶石下”了。


显示1评论

Baidu
map