我们为什么需要过程?因为我们需要既能够灵活的应对变数,又能够保持规范;
1970年,Winston.Royce发表了一篇著名的文章,对于几十年来的项目管理影响巨大。在文章中,这样描述:一个严格的、顺序的、单次的瀑布生命周期理论,也就是说一个项目应按顺序开展,包括:需求分析、设计、开发、测试、部署阶段。
[if !supportLineBreakNewLine]
[endif]
人们对这个瀑布生命周期的理论推崇备至,美国政府也将此方法纳入到政府软件项目的管理标准中,因此,几十年来的项目管理一直沿用这个理论。
[if !supportLineBreakNewLine]
[endif]
“失之毫厘,谬以千里”。我们真的能够做到,完全没有误差的理解客户需求吗?客户真的在整个过程中不会修改自己的想法吗?
[if !supportLineBreakNewLine]
[endif]
这样一个严格的、顺序的方式,导致大量软件项目的失败,大量投资的浪费。因为,项目的开展与客户的需求有着紧密的联系,而一个项目要是到了最后一步才和客户沟通,就有可能已经距离客户真正的需求相差甚远。敏捷管理的方法是,在项目的过程中是周期性的迭代开展工作,每一个迭代完成都与客户进行沟通,以便及时发现误差。
[if !supportLineBreakNewLine]
[endif]
真正的事实是,当年Winston.Royce的文章中正是要拿“瀑布生命周期”作为一个典型反面靶子来说明,项目不能这么做。正确的方式是采用迭代式的,循序渐进式的做法,避免出现这样顺序的、单次的瀑布方式。
[if !supportLineBreakNewLine]
[endif]
什么是过程
[if !supportLineBreakNewLine]
[endif]
过程是通过一组相互关联,相互影响的工序,将输入转化为输出的增值过程。既强调增值过程的全程把控,也强调重点环节的管控,但是并不像流程一样强调每一个工序之间的顺序。因为这些工序之间有可能是迭代的关系,未见得一定是线性的流程。
[if !supportLineBreakNewLine]
[endif]
过程管理是:识别一个增值的过程,是由哪些工序构成的。然后对这些工序进行规范化、标准化,但不设定这些工序的顺序,并对这些工序的关键管控点加以量化的管理。
[if !supportLineBreakNewLine]
[endif]
举例来说,信息系统的可用性管理,需要明确有几个必须的标准工序:预案制定、设备可用性测量、系统可用性测量。预案必须要制定到什么标准、测量必须有哪些指标。但是我们并不太可能去规定,是应该先有预案还是先有测量。
[if !supportLineBreakNewLine]
[endif]
再举一个信息系统容量管理的例子,我们需要规定容量管理必须的工序包括:测量、分析、调整和实施,并且把测量的范围定义为业务访问量、系统容量、设备容量。但是我们不会去把这些工序定义为一个线性的流程,因为这些工序本来就是迭代进行的。
[if !supportLineBreakNewLine]
[endif]
开发也是同样的,我们不会等到最后一行代码写完后再给客户展示。而是会把整个开发过程划分为一个一个的迭代过程,每一个迭代中都有相应的任务列表过穿了,需求分析、开发任务、测试任务、评审任务。
[if !supportLineBreakNewLine]
[endif]
其实,对于过程和流程之间的问题,最重要的是什么时候应当用过程管理,什么时候应当用流程管理。很明显,对于一些受到外界变化影响较大的工作,包括,研发、测试、售前、销售等工作,更需要能够适应变化的柔性机制,而不是事无巨细的流程化管理。
Ahoova介绍:
珠海国津软件凭藉多年的行业经验知识积累、自2009年开始自主研发基于ITIL V3和ISO20000国际标准推出的IT服务管理系统(ITSM),产品国际化程度高,面向全球市场;包括基于ITIL框架的各类相关功能模块:门户管理、请求(事件)管理、问题管理、变更管理、发布管理、配置项(固定资产)管理、知识库管理、服务级别管理、云端SaaS应用、手机端应用等等,功能齐全。整套系统以JAVA开发,B/S结构,历经多年的市场锤炼,产品精细化程度高,可维护性、可扩展性、安全性、跨平台能力、客户自定义能力等等都得到了广大客户的认可,并且可以集成其它的第三方主流企业级应用系统、呼叫中心等等。目前该产品广泛应用于海内外的金融、物流、高等院校、政府机构、制造业及IT外包商等领域,并且在不断地依据客户需求、市场要求快速迭代更新。
官网链接:www.fuwuguanli.net