流程的驱动者
流程在一个公司日常管理过程中的重要性,不用多说,非常重要的是两点:第一点是如何制定合理的流程;第二点是如何将这些合理的流程执行起来。
对于第一点来说,很多成功的流程可以借鉴,但是对于第二点执行层面的事,就必须按照公司的实际情况而定。就我们公司目前而言,组织架构为总经理下边分综合部,平台部,研发部,技术部。部门的职能大概是综合部负责财务行政人力,平台部主要负责公司技术平台框架的搭建和维护,以及针对将来业务调整后平台方面的调整和修改完善,同时针对公司平台的技术文档和技术培训,也属于平台部。研发部,顾名思义,主要是针对公司现有的项目和产品进行实现。技术部目前的职责主要是配置管理,测试管理和设计管理,所谓的设计管理,其实也是领导们思路和理念的一种具体实现,目前来说并不具备独立自主思考和设计的能力。各个部门的职能和工作内容大概如此。以此组织架构,结合公司目前项目驱动的实际情况,如果要选择合理的工作流程,我觉得流程应该是这样子的:项目来了以后,应该由,技术部负责需求和设计(可以认为是产品组)的组,去跟用户沟通,获取需求,以及需求分析与整理;接着由该组负责设计的同事完成产品的设计(个人觉得此处的设计应该由设计组负责,对于自己设计出来的东西能够进行答辩,而不是领导说哪儿不好改哪儿就改了,否则设计的同事就失去了设计的实际意义,而成为别人思想的实现者。这里的别人目前还活在自我意识当中没有实际跟客户沟通交流,针对不同的软件用户,他们的诉求是什么,因此需要设计的同事进行答辩,用我们获取的需求,说服领导。);当产品设计完成后,应该交由平台部进行程序设计,根据现有的技术体制和现有的实现框架进行不同的程序设计,平台部设计完后交由研发部具体同事进行具体研发。研发完成后,交由测试人员进行测试,测试通过的版本,交由配置管理人员进行版本控制。在此过程中,配置管理人员应该从需求阶段,设计阶段,研发阶段,测试阶段分别对各个阶段的产出物进行管理和控制。如果该阶段缺少必要的产出物,那么配置管理人员有权利和义务去督促实现。如按照这种流程执行,个人觉得应该是比较合理的。那么这种流程该如何驱动去执行,达到事归流程管的这个目的。
流程大概就是这样子,那么如何,让这个流程在公司实际工作生活中执行起来呢?我想大概是从以下几个方面着手进行执行。首先我们需要成立产品组,产品组的主要职能就是需求获取,分析和完成产品的原型设计。产品组合里的人员配置,由一名资深需求分析人员,一名产品设计人员联合组成。如果项目确实非常紧急,那么就用以前的成熟的设计。如果项目不是那么紧急,允许创新,那么就在以前的基础上进行完善,创新。接着说平台部,程序设计应该交由平台部,根据现有框架和技术体制进行相应的程序设计。此处,产品组合平台部,应该无缝对接。当该项目完成程序设计以后应该由平台部门对研发部门相应的人员进行技术培训。由产品组对测试组相应的测试人员进行对应的培训。从而实现程序开发和测试用例编制同步进行的目标。当程序开发完成后由程序开发人员发布版本给配置管理人员,配置管理将该版本发布测试进行测试。通过这种流程的迭代,最终形成发布版本。在此过程中可以由配置管理人员督促相关的责任人,形成对应的产出物进行管理存档。项目管理人员可以对于整个过程进行监督管理。该流程,适用于瀑布模型和迭代模型。针对我们的项目来说,迭代模型更适用。
在以上的流程制定和流程执行过程中,没有具体安排运维的工作。那么接下来说说,我们,运维工作该如何去做?因为目前来说有两件主要的事情,第一件事情是接口对接,第二件事情就是运行维护。接口对接我们可以严格按照接口控制文件上所描述的进行接口开发执行。中间如果出现对接问题,那么交由研发人员回归。运维过程中出现问题,同样也交由研发人员回归。这样可以解决我们主力研发人员经常出差救火,但是工作不是那么饱和的实际情况。该过程可能比较理想主义,实际情况可能千变万化。但是我想说的是,我们需要有一个主要的执行流程,其他的千变万化,我们可以按照实际情况一一化解,类似于宪法只有一部,其他可以衍生出不违背宪法的各种法律。
流程如何执行,我想大概就是这个样子。