SAP研发管理精要(2)
开发系统梦之队
在SAP的开发系统中,七种角色的设计保证了整个SAP研发系统有条不紊、紧张有序地进行。首先,在战略层面,不同的资深副总裁(SVP) 或副总裁 (VP)会总体负责一个特定的领域,从企业战略高度出发把握系统的发展和开发方向,并对公司的产品结构和市场起着决定性的作用,同时控制产品开发的进展和成本。
其次,行业解决方案小组(IBS)和核心应用模块领导小组(Core)分别就各自管理的领域协调管理项目前期的项目需求、规划工作,二者也有非常密切的关系,即IBS就新的开发需求对核心应用模块提出新的开发建议并随时监控开发进展,而Core应用开发在开发产品的同时,会响应IBS新的开发请求,为新的解决方案提供支持。
在SAP,计划总监(Program Directors)是一种特殊的角色,计划总监管理所领导部门的项目开发计划,负责开发资源的调配,根据项目分析方案决定项目最终的功能与方向,并监控具体项目的进展情况。
项目经理负责一个项目的计划管理,包括功能模块的划分、成本及开发进度的估算、资源调配、状态报告等,并负责协调产品管理、各开发小组、质量管理的工作。
产品经理(PM)和其领导的产品管理小组负责分析解释来自于用户的各种需求,并参与制定用户需求文档和开发请求,所以,全面的行业应用背景是对产品经理最重要的要求,同时也要求对R/3有一定的理解。产品管理小组在整个开发过程还有其他工作: ①协助项目经理及模块负责人完成模块设计; ②在开发阶段,与开发人员及文档开发人员密切协作,为程序开发和制作文档提供帮助;③参与系统测试,培训用户及提供咨询服务。
开发经理(DM)领导各个开发小组,负责分析用户需求(根据用户需求文档,同时也有可能直接与用户对话),规划设计所负责模块的程序对象,估计各个开发阶段的开发工作量和进度,从而对整个进程加以控制。开发经理是SAP各项目开发中的中坚力量,也是SAP为此而自豪的精华,他们都有多年的开发和应用经验,对R/3系统及ERP系统有非常深刻的认识,从而保证了R/3系统的先进性和稳定性。开发经理不但提供了系统设计,而且还要直接与开发人员交流,调配资源,保证系统的实现; 同时,在系统测试、产品维护等方面也起着非常重要的作用。应该说,开发经理是整个项目开发的核心。通常,在一个项目中,产品经理和开发经理的配备比例是1∶3。
质量经理(QM)和其领导的小组负责根据用户需求文档、设计文档等设计完整的测试文档,并在产品管理小组、开发小组及用户/顾问的协助下完成对最终系统的测试工作。质量经理往往要求对产品的实际应用、R/3技术甚至R/3项目的开发都有非常深刻的理解,而且经验也是很重要的一个条件。作为系统的最后一关,SAP对质量经理的要求是非常高的,其结果是保证了R/3系统的稳定性。
SAP最基础的角色要属开发人员(Developer)了,他们负责实现设计文档中分配的工作,并向开发经理报告开发进度,协助文档开发人员完成文档撰写工作。开发人员必须对SAP ABAP开发语言非常熟悉,并能熟练运用各种开发技巧,同时也需要充分理解用户的需求。开发人员在开发过程中允许更改设计,但必须与开发经理进行充分讨论并负责对开发文档进行修改,以保证二者的同步性。在测试阶段,开发人员必须对测试的错误及时响应,以提供最有效的支持。在开发人员中,还有一种特殊的开发者角色,可以称之为信息开发者(Information Developers),主要负责系统语种的翻译(比如英译汉)以及部分词汇的修饰,他们不要求太懂开发,通常,对一些专门的翻译人才进行一些产品培训就可以从事信息开发的工作了。每一个开发小组会配备4~5个信息开发者。
在SAP,还有一种角色就是文档经理(Knowledge Manager),文档经理及其领导的小组负责撰写在线文档、帮助文档、培训教材等,并将用户界面翻译成其他国家的语言,这项工作需要在项目其他成员的帮助下完成,并根据开发的变化及时更新文档。
SAP如何看待CMM ?
SAP认为,在市场需求千变万化、技术发展一日千里的今天,软件企业经常会面临成本超支、产品交付延迟、软件质量不过关和客户不满意等问题的困扰,遵循一些成熟而规范的管理理论和方法,形成一套适合于企业自身情况的开发模式和质量控制体系将有助于企业解决这些问题,并降低项目失败的风险。
SAP认为自己一直在往这个方向努力,从管理和技术两个方面规范自己的软件开发过程。除了前面已提到的关于开发队伍组织结构的建立和对软件开发周期各个阶段的定义等管理层面的问题之外,SAP引进软件工程的最新研究成果,提出诸如业务对象(Business Object)、业务应用程序接口(BAPI)等概念和技术,从软件构架的角度来优化开发和管理的过程。
作为两种提高质量管理的方法和工具,CMM和ISO 9000系列之间并不是泾渭分明的,而是互有交叉。SAP的质量监控体系虽然建立在ISO 9000的基础上,但董美婷认为CMM所提出的理论和方法已经被SAP吸收和运用了。事实上,无论是CMM还ISO标准,它们都只不过是一种规范和方法,企业最终的关注点应该是自身产品质量和管理能力的提高,也就是运用这些理论和方法后所取得的效果。换言之,也就是说不能仅为了取得CMM资格而实施CMM,更重要的是如何采取CMM评估提供的科学方法来管理自己的企业。
管理软件与应用软件的区别
众周所知,企业管理软件的客户需求研究、软件开发过程、产品规划等有着一般应用软件所不同的特点,他们之间究竟有什么样的差别?董美婷认为有四个比较明显的区别。
首先,应用软件在激烈的市场竞争压力下,对于功能的易用性、技术和性能都有很高的要求,需要不断提高在这方面的优势,以便在竞争中立于不败之地;而管理软件的开发则在此基础上,更注重系统如何能够真正反映和实现企业的运作流程,如何提高企业的工作效率和效益。因此,在开发管理软件系统时,需要开发成员特别是产品管理人员、项目设计人员对解决方案所面对的企业有非常深刻、完整的了解,这也决定了在项目开发初期,与相关企业用户、咨询顾问的沟通成为项目成败的关键。同时,企业的运作流程需要贯穿整个项目设计和实际过程,开发人员在实现设计之前,要对所负责的模块及其与模块之间的关系从应用的角度进行分析、理解。而在开发过程中,还要不断与产品管理小组成员甚至用户进行及时沟通。用户需求、企业运作流程、模块集成是整个开发周期中各个阶段讨论和研究的最主要问题,这会使企业的理念深入到系统中。
其次,ERP是一个系统工程,在企业运作过程中,各个模块之间有着极其密切的关系,比如财务、生产、人力资源等模块通常需要协同工作,系统需要在实现单一模块功能的同时,又要使企业作为一个整体来统一管理,由此,模块之间的接口和协调的重要性更加增强。所以开发一个ERP项目,不仅需要对项目的解决方案有充分理解,还要同时与其他模块进行沟通,将项目作为整个系统工程的一个部分。SAP在开发项目的过程中,会有一个特殊的工作小组来负责各个相关模块之间的交流和协调工作,这个小组既有专门人员,也有来自各模块开发组中的项目经理或非常资深的开发人员。这保证了R/3各模块之间不但能够实现技术上(模块接口等)的集成,也保证了在企业流程高度上的完全整合。
第三,作为一个通用产品,ERP系统需要面对众多需求不一、流程各异的企业,系统的可配置性、伸缩性就成为最重要的性能之一,特别是SAP R/3系统,作为一个全球化的产品,在这方面的要求更加关键。项目开发初期的项目规划阶段也主要是对此方面进行大量工作,因为并不是所有的需求都能在系统中有完全的体现,而是在综合研究了各类企业的需求之后,提出通用的解决方案,而对于比较特殊的需求,则通过系统的后期可扩展性来解决。为此,SAP提供了许多技术来实现不同级别的扩展能力,比如,系统个性化设置、企业结构配置、用户二次开发等,并且已经在开发过程预留接口。
第四,在产品开发和测试阶段,ERP产品项目的开发人员组成方面与应用软件的开发有很大不同,最明显的一点就是用户和咨询顾问的参与性。项目的开发和设计不但要及时与用户进行交流,而且也会有用户直接参与到这项工作当中,尤其在测试阶段,功能模块的正确性及性能可以由开发小组来完成,但对于流程的测试,用户和咨询顾问则是必不可少的,这也是验证系统可用性的关键步骤。
如何管理开发者?
招聘什么样的开发者?
SAP相信一个人只要具备了基本素质和某种职位需要的基本能力,经过SAP的培训就可以胜任相应职位的的工作。比如你是应聘开发财务系统的,也许你是学物理或数学的,没关系,只要你具备基本的开发能力,SAP会给你足够的关于财务流程和业务方面的培训。
如何考核开发者?
除了考核进度、质量外,SAP还会考核个人的职业能力,以及工作态度和努力程度。而考核的基础就是上年确定的绩效目标。考核是为了发展开发者,不断培养资深的开发者,并为产品经理、开发经理等职位物色后备人选。
把问题消灭在萌芽状态
SAP倡导随时解决问题,到咖啡厅喝杯咖啡或者一个电话会议,随时把问题消灭在萌芽状态,因为问题淤积而导致招开又长又艰难的会议在SAP是不受欢迎的。推荐到鲜果:


评论