这里想简要探讨一下系统分析师这一角色在国内的软件公司里的位置。
国内的软件公司对于系统分析和系统分析员的定位是不同的。根据不完全了解,大致有以下几种情况:
1 没有正式的系统分析师
这里又会有多种情况:
客户会提供比较详细的需求书。客户充当了系统分析师的角色;
项目经理或商务人员在项目前期,通过讨论已经摸清了客户的大体想法和一些主要部分的要求。他们可以直接告诉软件工程师要做什么。这时,项目经理或商务人员充当了系统分析师的角色;
软件工程师独当一面,独立负责某一系统或者某些模块的需求分析设计和开发。软件工程师有机会与客户有些接触。这时,软件工程师充当了系统分析员的角色;
在外包项目中,系统分析结果是发包方提供的。这时,外方充当了系统分析师的角色。
2 有正式的系统分析师
这里有两种情况:分析师同时做需求分析和系统总体设计(架构设计,概要设计),这样的分析师往往是设计开发高手升迁上来的;另一种只做需求分析,并且确保系统的实现符合客户的需求,这样的分析师往往熟悉客户业务,有一定的研究,或者具有一定的行业背景。
系统分析师需要不断和客户进行交流沟通,以确保需求的正确性,并对需求变更进行及时的反应;另外,和开发人员进行沟通,使开发人员对需求有准确的理解;和测试人员合作,例如编写测试用例,进行需求验证,用户测试方案等;和商务人员合作,在报价书编写方面提供必要的支持,甚至,还和帮助文档作者合作,等等。
3 有时有,有时没有系统分析师
根据项目需要,有时充当系统分析师,有时则担任其它职务。这里不再详述。
最后是一个建议:
不管你所在的公司赋予你怎样的职责,都应该积极主动地做好职责内的工作,和其它角色相互合作,并且不断学习和提高自己。