欢迎来到我的地盘:今天是

若得山花插满头,莫问奴归处!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上周从开发部转来一个刚毕业的小伙子,要我面试一下看看是否适合质量部的相关工作。交谈中,小伙子说大学里已经考过了系统分析员,于是我便问他:“系统分 析员主要做什么?” 小伙子想了一会说道:“系统分析员主要就是组织、管理和规划系统”。于是我接着问道:“如果负责组织、管理、规划的话,那和项目经理的 区别是什么?”小伙子想了半天,终于摇着头说:“不知道。”问这个问题倒不是为了为难小伙子,主要是希望他能够明白,书本上学来的东西必须和实践联系起 来,在开发也好在质量部也好,都离不开自己的主动学习和思考,没有思考的学习只是在收集知识而已,是不能够化为己用的。在离开学校的头两年里,大部分人是 无法找到自己真正的兴趣所在,我也是一样,所以刚开始无论在哪个岗位都必须主动学习和思考,包括对自己现有岗位的知识的学习,以及由于不满而对岗位之外的 知识的学习(当然这是在工作之外),而不满正是思考的起点。不过,正是因为无法找到真正的兴趣所在,就需要坚守岗位,一方面也许它就是自己的兴趣所在,一 方面也为了寻找真正的爱好而积蓄力量。

  额外的话说了不少,还是回来看看,到底“系统分析员、架构师、项目经理”之间有着什么样的差别?下面按自己的理解粗略的整理了一下,也许并不全面,绿色部分代表每一个角色主要需要参与考虑的活动(注:下面所说的系统分析员混合了设计的职责):

首先看一下架构师和系统分析员的区别:

1、系统分析员必须考虑自己所设计系统的方方面面,他是系统实现的原始作者,也对系统能否满足客户的技术要求以及产品成本是否可接受起着最直接的作用。

2、 架构师一般在软件组织内仅仅是少数人,他们主要负责对产品的架构进行评估以及子系统之间的接口批准上,评估的主要方面集中在系统级的质量属性和成本上,包 括:当前架构是否满足可靠性要求、系统架构的可扩展性、可重用性、性能以及基础的公共功能等等。他们必须对系统分析员设计出来的系统进行最初的把关,所以 责任重大,也需要经验非常丰富的人来承担。在公司其他部门和Ivar Jacobson的交流中,Jacobson明确的指出,架构委员会不是常设组织,通常都来源于团队的系统分析员,唯一常设的职位通常只有一个主席,其他的成员必须临时来源于系统开发的一线,只有他们最了解系统开发的基本思想。

3、系统成本是架构师和系统分析员最容易忽略的事情,而这个也是他们最基本的职责之一。

接下来看看系统分析员和项目经理的差别:

1、一个不合理的计划往往被归咎于项目经理,但这并不是事实。计划的制定严重依赖于系统分析员所设计系统的部件完成工序,而唯一能对这个作出准确判断的只有系统分析员。所以,计划的最初版本是来源于系统分析员而不是项目经理项目经理在这方面的主要作用是协助系统分析员制定计划,帮助考虑人员、资源方面的投入情况,并在项目的执行过程中严格监控项目的进度情况。

2、质量目标的制定和计划一样,来源于系统分析员,尤其是性能、可靠性等关键技术指标,而这些的第一跟踪主体也是系统分析员。项目经理在其中的角色,只是协助系统分析员安排各种资源,完成这些目标的测试、跟踪等活动。

3、成本是唯一的需要架构师、系统分析员以及项目经理共同关注并且严格控制的因素,原因很简单,这是大家靠着吃饭的来源。

4、项目其他的非技术方面的因素,则基本都是由项目经理负责搞定,包括合同、人员沟通、采购等等。

====================

系统构架师与产品经理的关系及区别
  产品经理通常是指负责产品设计的“专人”。一个优秀的理想的产品经理,应同时具备较高的商业素质和较强的技术背景。产品经理要有深厚的领域经验,也就是说,对该软件系统要应用到的业务领域非常之熟悉。比如,开发房地产销售软件的产品经理,应该对房地产公司的标准销售流程了如指掌,甚至比大多数销售人员还要清楚。如果开发的是通用产品,他/她还具备对市场、潜在客户需求的深刻洞察力。
  那么,系统架构师与产品经理有什么不同呢?
  我们不应该把二者混为一谈,这是不少论述和实践常犯的错误。我看来,如果把开发软件比作摄制电影,产品经理之于系统架构师,就正像编剧之于导演。产品经理虽然要有一定技术背景,但仍应属于“商业人士(business people)”,而系统架构师则肯定是一个技术专家。二者看待问题的立场、角度和出发点完全不同。
  系统构架师与项目经理的关系及区别
  软件项目经理是指对项目控制/管理,关注项目本身的进度、质量,分配、调动、协调、管理好人、财、物等资源的负责人。对于软件项目经理来讲,包括项目计划、进度跟踪/监控、质量保证、配置/发布/版本/变更管理、人员绩效评估等方面。优秀的项目经理需要的素质,并不仅在于会使用几种软件或是了解若干抽象的方法论原则,更重要的在于从大量项目实践中获得的宝贵经验,以及交流、协调、激励的能力,甚至还应具备某种个性魅力或领袖气质(Charisma)。
  由此可见,项目经理和系统架构师在职责上有很大差异。混同这两个角色,往往也会导致低效、无序的开发。特别是,从性格因素上讲,单纯的技术人员倾向于忽视“人”的因素,而这正是管理活动的一个主要方面。另外,就像战争中的空军掩护(Air Cover)一样,专职的项目经理能够应付开发过程中大量的偶发事件和杂务,对于一个规模稍大的项目,这些杂务本身就能占用一个全职工作者的几乎全部时间。在一个项目中,推动项目发展的是系统构架师,而不是项目经理。项目经理的职责只是配合系统构架师,提供各个方面的支持。主要职责是与内外部沟通和管理资源(包括人)。系统构架师提出系统的总体构架,给出开发指导。一个项目中,项目经理的角色什么?如果他即使管理人员又是设计人员,则必须比别人强,能够有让别人服的东西。如果他只是项目管理人员,系统构架师有专门人员,就可以不用精通或者说了解 it 各个方面的知识,如果了解更好。另外,如果在一个项目没有人在技术构架上和开发指导上负全部责任,而是每个人都负责一快的架构、分析、设计、代码和实施等,最后肯定会失去管理。
  系统构架师与系统分析员的关系及区别
  系统分析员(System analyst)是指对系统开发中进行分析、设计和领导实施的人。一般意思上讲,系统分析员的水平将影响系统开发的质量,甚至成败。但在一个完善的系统开发队伍中,还需要有业务专家,技术专家和其他辅助人员。所以,系统分析员只是其中的角色之一。但我国许多的 IT 公司,一般只有系统分析员而没有技术专家。系统分析员固然是对特定系统进行分析、设计。所以他的任务、目标是明确的。他只是去执行任务,完成系统的最终设计。
  系统架构师应该和系统分析员分开,但架构师必须具备系统分析员的所有能力,同时还应该具备设计员所没有的很多能力。 系统架构师是指导、检督系统分析员的工作,要求系统分析员按什么标准,什么工具,什么模式,什么技术去设计系统的。同时,系统架构师应该对系统分析员所提出的问题,碰到的难题及时地提出解决的方法。并检查、评审系统分析员的工作。

posted on 2010-04-21 08:37  莫问奴归处  阅读(1977)  评论(0编辑  收藏  举报
轩轩娃