Architect vs PM vs Software designer

来源:互联网 发布:保湿精华推荐知乎 编辑:程序博客网 时间:2024/05/21 20:21

       总觉得国内对于架构师的定义不是特别清楚,传统的项目经理,软件设计师等等倒是比较清楚,其实一个真正的架构师所具备的技能要比传统的所有的IT角色更广泛,要求更高.可以说,架构师是懂技术的PM,又是懂管理的技术专家.

     去年参加微软的MCA认证(很遗憾,面试没有过),但是学到了一些东西,尤其对于架构师技能的要求,个人比较赞同,可以参考,通过这些技能的了解,就自然可以搞清楚架构师和软件设计师等角色的区别了.

     这里以微软定义的MCA(Microsoft Certificate Architect) for solution architect 的技能要求为参考.所以,下面所描述的架构师,主要是解决放案架构师,关于其他的架构师,比如企业架构师(EA)infrastructure architect等,他们会在大多数方面具有相似的要求。 

总的来说,在一个项目里面,架构师好比桥梁,比如,

1.PM和技术人员的桥梁,既要协助PM做好管理工作,因为很多PM是不精通技术的

2.需求和技术实现的桥梁,架构师需要综合各种需求,包括业务的和非业务,将他们转化为解决方案,然后指导技术人员实现

 

 

具体的技能包括

  • Leadership

可以教别人,从而影响别人,建立良好的合作关系,好的队伍,让组织和团对更好.这里主要是一个领导力和影响力的技能,对于PM,这肯定是基本技能,但是架构师在项目里面可能更多使用的非正式的领导力,也就是影响力,包括个人魅力,知识传递等等.我们可以看到,在很多项目里面,实际上架构师直接管理技术队伍或者PM要依赖于架构是去管理技术队伍.

  • Communication

不同人说不同话,或者有人不同意你怎么办,写好的文档,比如能不能画一画,如何问问题,先听后说。。。。。。这里主要强调的就是沟通,包括说,,,问等等综合技能.因为架构师在项目里面是桥梁,需要和PM,程序员,客户,领导等等各种人物打交道.所以这个能力格外重要.当然,PM和软家设计师也需要沟通,但是他们都没有架构师沟通的范围和领域宽广,架构师需要沟通需求,进度,技术等几乎所有项目涉及的方面.

  • Organizational Dynamics

或者说识别问题解决问题,识别关键人员,知道每个人想要什么,建立关系,并且搞清楚政治背景,解决冲突,遵守法律制度。这个主要是指架构师需要了解组织状况,PMI里面对于项目管理也有这个类似的要求,如果架构师搞不清楚这些形式,他的解决方案就会出问题。

  • Strategy:

业界趋势,业务趋势策略,技术趋势策略,所以涉及到许多企业架构frameworkCMMI等,包括还有经济效益的分析,比如ROITCO等等。这里主要是说要讲策略,不能就事论事,而是要关联起来,这也是PM需要掌握的。

  • Processes and tactics

如何deliver project,做项目的方法和过程,包括收集需求,设计。。。。。原型,适应将来的变化。这里主要是方法战术的问题,比如使用RUP,敏捷开发,MSF等等方法论,都是架构是要掌握的,没有这些,架构师就无法和PM沟通,就无法将自己的解决方案变成可交付的高质量的成果,就无法顺利地完成项目。

  • Technology breadth

理解技术,包括趋势,分析需求的能力,这里要求的是技术的广度,架构师需要了解尽可能多的技术,所谓见多识广,只有这样,才可能综合各种技术,选择更加适合项目的解决方案。

  • Technology depth

这里是指技术的深度,架构师最好精通1-2个技术,这样的好处对于技术人员来讲都很容易理解,如果架构师深入地了解一些技术的,就会太虚了,就无法拉近和开发人员的距离,同样,也无法更加深刻的理解IT

 

综合来看,架构师比PM懂得更多的技术,比技术人员懂得更多的管理技能,一个好的架构师,首先是一个合格的PM,还是一个合格的技术人员,还是半个销售,他是项目里面不可替代的掌握各种技能的多面手,自然也就成为了项目成败的关键。

 
原创粉丝点击