中国最大的IT经理人实战案例库,汇聚数万管理案例更有经典解析!
重现真实案例场景,多角度分析,全方位点评,造就中国独一无二的管理案例库!
立即分享我的案例
热门搜索: 项目管理1 产品管理 开发管理 敏捷 新产品研发 需求分析 架构 信息安全 大数据 云计算 质量/测试 运维
硬技能
软技能
飞马网会员
LPLRY
软件架构师到底是做什么的?
被浏览 9228 次
9228
人气
飞马网-软件架构师到底是做什么的?

贵公司的项目团队中有软件架构师吗?贵公司需要一名软件架构师吗?

大多数敏捷开发团队并不明确定义这种角色,而是采用一种很民主的模式来工作。每个重要的技术决定都经由整个团队讨论,得票最多的那种解决方案胜出。如果这种团队最终决定在某个家伙的T恤衫上贴上“软件架构师”的标记,最受尊崇的那个编程员能得到这个标记。

不过,这个标记很少改变他的工作职责。毕竟,团队依然一样,喜欢大家一起讨论技术,每个人都参与其中。到头来,软件架构师与其说是一种明确定义了工作职责的角色,还不如说是一种地位和身份。它表明团队的其他成员尊敬团队当中资历最深、最有权威的那个人。是这样吗?

绝对错误!

很显然,架构师通常是知识、技能、经验和权威方面都无人能出其右的那个人。当然,架构师通常比别人知道得更多,需要时还能够轻松自如、游刃有余地向别人传授知识。架构师通常是团队中最聪明的家伙之一。

架构师是对质量承担责任的那个人。如果质量差,他难咎其责。

然而,这不是让他/她成为架构师的关键。

这也不是团队所需要的。我对软件架构师所下的定义是这样的:

架构师是对质量承担责任的那个人。如果质量差,他难咎其责。

你可以把“责任”(blame)换成“责任感”(accountability)或“职责”(responsibility)。不过,我更喜欢使用前者,因为它更明确地强调了这个事实:处于开发中的产品的每个质量问题都是架构师个人犯的错误。当然,有所失有所得:如果质量好,架构师也会得到开心客户的所有褒奖和赞誉。

这就是团队所需要的――某个人对开发的软件的质量负责。

项目经理的工作就是,确保软件架构师做出的每个技术决定没有受到任何人的怀疑。

至于这个家伙如何将这个职责授予别人,那是他的事。他是运用自己的知识和技能、质量控制工具、单元测试框架、权威、指导还是体罚,那是他的事。项目经理把质量控制授予软件架构师,至于软件架构师如何进一步授权,那是他的事。

软件架构师的角色对每个项目来说至关重要,即便只有两名程序员在同一张桌子旁边埋头苦干。其中一个人必定是架构师。

理想的架构师具备上述的所有优点和素质。他善于倾听每个人,将他们的观点和意见充分考虑进来。他是个出色的指导和老师,有耐心。他擅长沟通和洽谈。他处事圆滑,他还是技术领域的专家。

但是,即便他不具备所有这些优点和素质,他的决定始终是决定性的。

而项目经理的工作就是,确保软件架构师做出的每个技术决定都没有受到任何人的怀疑。这就是授权的真谛――职责总是伴随着权力。

作为一名项目经理,你应该定期评估架构师的工作成效。切记,你的团队在开发的产品的质量是他个人(!)的职责。你看到的任何问题都是他的问题。别害怕责怪他、惩罚他。但是始终要记住:为了让你的惩罚切实有效,你应该全权授予架构师,让他可以自由发挥。让我重申一下:他的决定应该是决定性的。

如果你项目经理对产品的质量不满意,架构师又没有改善情形,那就把他撤了。把他降级为程序员,把其中一个程序员提升为架构师。但是始终要记住:团队中只能有一个架构师,他做出的决定是决定性的。

那样才能有机会开发出一款完美的产品。

【来源网络】

飞马网

飞马网