主题:【原创】IT教师手记--系统开发与设计(一)系统分析员 -- redbud
接
系统开发与设计(一)基本的概念
http://www.ccthere.com/article/2712495
系统开发与设计(一)
谁来领导?重要的角色—系统分析员
系统开发与设计,其实更加像拍一部电影,要相关的人员都到齐了,才可能进行工作。如同拍电影有个导演,系统开发与设计也有个主导者,这就是现在要推出的神秘的系统分析员 (Systems Analyst),系统分析员在美国的起薪是40000多美金,1-4年经验是50000多美金,十年以上经验可以到90000多美金(数据来自于payscale.com),在英国,系统分析员的平均工资是37500英镑 (数据来自于itjobwatch.co.uk),工资的增长率是3%,是一份不错的工作。怎么能成为一个系统分析员呢?我所知道在中国,系统分析员是要考资格证书的,好像在国外,也是有不少地方是提供系统分析员证书的,成为系统分析员的道路又可以分为entry-level, intemediate-level, and senior level,在每个级别下,你的薪水肯定上升,但是负责的任务也不同,基本上可以说从最初做需求分析,到管理,到consultant到负责大型项目的设计开发,比如这里美国virginia州对于系统分析员的工作,薪水就提供了很详尽的分析 。再比如Microsoft提供的MCAD (Microsoft Certificated Application Developer)也是一个很好的考系统分析员的前提。而我们中国是有信息产业部的软件水平与资格考试,系统分析师考试,也由早期的几类发展成了20种的考试,系统分析员,项目经理就是其中一类。
一个系统分析员所需要的职能和技巧是非常多的。大体来说,要有良好的沟通技巧,技术知识,和商务知识。系统分析员所要负责的工作,就是保证系统开发的顺利进行,要保证项目开发能够有效(达到预期的功能),按时以及不超预算来进行。仔细说来,系统分析员其实对于全局要有一种洞察力,对于整个开发过程当中所可能遇到的关键事件,要有一个整体的了解,具体说来,第一要对于技术如何使用到商业运作方面很熟悉,比如说,最近流行的RFID技术,怎么能普及运用?再比如JIT的概念,如何运用到库存管理,早期应用在汽车工业方面,那么运用到超市库存运作方面呢?会有什么不同。第二,要对于商务运作方面的知识有所了解,有时候要比较熟悉,因为系统分析员要参与到项目的需求分析,具体来说,就是商务流程的改进,有时候甚至是重组,这个时候,就需要系统分析员非常有洞察力,表现在第三个方面,就是需要有一种变化意识。可以基本上了解到,新的系统,会对于企业本身造成什么影响,会影响到哪些变化,比如上一个新系统,很多员工,特别是老员工,是很抵制的,曾经听说有钢铁厂上了新的SAP ERP系统,老员工必须要重新培训来适应和熟悉新系统,这个时候,员工的抱怨,不满情绪,引起运作效率的下降。更有甚者,新系统的上任,要裁剪一部分人员。所以系统分析员应该是对于这些变化,预先有洞察力,并且预备一套方案在那里的,也就是说,要有培训、安抚、激励员工,以减少新系统的运行对于公司运作的震荡。有时候,系统分析员的诚信和道德水准也是非常重要的,因为系统分析员基本上是将整个客户方的业务流程彻底了解,这就要求其有诚实的职业道德。
早期指导项目的系统分析员很可能只是一个人,由于目前软件产业的发展,在大型的项目开发项目中,目前的系统分析员,已经成为一个团队。这个团队由系统分析员,商务分析员(business analyst),架构工程师(Infrastructure Analyst),变化管理师(Change Management Analyst,不知如何翻译啊),以及项目经理(project manager) 来组成。 所谓系统分析员,要负责的部分是在客户或者公司之间进行沟通,对于技术、商业运作要有很好的了解,也要负责对于新的系统进行分析和设计。商业分析员的角色,类似于系统分析员,但是更加侧重于商务流程运作方面,他也是新系统的主要分析和设计人员,所以在开发当中,系统分析员和商务分析员两个角色很可能是一个人,也更有可能,在某一个行业,比如汽车制造业方面的系统开发与设计,有consultant公司有专门熟悉汽车制造业商业流程的商业分析员,那么他可能就不是开发客户方,而是来自于开发公司方。架构工程师这个角色,所负责的主要是对于硬件方面的责任,比如,新系统的是否跟客户方的硬件配合,是否需要更新硬件等等。变化管理师,主要是负责前面提到的系统实施之后公司变化所带来的问题,比如培训,激励员工等等。最后是项目经理,项目经理如果在这里很具体的来说, 确保项目如期进行,资源分配合理,在预算之内。
当然,这个只是一些综合起来的名称,具体在开发的团队当中,可能并非如此,比如有些小型的项目当中,可能5个角色都是一个人,有些项目当中,商务分析员,系统分析员,项目经理,变化管理师,是一个人,架构工程师是一个人。大家自由发挥想象吧,具体实践当中的经验,我不是很了解。
渐变发展,系统开发与设计的三类方法?
开发团队,谁来参与?
下面继续写,有时间的时候整理一下。
本帖一共被 1 帖 引用 (帖内工具实现)
感谢分享!写这类文真不容易,涉及方方面面,名词就有n多,容易变成名词解释。如果找一个案例,用说故事的方式从头演绎,也许是个可尝试的方式。
打教师手记
日本这边的行话叫上流工程,相对的具体开发就是下流工程,夹在中间的是中流。
俺的看法IT是一个“编”字:
上流“编”故事
中流“编”剧本
下流“编”代码
维护呢?呵呵,最惨,“编”理由。
编故事的人一定是最重要的。因为他必须做出完美的需求分析。对大型项目而言需求分析实在是太重要了。做出好的分析不一定项目成功,但是没有好的需求分析,一定失败。
怎样才能做出好的需求分析呢?
最基本也是最重要的就是精通客户的行业。然而即使是客户派来的最懂本公司业务的人员,也是不可信赖的。因为所谓懂业务的人员,未必真正知道本公司的所有情况,有些习以为常的事情未必告诉设计人员。而计算机是如此之笨,即使你仅仅遗忘一个小小的细节,就有可能造成系统崩溃。比如挑战者的爆炸仅仅是因为某个计量单位问题。
所以你必须真正精通业务,必须比客户的任何员工都了解公司的实际情况。
要实现这个目标,其实很简单:去客户公司上班,实际从事员工们每天的工作。你不必做的非常熟练,但是你必须了解实际的流程,包括公司以前的做法,变更的理由,预订改革的部分。一般熟悉一个部门需要3个月。某些核心部门需要更长,比如财务。在你熟悉了公司所有部门以后,你就可以着手写需求分析了。但是请注意,这时候你写出来的分析只是合格线上下的东西。虽然能写出这样的分析已经是很难能可贵了,但是要达到良好的要求,还是很远。这是需求分析的第一种类型,现实复制型,即把现有的业务用计算机技术来实现。
要写出良好的需求,不仅要熟悉企业真正的运作情况,还必须精通企业所处的行业。因为企业的现行做法并不是完美的。如果你是为那些代表行业发展方向的标杆企业做分析,可能会轻松一些。如果并非这样,你就必须深入学习行业自身的情况,找出当前企业的优势和不足。通过广泛学习和调查,你就从了解事物是怎样的,上升到知道事物应该是怎样的。这时你就有可能写出良好的需求来。这是需求分析的第二种类型,行业标杆型,即综合本行业特点,不仅把现有业务计算机化,而且通过系统开发来弥补原有业务的不足,提升企业效率。
能写出优秀需求分析的一定是廖若星辰的那些牛人。什么是优秀的分析?通过引进IT系统,不仅把企业自身的运营管理水平提升到行业的优秀水平,而且通过引入前所未有的运营手段或技术等,是企业加入行业最先进的行列,引领行业发展的方向。一个例子是当年的沃尔玛,通过先进的物流系统大大提高了物资和资金的周转速度,系统本身成为行业的标杆。这是需求分析的第三种类型,开创未来型。必须指出的是,这种开创,和所有的创新一样,伴随着巨大的风险。同样是沃尔玛,智能标签计划并未象预计的那样带来巨大的成功,甚至可以说很失败。
需求分析的最高境界是什么呢?那就从实际出发,实事求是,可操作可实施的分析。每个分析人员真正因该追求的是这样一个境界,即立足于企业的实际状况,提出具有很强可操作性和可衡量性的方案,循序渐进的帮助企业达到自身所能到达的最佳境界。可以用脱胎换骨型来形容这种分析。
有过大型企业应用软件上流设计经验的都知道,企业导入新的系统,往往伴随着激烈的政治斗争,项目的成本甚至关系企业本身的存亡。玩一些花里胡哨的概念或者不思进取的照搬现状都是不可取的,甚至太多的项目在分析阶段连基本的业务都不能完全吃透,更不用说给企业带来脱胎换骨的变化,结果是造成好的企业伤筋动骨,差的企业甚至一命呜呼。
这么看来,要想做好一个好的项目,认真+耐心很重要啊
变更管理,主要指新旧系统交替之时的管理
崇拜啊,你讲的东西非常好
以前作项目的时候,所有“变更”,不管是业务需求方面的(一般主要是甲方业务需求导致的变更),还是系统设计和实现方面的(比如在”详细设计书“双方签字认可后因为某种原因乙方即服务提供商需要对设计进行修改),都要纳入“变更管理”。“变更管理”是项目管理的一个很重要的组成部分。
谢谢,我没做过开发的项目,现在在教这个课,真是要多向你们学习