首先看一下架构师和系统分析员的区别:
1、系统分析员必须考虑自己所设计系统的方方面面,他是系统实现的原始作者,也对系统能否满足客户的技术要求以及产品成本是否可接受起着最直接的作用。
2、架构师一般在软件组织内仅仅是少数人,他们主要负责对产品的架构进行评估以及子系统之间的接口批准上,评估的主要方面集中在系统级的质量属性和成本上,包括:当前架构是否满足可靠性要求、系统架构的可扩展性、可重用性、性能以及基础的公共功能等等。他们必须对系统分析员设计出来的系统进行最初的把关,所以责任重大,也需要经验非常丰富的人来承担。在公司其他部门和Ivar Jacobson的交流中,Jacobson明确的指出,架构委员会不是常设组织,通常都来源于团队的系统分析员,唯一常设的职位通常只有一个主席,其他的成员必须临时来源于系统开发的一线,只有他们最了解系统开发的基本思想。
3、系统成本是架构师和系统分析员最容易忽略的事情,而这个也是他们最基本的职责之一。
接下来看看系统分析员和项目经理的差别:
1、一个不合理的计划往往被归咎于项目经理,但这并不是事实。计划的制定严重依赖于系统分析员所设计系统的部件完成工序,而唯一能对这个作出准确判断的只有系统分析员。所以,计划的最初版本是来源于系统分析员而不是项目经理。项目经理在这方面的主要作用是协助系统分析员制定计划,帮助考虑人员、资源方面的投入情况,并在项目的执行过程中严格监控项目的进度情况。
2、质量目标的制定和计划一样,来源于系统分析员,尤其是性能、可靠性等关键技术指标,而这些的第一跟踪主体也是系统分析员。项目经理在其中的角色,只是协助系统分析员安排各种资源,完成这些目标的测试、跟踪等活动。
3、成本是唯一的需要架构师、系统分析员以及项目经理共同关注并且严格控制的因素,原因很简单,这是大家靠着吃饭的来源。
4、项目其他的非技术方面的因素,则基本都是由项目经理负责搞定,包括合同、人员沟通、采购等等。
用一句话来概括系统分析员、架构师、项目经理之间的区别的话,那时就他们的关注重点不一样。系统分析员侧重于需求提取与分析、需求变更管理等;架构师侧重于系统总体技术架构、技术框架等;项目经理侧重于项目管理、项目监控、组织管理与人员沟通等。