工作流程管理系统理

公司规章制度工作流程的管理规定_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
公司规章制度工作流程的管理规定
&&公司规章制度工作流程的管理规定
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢工作流程管理的重要性
我的图书馆
工作流程管理的重要性
& & 对成长企业来说,“成长的关键不是经济环境,也不是市场条件,而是企业自身的管理条件”,从单纯的业务流程升级为管理流程是提升企业水平的重要一步。管理流程的制定水平成为影响成长型企业生存的关键要素。好的管理在于好的流程,好的流程在于好的执行。 && & 企业发展到一定规模后,由企业一把手管理全部业务的局面难以为继,然而由于缺乏组织上的准备,没有系统地计划及在关键岗位上培养对象,管理团队薄弱,业务流程模糊,领导人长期事必躬亲,其他员工难以分担职责,严重影响企业发展后劲。 & && & 从另一个角度来看。企业发展靠两条腿,一是经营,二是管理。不同阶段的企业,经营和管理的比重是不一样的。初创企业经营是第一位的,首先要做生意,管理可以先不重视。因为管理是一个打基础的工作,是怕丢失什么的一个命题。初创企业,本来什么都没有,也不怕丢什么,那么主要是生存问题。发展到一定阶段的企业最重要的就是管理。因为已经是有产阶级了,有了一定的营业规模和资源,首先考虑的是,先把目前的经营业绩保住,因为一旦出问题,第一,谈不上发展,第二,出任何的小问题,企业可能就经受不起,尤其是成长中的企业。所以说,初创企业重经营,成长型企业重管理。 && 管理有五个载体: && 第一是理念。要想管理,必须有一个明确的管理理念。管理应该建立在严格的制度之上,没有制度,空谈管理,是不可能的。所以管理理念是管理的出发点。 && 第二是结构。采取什么样的管理结构、管理的架构,决定了管理的内容和管理的效果。 && 第三是工作流程。流程制度好比法律,可以起到强制性的作用。 && 第四是管理的手段,是人为?还是信息化? && 第五是人。人是最复杂的因素,因为人既是管理的操纵者又是被管理的对象,比较复杂,从这五个问题入手抓管理,就抓住了管理的钥匙。 && & 从单纯的业务流程升级为管理流程是提升企业水平的重要一步。管理流程的制定水平成为影响成长型企业生存的又一关键要素。&&& &好的流程在于好的执行 && &在成长型企业传统的业务处理过程中,经过定义的工作流程(通常是一些规章制度)是否能够按照预定的业务规则良好的执行,取决于参与流程的人的自觉性以及领导管理的尺度,也就是说人是流程执行中最善变的因素,这就决定了在业务执行过程中由于人为因素造成业务流程与预先规定的不一样。领导人在其中起着重要的表率作用。当然对于执行流程过程中的一些客观因素(如参与流程的某一人员外出)造成业务流程在特定的环节脱节,也会影响企业的工作效率。&&& 对于很多成长型企业主来讲,在度过企业成长之初的危险期后,由于业务出身,很多时间依然用在处理具体业务上面,一不放心,二不习惯。领导人的很多精力淹没在日常工作中,协调、协调再协调取代了应该的管理工作。&&& 让日常的基本业务交给规范的工作流处理,通过授权机制,解放自己的头脑,腾出时间思考企业的发展,处理危机,抓住商机,定期改进原有的工作流应是成长型企业主要关注的。易协流程管理软件:
喜欢该文的人也喜欢& & 在上一篇文章我们通过一个小demo对Activiti进行了宏观的介绍,让大家对Activiti有了整体的认识,这篇文章我们来学习具体的流程定义管理的CRUD.
流程定义是什么
& & ProcessDefinition(流程定义)就是一个流程的步骤说明,比如我们接下来要说的这个流程,申请人王三发起提交申请,李四作为部门经理进行审批,审批完成后,此申请到达下一级总经理王五,进行审批。就这么整个流程说明其实就是流程定义,不过在Activiti中整个流程定义是以helloworld.bpmn与helloworld.png格式存在的。
& & 在上一篇文章中我们只是稍微提了下,关于helloworld.bpmn是在流程设计器中拖拖拽拽形成的,其实还可以通过在配置文件中进行配置,具体的图形我已经放到了上一篇文章中了,现在我就将我配置好的helloworld.bpmn配置文件展示给大家:
&?xml version=&1.0& encoding=&UTF-8&?&
&definitions xmlns=&http://www.omg.org/spec/BPMN//MODEL& xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance& xmlns:xsd=&http://www.w3.org/2001/XMLSchema& xmlns:activiti=&http://activiti.org/bpmn& xmlns:bpmndi=&http://www.omg.org/spec/BPMN//DI& xmlns:omgdc=&http://www.omg.org/spec/DD//DC& xmlns:omgdi=&http://www.omg.org/spec/DD//DI& typeLanguage=&http://www.w3.org/2001/XMLSchema& expressionLanguage=&http://www.w3.org/1999/XPath& targetNamespace=&http://www.activiti.org/test&&
&process id=&HelloWorld& name=&HelloWorldProcess& isExecutable=&true&&
&startEvent id=&startevent1& name=&Start&&&/startEvent&
&endEvent id=&endevent1& name=&End&&&/endEvent&
&userTask id=&usertask1& name=&提交申请& activiti:assignee=&张三&&&/userTask&
&userTask id=&usertask2& name=&审批【部门经理】& activiti:assignee=&李四&&&/userTask&
&userTask id=&usertask3& name=&审批【总经理】& activiti:assignee=&王五&&&/userTask&
&sequenceFlow id=&flow1& sourceRef=&startevent1& targetRef=&usertask1&&&/sequenceFlow&
&sequenceFlow id=&flow2& sourceRef=&usertask1& targetRef=&usertask2&&&/sequenceFlow&
&sequenceFlow id=&flow3& sourceRef=&usertask2& targetRef=&usertask3&&&/sequenceFlow&
&sequenceFlow id=&flow4& sourceRef=&usertask3& targetRef=&endevent1&&&/sequenceFlow&
&/process&
&bpmndi:BPMNDiagram id=&BPMNDiagram_HelloWorld&&
&bpmndi:BPMNPlane bpmnElement=&HelloWorld& id=&BPMNPlane_HelloWorld&&
&bpmndi:BPMNShape bpmnElement=&startevent1& id=&BPMNShape_startevent1&&
&omgdc:Bounds height=&35.0& width=&35.0& x=&320.0& y=&50.0&&&/omgdc:Bounds&
&/bpmndi:BPMNShape&
&bpmndi:BPMNShape bpmnElement=&endevent1& id=&BPMNShape_endevent1&&
&omgdc:Bounds height=&35.0& width=&35.0& x=&320.0& y=&430.0&&&/omgdc:Bounds&
&/bpmndi:BPMNShape&
&bpmndi:BPMNShape bpmnElement=&usertask1& id=&BPMNShape_usertask1&&
&omgdc:Bounds height=&55.0& width=&105.0& x=&285.0& y=&120.0&&&/omgdc:Bounds&
&/bpmndi:BPMNShape&
&bpmndi:BPMNShape bpmnElement=&usertask2& id=&BPMNShape_usertask2&&
&omgdc:Bounds height=&55.0& width=&105.0& x=&285.0& y=&240.0&&&/omgdc:Bounds&
&/bpmndi:BPMNShape&
&bpmndi:BPMNShape bpmnElement=&usertask3& id=&BPMNShape_usertask3&&
&omgdc:Bounds height=&55.0& width=&105.0& x=&285.0& y=&350.0&&&/omgdc:Bounds&
&/bpmndi:BPMNShape&
&bpmndi:BPMNEdge bpmnElement=&flow1& id=&BPMNEdge_flow1&&
&omgdi:waypoint x=&337.0& y=&85.0&&&/omgdi:waypoint&
&omgdi:waypoint x=&337.0& y=&120.0&&&/omgdi:waypoint&
&/bpmndi:BPMNEdge&
&bpmndi:BPMNEdge bpmnElement=&flow2& id=&BPMNEdge_flow2&&
&omgdi:waypoint x=&337.0& y=&175.0&&&/omgdi:waypoint&
&omgdi:waypoint x=&337.0& y=&240.0&&&/omgdi:waypoint&
&/bpmndi:BPMNEdge&
&bpmndi:BPMNEdge bpmnElement=&flow3& id=&BPMNEdge_flow3&&
&omgdi:waypoint x=&337.0& y=&295.0&&&/omgdi:waypoint&
&omgdi:waypoint x=&337.0& y=&350.0&&&/omgdi:waypoint&
&/bpmndi:BPMNEdge&
&bpmndi:BPMNEdge bpmnElement=&flow4& id=&BPMNEdge_flow4&&
&omgdi:waypoint x=&337.0& y=&405.0&&&/omgdi:waypoint&
&omgdi:waypoint x=&337.0& y=&430.0&&&/omgdi:waypoint&
&/bpmndi:BPMNEdge&
&/bpmndi:BPMNPlane&
&/bpmndi:BPMNDiagram&
&/definitions&
& & 通过流程设计器或者通过配置文件直接书写都是可以的。
流程定义的CRUD
部署流程定义
& & 在进行流程定义的操作之前,先要将流程定义进行部署,部署流程定义的方式有两种:
& & 1.部署流程定义的helloworld.bpmn与helloworld.png两个文件
* 部署流程定义 类路径从classpath
public void deoploymentProcessDefinition_classpath() {
Deployment deployment = processEngine.getRepositoryService() // 与流程定义和部署对象相关的service
.createDeployment()// 创建一个部署对象
.name(&流程定义&)// 添加部署的名称
.addClasspathResource(&diagrams/helloworld.bpmn&)// 从classpath的资源中加载,一次只能加载一个文件
.addClasspathResource(&diagrams/helloworld.png&)// 从classpath的资源中加载,一次只能加载一个文件
.deploy();// 完成部署
System.out.println(&部署ID:& + deployment.getId());
System.out.println(&部署名称:& + deployment.getName());
运行结果:
& & 部署ID:301
& & 部署名称:流程定义
& & 2.将helloworld.bpmn与helloworld.png压缩成zip进行部署
* 部署流程定义 zip
public void deploymentProcessDefinition_zip() {
InputStream in = this.getClass().getClassLoader()
.getResourceAsStream(&diagrams/helloworld.zip&);
ZipInputStream zipInputStream = new ZipInputStream(in);
Deployment deployment = processEngine.getRepositoryService()// 与流程定义和部署对象相关的service
.createDeployment()// 创建一个部署对象
.name(&流程定义&)// 添加部署
.addZipInputStream(zipInputStream)// 指定zip格式的文件完成部署
.deploy();// 完成部署
System.out.println(&部署ID:& + deployment.getId());
System.out.println(&部署名称:& + deployment.getName());
运行结果:
& & 部署ID:401
& & 部署名称:流程定义
我们将上面部署的过程进行下解释:
& & 1)先获取流程引擎对象:在创建时会自动加载classpath下的activiti.cfg.xml
& & 2)通过获取的流程引擎对象,通过流程引擎对象获取一个RepositoryService对象(仓库对象)
& & 3)由仓库的服务对象产生一个部署对象配置对象,用来封装部署操作的相关配置
& & 4)这是一个链式编程,在部署配置对象中设置显示名字,上传流程定义规则文件
& & 5)向数据库表中存放流程定义的规则信息
这些表都是跟部署对象和流程定义相关的表:
& & act_re_deployment存放流程定义的显示名和部署时间,每部署一次增加一条记录;
& & act_re_procdef(存放流程定义的属性信息,部署每个新的流程定义都会在这张表中增加一条记录,需要注意一下的当流程定义的key相同的情况下,使用的是版本升级;
& & act_ge_bytearray存储流程定义相关的部署信息。即流程定义文档的存放地。每部署一次就会增加两条记录,一条是关于bpmn规则文件的,一条是图片的(如果部署时只指定了bpmn一个文件,activiti会在部署时解析bpmn文件内容自动生成流程图)。两个文件不是很大,都是以二进制形式存储在数据库中。
流程定义的查询
& & 关于流程定义在上面我们已经部署完毕了,在这里我们进行流程定义的查询,查询分成两个,一个是查询所有的流程定义还有一个查询最新版本的流程定义
查看所有的流程定义
* 查询所有的流程定义
public void findProcessDefinition() {
List&ProcessDefinition& list = processEngine.getRepositoryService()// 与流程定义和部署对象先相关的service
.createProcessDefinitionQuery()// 创建一个流程定义的查询
/** 指定查询条件,where条件 */
// .deploymentId(deploymentId) //使用部署对象ID查询
// .processDefinitionId(processDefinitionId)//使用流程定义ID查询
// .processDefinitionNameLike(processDefinitionNameLike)//使用流程定义的名称模糊查询
/* 排序 */
.orderByProcessDefinitionVersion().asc()
// .orderByProcessDefinitionVersion().desc()
/* 返回的结果集 */
.list();// 返回一个集合列表,封装流程定义
// .singleResult();//返回惟一结果集
// .count();//返回结果集数量
// .listPage(firstResult, maxResults);//分页查询
if (list != null && list.size() & 0) {
for (ProcessDefinition pd : list) {
System.out.println(&流程定义ID:& + pd.getId());// 流程定义的key+版本+随机生成数
System.out.println(&流程定义的名称:& + pd.getName());// 对应helloworld.bpmn文件中的name属性值
System.out.println(&流程定义的key:& + pd.getKey());// 对应helloworld.bpmn文件中的id属性值
System.out.println(&流程定义的版本:& + pd.getVersion());// 当流程定义的key值相同的相同下,版本升级,默认1
System.out.println(&资源名称bpmn文件:& + pd.getResourceName());
System.out.println(&资源名称png文件:& + pd.getDiagramResourceName());
System.out.println(&部署对象ID:& + pd.getDeploymentId());
System.out.println(&#########################################################&);
运行结果:
& & 流程定义ID:HelloWorld:1:304
& & 流程定义的名称:HelloWorldProcess
& & 流程定义的key:HelloWorld
& & 流程定义的版本:1
& & 资源名称bpmn文件:diagrams/helloworld.bpmn
& & 资源名称png文件:diagrams/helloworld.png
& & 部署对象ID:301
& & #########################################################
& & 流程定义ID:HelloWorld:2:404
& & 流程定义的名称:HelloWorldProcess
& & 流程定义的key:HelloWorld
& & 流程定义的版本:2
& & 资源名称bpmn文件:helloworld.bpmn
& & 资源名称png文件:helloworld.png
& & 部署对象ID:401
& & #########################################################
& & 从上面我们可以看出,流程定义key值相同的情况下,版本是从1开始逐次升级的,流程定义的id是【key:版本:生成ID】;
我们对上面代码进行下说明:
& & 1)流程定义和部署对象相关的Service都是RepositoryService。
& & 2)创建流程定义查询对象,可以在ProcessDefinitionQuery上设置查询的相关参数
& & 3)调用ProcessDefinitionQuery对象的list方法,执行查询,获得符合条件的流程定义列表
& & 4)由运行结果可以看出:Key和Name的值为:bpmn配置文件process节点的id和name的属性值
& & 5)key属性被用来区别不同的流程定义。
& & 6)带有特定key的流程定义第一次部署时,version为1。之后每次部署都会在当前最高版本号上加1
& & 7)Id的值的生成规则为:{processDefinitionKey}:{processDefinitionVersion}:{generated-id},这里的generated-id是一个自动生成的唯一的数字
& & 8)重复部署一次,deploymentId的值以一定的形式变化规则act_ge_property表生成
& & 查看最新版本的流程定义:
查看最新版本的流程定义:
* 附加功能,查询最新版本的流程定义
public void findLastVersionProcessDefinition() {
List&ProcessDefinition& list = processEngine.getRepositoryService()
.createProcessDefinitionQuery()
.orderByProcessDefinitionVersion().asc() // 使用流程定义的版本升序排列
* Map&String,ProcessDefinition& map集合的key:流程定义的key map集合的value:流程定义的对象
* map集合的特点:当map集合key值相同的情况下,后一次的值将替换前一次的值
Map&String, ProcessDefinition& map = new LinkedHashMap&String, ProcessDefinition&();
if (list != null && list.size() & 0) {
for (ProcessDefinition pd : list) {
map.put(pd.getKey(), pd);
List&ProcessDefinition& pdList = new ArrayList&ProcessDefinition&(
map.values());
if (pdList != null && pdList.size() & 0) {
for (ProcessDefinition pd : pdList) {
System.out.println(&流程定义ID:& + pd.getId());// 流程定义的key+版本+随机生成数
System.out.println(&流程定义的名称:& + pd.getName());// 对应helloworld.bpmn文件中的name属性值
System.out.println(&流程定义的key:& + pd.getKey());// 对应helloworld.bpmn文件中的id属性值
System.out.println(&流程定义的版本:& + pd.getVersion());// 当流程定义的key值相同的相同下,版本升级,默认1
System.out.println(&资源名称bpmn文件:& + pd.getResourceName());
System.out.println(&资源名称png文件:& + pd.getDiagramResourceName());
System.out.println(&部署对象ID:& + pd.getDeploymentId());
System.out
.println(&#########################################################&);
运行结果:
& & 流程定义ID:HelloWorld:2:404
& & 流程定义的名称:HelloWorldProcess
& & 流程定义的key:HelloWorld
& & 流程定义的版本:2
& & 资源名称bpmn文件:helloworld.bpmn
& & 资源名称png文件:helloworld.png
& & 部署对象ID:401
& & #########################################################
& & 运行结果可看到我们可以查出最新版本的流程定义,查询与上面的全部查询是一样的,只不过多了一个过滤版本的功能,是用map来做代码很好理解。
获取流程定义的文件资源
& & 我们将流程定义部署完毕后,还可以查看流程定义的图片。
* 查看流程图
public void viewPic() throws IOException {
// 将生产的图片放到文件夹下
String deploymentId = &401&;// TODO
// 获取图片资源名称
List&String& list = processEngine.getRepositoryService()
.getDeploymentResourceNames(deploymentId);
// 定义图片资源名称
String resourceName = &&;
if (list != null && list.size() & 0) {
for (String name : list) {
if (name.indexOf(&.png&) &= 0) {
resourceName =
// 获取图片的输入流
InputStream in = processEngine.getRepositoryService()
.getResourceAsStream(deploymentId, resourceName);
File file = new File(&D:/& + resourceName);
// 将输入流的图片写到D盘下
FileUtils.copyInputStreamToFile(in, file);
& & 1)deploymentId为流程部署ID
& & 2)resourceName为act_ge_bytearray表中NAME_列的值
& &&3)使用repositoryService的getDeploymentResourceNames方法可以获取指定部署下得所有文件的名称
& &&4)使用repositoryService的getResourceAsStream方法传入部署ID和资源图片名称可以获取部署下指定名称文件的输入流
& &&5)最后的有关IO流的操作,使用FileUtils工具的copyInputStreamToFile方法完成流程流程到文件的拷贝,将资源文件以流的形式输出到指定文件夹下
流程定义的删除
& &&流程定义的删除,因为流程定义可以启动,所以涉及到一个普通删除和级联删除的情况,如果该流程定义下没有正在运行的流程,则可以用普通删除。如果是有关联的信息,用级联删除。关于删除我们既可以通过部署对象的id删除也可以通过流程定义的key删除,不同是使用id删除的只是一条记录,而使用key删除的是将key相同的所有版本的流程定义全部删除。
* 删除流程定义(删除key相同的所有不同版本的流程定义)
public void delteProcessDefinitionByKey() {
// 流程定义的Key
String processDefinitionKey = &HelloWorld&;
// 先使用流程定义的key查询流程定义,查询出所有的版本
List&ProcessDefinition& list = processEngine.getRepositoryService()
.createProcessDefinitionQuery()
.processDefinitionKey(processDefinitionKey)// 使用流程定义的key查询
// 遍历,获取每个流程定义的部署ID
if (list != null && list.size() & 0) {
for (ProcessDefinition pd : list) {
// 获取部署ID
String deploymentId = pd.getDeploymentId();
* 不带级联的删除, 只能删除没有启动的流程,如果流程启动,就会抛出异常
processEngine.getRepositoryService().deleteDeployment(deploymentId);
* 级联删除 不管流程是否启动,都可以删除
processEngine.getRepositoryService().deleteDeployment(
deploymentId, true);
& &&1)因为删除的是流程定义,而流程定义的部署是属于仓库服务的,所以应该先得到RepositoryService
& &&2)根据流程定义的key先查询出key值相同的所有版本的流程定义,然后获取每个流程定义的部署对象id
& &&3)利用部署对象id,进行级联删除
& &&到这里我们就将流程定义的部署、查询、删除介绍完了,关于流程定义的修改其实就是在key值相同的情况下再次部署,让流程定义的版本进行升级,不影响以前的就版本的流程,对于新的流程就会默认使用最新版本的流程定义。
& &&我们这篇文章主要讲解了流程定义的概念,然后详细的讲解了不同方式的流程定义部署,还讲解了流程定义的查询、流程定义的文档资源的获取、流程定义的删除等这些内容。
本文已收录于以下专栏:
相关文章推荐
我们这篇文章主要是流程实例、执行对象、任务以及他们之间的关系进行了学习,同时我们还将启动和查询流程实例、判断流程实例是否执行结束、查看和办理任务以及查询历史任务都进行了介绍。...
1. 初识Activiti
1.1. 工作流与工作流引擎
工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实...
转载自:http://blog.csdn.net/bluejoe2000/article/details/
1. 初识Activiti
1.1. 工作流与工作流引擎
工作流(...
上一篇我们学习了工作流定义的操作,包括:
1.管理流程定义(流程图)
2.部署流程定义(classpath路径加载文件)
3.查看流程定义
4.删除流程定义
也即是,我们学习了流程的增加/查看/删除...
初步设想实现一个部署完工作流之后,为UserTask节点动态分配任务执行者,或者在分支节点上添加进入条件的功能。为了实现这个功能需要解析流程定义文件取出文件中定义的所有节点。这里有两个方法可以实现此功...
一、BPMN 2.0根节点是definitions节点。 这个元素中,可以定义多个流程定义(不过我们建议每个文件只包含一个流程定义, 可以简化开发过程中的维护难度)。
definitio...
流程定义查询本质上就是通过Activiti框架提供的API对act_re_procdef表进行查询操作。
通过Activiti提供的API 把act_re_procdef表的所有列的数据全部...
当一个业务需要的多个参与者来参与执行的时候,如果我们要自己编程的话,我们需要对业务非常的熟悉,并且在编程的时候要做一系列复杂的判断,如果出现第一种情况,我们要怎么办,如果出现第二种情况,我们又该怎么办...
1、添加插件:打开eclipse,点击Help
----->Install New Software,在打开的对话框选择add,
name:Activiti BPMN 2.0 de...
上一节我们把 Activiti 的基础环境给搭建好了,接下来的话就要使用到 Activiti 进行开发功能。当然了,在开发 Activiti 的时候,需要 :
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)出自 MBA智库百科()
工作流程管理(Work flow Management)
  工作流程管理是指地实现日常办公的程审批和,包括,,人事,等审批流程,通过的提高的。
  工作流程管理的方式包括内部和外部流程的集成,自动化的事件或过程。其中:
  1)内部和外部流程的集成。这个方法充分考虑了横跨多种应用(包括采用来自不同的软件的软件)的的定义。这通常要求一个基于标准平台的商业流程开发环境。
  2)自动化的事件或过程——一个实现自动化工作(例如,营销活动或的自动化步骤)的工作流程方法。
  ·工作流程编辑器 提供过程单元定义手段,并根据用户的指定将过程单元连接成需要的工作流程,规定了提交工作流程执行的设计对象,如部件、零件、文档等。
  ·工作流程管理器 接收工作流程编辑器提交的定义数据,建立有关人员的工作任务列表,并根据流程的走向记录每个任务列表的执行信息,支持工作流程的异常处理和过程重组。
  ·工作流程通信服务器 根据工作流程的进展情况,向有关人员提供电子审批与发放,并通过Email接口技术,进行用户通信和过程。
  工作流程管理与业务流程管理的共同点,在于二者都强调通过来保证和提升企业管理的效益。但二者的差别却是本质上的,概括起来有四个方面:
  与企业价值的关联关系不同。
  工作流程管理仅仅是对完成某项工作的先后顺序进行的安排,并对每一步工作的标准、完成方式等作出具体的要求,它仅仅回答“如何完成工作”的问题,并不涉及这一工作与企业有什么联系的问题。
  业务流程管理的业务二字直接把这一系列的活动与的满足及企业价值的增殖联系起来了,强调这种活动无论属于哪个层次的流程,属于流程上的哪个环节,其目标都是指向客户价值和企业价值的,是直接或间接地服务于企业存在和发展目标的营运活动中的一个活动。它所要解决的问题是“作什么”这样的方向性问题。
  流程活动标准要求的决定主体不同。
  工作流程管理是由工作的分派指令人确定其活动的内容、数量、、时间、地点的标准和要求,甚至连如何做也由工作分派人做了详细的限定。
  业务流程活动的标准和要求,直接由下游活动的主体提出,并在相互理解和认同的基础上确定,不存在谁强制性地把标准要求强加于谁的问题。也就是说,下游活动主体只能根据可能性与上游活动主体来共同确定其标准要求。二者是服务于同一目标――为客户价值提供满足,实现企业价值增殖。这种标准要求既是客户价值的具体化,也是企业现实实际的一种约束。
  活动考核标准不同。
  工作流程管理强调按照活动承担者所承担活动的标准要求来确定其的好、坏和高、低,考核的参照系数是事先确定好的具体要求,包括数量、质量、时间、地点等方面。
  业务流程管理则强调按照流程的最终产出结果进行考核,并不仅仅盯住单个活动主体的活动成效,而是紧密结合流程的最终产出结果评价每一个流程活动承担人的绩效。单个活动主体的绩效好坏,虽然也要联系他所承担的活动完成情况,但这只是构成其绩效的一个部分,与他的活动相联系的整体效果是其必须考核的一个更重要内容。
  活动主体相互之间的关系不同。
  在工作流程管理中,可能存在一个向他人发号施令的上司主管,使同一流程中的不同活动承担主体在地位和权力上不平等。
  但在业务流程管理中,活动承担者都是一种平等的关系,是下游活动主体向上游活动主体提出要求和指令,彼此之间也非常理解这种指令的含义和权威的来源根据。因而使流程活动的承担者相互之间能够实现一种平等、友好、团结、互助、尊重、关怀的关系。
  尽管流程存在高层与低层、上层与下层的区别,但这种区别已不再是等级意义上的。上层流程相对于下层流程,也就是下游流程,是下层流程根据上层流程的要求和指令行动,下层流程的结果是直接输给上层流程。上层流程在此也就是下游流程。
  上层流程的优先性不是来自于它的等级上的高低,而是来自于它与客户价值满足的关系在时序上更近,在作用上更大。
  对来说,“成长的关键不是,也不是市场条件,而是企业自身的管理条件”,从单纯的业务流程升级为是提升企业水平的重要一步。管理流程的制定水平成为影响生存的关键要素。好的管理在于好的流程,好的流程在于好的执行。
  在国际经济快速变化和国内市场蓬勃发展的大势下,近十年来,国内诞生了一大批发展迅猛的成长型企业。它们中有,有,也有中的佼佼者。这些企业大都处在业务和企业规模快速增长时期,企业有相当的发展眼光和,以优秀的市场意识和成就了中国经济在世界面前所展现的强劲活力。然而,在高速发展的同时,很多成长型企业比他们的同行更加感受到“成长的烦恼”。
  条件下成长型企业的出生率高,死亡率也不低。成长型企业的主要问题是对企业内部不能及时发现,待到发现时,往往来不及采取应变措施。对成长企业来说,“成长的关键不是经济环境,也不是市场条件,而是企业自身的管理条件”一位的学者如是说。
  企业发展到一定规模后,由企业管理全部业务的局面难以为继,然而由于缺乏组织上的准备,没有地计划及在上培养对象,管理团队薄弱,业务流程模糊,领导人长期事必躬亲,其他员工难以分担职责,严重影响企业发展后劲。
  从另一个角度来看。企业发展靠两条腿,一是,二是管理。不同阶段的企业,经营和管理的比重是不一样的。初创是第一位的,首先要做生意,管理可以先不重视。因为管理是一个打基础的工作,是怕丢失什么的一个命题。,本来什么都没有,也不怕丢什么,那么主要是生存问题。发展到一定阶段的企业最重要的就是管理。因为已经是有产阶级了,有了一定的营业规模和,首先考虑的是,先把目前的经营业绩保住,因为一旦出问题,第一,谈不上发展,第二,出任何的小问题,企业可能就经受不起,尤其是成长中的企业。所以说,初创企业重经营,成长型企业重管理。
  管理有五个载体:
  第一是理念。要想管理,必须有一个明确的。管理应该建立在严格的制度之上,没有制度,空谈管理,是不可能的。所以管理理念是管理的出发点。
  第二是结构。采取什么样的管理结构、管理的架构,决定了管理的内容和管理的效果。
  第三是工作流。流程制度好比法律,可以起到强制性的作用。
  第四是管理的手段,是人为?还是?
  第五是人。人是最复杂的因素,因为人既是管理的操纵者又是被管理的对象,比较复杂,从这五个问题入手抓管理,就抓住了管理的钥匙。
  好的管理在于好的流程
  创业企业在摸索中发展,疏于,当成长型企业发展到一定阶段,经营积累下来的经验曲线就会固化为一定的业务管理规程。如批发性企业通常有简单的进销存流程,洗衣常有收货、干洗、交货规章,然而此时这些企业在内部管理方面同样存在诸多盲点:不充分的放权难以保障企业内部责权相配,管理流程模糊,人员培养断层等等。比如对于一个销售型的企业,按照创业初期的分配方式考核新老员工,对于公司的新员工,虽然该企业对其进行了业务,使之能了解所负责的,但事实上由于对业务的不熟悉,通常在一段时间销售能力有限。不在同一起点的竞争往往使新人处于劣势。从而造成企业一方面缺人,一方面新人流动率高。更糟糕的结果是,有可能该新员工在熟悉业务过程中逐渐形成一些不规范的做法,而又得不到及时发现和纠正,在以后的业务过程中形成潜在的危害。
  从单纯的业务流程升级为管理流程是提升企业水平的重要一步。管理流程的制定水平成为影响成长型企业生存的又一关键要素。
  好的流程在于好的执行
  在成长型企业传统的手工业务处理过程中,经过定义的工作流(通常是一些)是否能够按照预定的业务规则良好的执行取决于参与流程的人的自觉性以及的尺度,也就是说人是流程执行中最善变的因素,这就决定了在过程中由于人为因素造成业务流程与预先规定的不一样。领导人在其中起着重要的表率作用。当然对于执行流程过程中的一些客观因素(如参与流程的某一人员外出)造成业务流程在特定的环节脱节,也会影响企业的工作效率。
  对于很多成长型企业主来讲,在度过企业成长之初的危险期后,由于业务出身,很多时间依然用在处理具体业务上面,一不放心,二不习惯。领导人的很多精力淹没在日常工作中,、再协调取代了应该的管理工作。
  让日常的基本业务交给规范的工作流处理,通过授权机制,解放自己的头脑,腾出时间思考企业的发展,处理危机,抓住商机,定期改进原有的工作流应是成长型企业主要关注的。
  应用,可以为成长型企业的提供以下支持:
  提供方便灵活的流程定义工具;按照既定的业务规则管理和监督业务的运行;及时发现,并进行有效疏导或改善业务流程;提高工作效率,有效缩短;避免传统处理方式中的随意性造成业务流程混乱;减少或避免人为因素造成的原则性错误及由此带来的损失;增强业务各环节的协作能力,使业务运做更加顺畅;有利于业务的评估和;新员工可以迅速适应本职工作;高效率的业务处理有助于提高水平和企业。
  面对今天市场的挑战,的重要性日益被大家认同,尤其是成长型企业,如何在激烈的中求得发展和壮大,仅靠产品、、已无法赢得优势,只有在方面多下功夫,通过逐步建立和完善企业的信息化,引入先进的理念,向管理变革要效益,才能在市场竞争中脱颖而出。
本条目对我有帮助20
&&如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请。
本条目相关文档
& 27页& 27页& 31页& 12页& 2页& 3页& 3页& 3页& 4页& 13页
本条目由以下用户参与贡献
(window.slotbydup=window.slotbydup || []).push({
id: '224685',
container: s,
size: '728,90',
display: 'inlay-fix'
评论(共0条)提示:评论内容为网友针对条目"工作流程管理"展开的讨论,与本站观点立场无关。
发表评论请文明上网,理性发言并遵守有关规定。
以上内容根据网友推荐自动排序生成

我要回帖

更多关于 什么是工作流程 的文章

 

随机推荐