InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Ted Neward看架构师的角色和责任

作者 Gavin Terrill 译者 郭晓刚 发布于 2007年9月26日

领域
架构 & 设计,
企业架构,
过程 & 实践
主题
企业架构 ,
客户及需求 ,
架构 ,
团队工作 ,
领导能力 ,
质量交付
标签
大企业病

Ted Neward最近分享了他对架构师的角色和责任的一些看法,以回应对一些针对架构师的责难

第一个问题是关于“架构师做些什么”?

在我工作过的一些公司里,作为一名“架构师”,你需要沾手代码,并作为技术上的领导,同时也开发者,有时候又是项目经理。你总是要一边盯着客户/业务价值,一边又同样要盯着技术细节。在其他一些地方,架构师(或“架构团队”)只是给一群不得不升职的开发者(通常是出于年资的原因)的职位,他们除了转作管理之外并没有其它清晰的升职路线。然后这个“架构团队”会设立一些“公司标准”,通常是以“行业标准”为基础。他们一般并不理会这些标准对于底下真正面对问题的开发者有没有实用意义。

下一个问题是,架构应该是支持性的还是限制性的:

架构应该是支持性的,当然如此。从这个方面来说,一个好的架构应该帮助开发者更快速更容易地构建程序,而不需要花费大量时间重新为一个个项目分别发明出相似的基础设施。一个好的架构还应该有助于跨程序的互操作,保证代码质量,保证良好的可维护性,为将来提供扩展能力,等等。以上这些,我认为都属于“支持性”。

但架构也是限制性的。从这个方面来说,架构应该驱使软件开发者向着成功的方向前进,远离以后可能出问题的决策。换言之,正如Microsoft的CLR架构师Rico Mariani所说,一个好的架构应该让开发者“掉进成功的坑里”。在这样的架构里,你只需“随波逐流”,就可以做出正确的决策,达到我们前面所说的良好的软件质量。

最后的问题是架构师是否仍然重要:

Fowler说在敏捷项目里架构是无关紧要的,我差不多从根本上反对这样的说法:架构师是船长,要横跨多个领域,为各种事物做出决策(航路、轮机等等)。他为整艘船以及船上所有人员(项目及其团队)的整体健康担负着最后的责任,并且当有需要时,他能够站在任何岗位上履行职责(一旦失去某位成员时,项目的任何部分他都能为之编写代码)。他必须熟悉问题域和牵涉到的技术,他还要时刻留心任何可能对项目有帮助,或者可能满足客户的新需求的新技术。

这些观点跟Fred Brooks(《人月神话》的作者)的意见一致,Fred认为架构师是达成“概念完整性(Conceptual Integrity)”的关键角色:

概念完整性是产品质量的中心。拥有一名系统架构师是朝向概念完整性的最重要的一步……在一个软件工程研究室执教超过20次之后,我开始坚持即使仅有4个人的学生团队也要选出一名经理,以及一名架构师。

你对架构师的角色和责任有什么看法呢?

查看英文原文:Ted Neward's thoughts on Architecture Roles & Responsibilites

译者 郭晓刚 是InfoQ中文站架构社区编辑,创建并终结过数家软件小企业,翻译过多本技术书籍。

Fowler说在敏捷项目里架构是无关紧要的,我差不多从根本上反对这样的说法 发表人 Yuan Shayne 发表于
  1. 返回顶部

    Fowler说在敏捷项目里架构是无关紧要的,我差不多从根本上反对这样的说法

    发表人 Yuan Shayne

    我怎么不记得Fowler有这么激进的言论?从Fowler的一些文章中可以看到他也认同架构设计的。
    Fowler倒是不赞成存在架构师这种称号,而是用 教练 来代替,其实干的活和上面的差不多

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。