我是小林,一名普通的软件工程师,从事BPM(业务流程管理)软件开发工作。我没有几十年的技术底蕴,无法像大牛们一样高谈阔论,品评BPM开发之道;也不是资深的流程管理专家,能与大家分析流程管理的时弊。我只是一名有着一轮工作经历的软件开发者,更准确说是流程开发者,有那么几次特殊的经历,可以窥探一丝BPM开发的发展轨迹。

2004年,我初入软件行业。当时,国内BPM软件产品大多还处在概念阶段,它们基本都是非常专业的中间件级产品,复杂的状态机、活动、事件等概念充斥其中,只有高水平的开发实施人员才能驾驭。而且,很多用户对BPM也没有足够的认识,难以形成良好的BPM生态环境,导致BPM产品无法充分发挥作用。而包含工作流的另一个产品OA(办公自动化软件)却迅猛发展,大行其道。通过工作关系,在为几家大型企业做软件项目的同时,我也对他们的OA系统深入了解了一番,对系统中工作流的表现形式与原理产生了浓厚的兴趣。这也开启了我的BPM之路。

2007年,我接手了两个信息管理系统项目,它们都有一块内容需要实现业务数据的收集、核对、补充、审核与发布。我联想到工作流的概念:是一系列相互衔接、自动进行的业务活动或任务。项目当用工作流无疑。但苦于公司没有工作流产品或方案,项目又无法引入外部产品,最后只能仿照之前了解的OA中的工作流自行实践。建模板、定义活动及顺序、代码控制流程走向、设定岗位由上级活动选择下级活动具体参与人……数月之后,所谓的“工作流”平台算是建起来了,最终也得到了用户的认可。可是,项目维护难、交接难,特殊应用场景流程不支持,流程经常出现流转异常,无法跟踪流程等问题层出不穷,让我苦不堪言。一种强烈的愿望油然而生:我需要一款专业的工作流产品!

2010年,我有幸参与了几家公司的工作流产品技术交流,注意到以H3 BPM为代表的产品,将BPM从中间件转变为“流程快速开发平台”,BPM是IT的开发工具,以流程、表单等常规概念为中心,普通IT人员即可上手。接下来,与H3 BPM合作,我接连做了几个大项目,都得到客户的认可。惊喜之余,我又陷入困惑,当BPM是中间件时,最大的成本是开发成本,当BPM变革为流程开发平台时,最大的成本却是“需求沟通成本”。据我们的项目统计,流程实施成本80%来自于需求沟通和项目管理。如果流程快速开发平台还可以变革为运维级平台,那么BPM的建设成本将大幅降低。特别是对于需要不停迭代优化的流程管理,更能随时优化管理,BPM的价值将进一步被放大,更为企业所推崇。如何才能降低开发成本,成为我们这些流程开发者日思夜想的问题。

所幸,2016年,H3推出10.0产品,以“天下没有难用的流程”为目标,把BPM从流程快速开发平台变为运维级产品,普通的IT管理员甚至业务人员都可以驾驭。H3 BPM为我打开了一扇崭新的大门,提供了一款易学易用、可自主开发,而且拥有普适双擎,整体成本显著下降的业务流程管理产品,让我可以更高效、快速地为客户提供流程开发服务。它比OA更易配置,不需要专业的开发人员,普通的企业IT管理人员甚至业务部门的人员即可玩转;比EAI更易集成,让企业的管理系统无限连接;像互联网产品一样易用,让用户尽享极致体验;还保持了BPM原有的深度扩展能力、深度分析功能等。在流程开发项目中,一次次看着客户在需求实现时露出的笑脸,我都倍感骄傲。

从最初的IT菜鸟成长为资深PM,从流程小白成长为半个流程专家,我看着流程管理产品从最初的业务流程管理概念变革为日益开放且强大的运维级开发工具。我在不断成长,BPM也在不断变革,你呢?

一个软件开发者的BPM之路的更多相关文章

  1. 易用BPM时代,软件开发者缘何选择H3?

    近年来,企业级软件开发市场暗流汹涌,呈现出多种态势.软件开发团队规模趋于小型化,工作方式趋于快捷化,超过半数的软件开发者在工作中会选择使用易用的软件开发工具.随着流程管理越来越受到企业的重视,流程开发 ...

  2. 《软件开发者路线图:从学徒到高手》【PDF】下载

    <软件开发者路线图:从学徒到高手>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196346 图书简介 作为一名软件开发者,你在奋力 ...

  3. 来谈谈 WebAssembly 是个啥?为何说它会影响每一个 Web 开发者?

    作者:link 原文:What is WebAssembly and why it affects web developers! 你听说过WebAssembly吗?这是由Google, Micros ...

  4. ActiveReports 大数据分析报告:2019软件开发者现状

    “C++很不错,PHP是世界上最好的语言,所以我选Java …” 在全球软件开发者群体中,关于最优语言与最优框架的争论从未停止. 本次 ActiveReports 大数据分析报告,将借助权威数据,为您 ...

  5. 一个iOS开发者的修真之路

    在微信上有童鞋问我iOS开发者的入门标准是神马?这个问题难到我了,而且贸然给一个答案出来的话,必定会有万千高手来喷. 凡人修仙,仙人修道,道人修真.当我们还是一个在青石板上蹲马步汗水涔涔的废柴时,或许 ...

  6. 解决由于一个软件限制策略的阻止,windows无法运行此程序cmd.reg

    解决由于一个软件限制策略的阻止,windows无法运行此程序cmd.reg Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SOFT ...

  7. 一个java高级工程师的进阶之路

    宏观方面 一. JAVA.要想成为JAVA(高级)工程师肯定要学习JAVA.一般的程序员或许只需知道一些JAVA的语法结构就可以应付了.但要成为JAVA(高级) 工程师,您要对JAVA做比较深入的研究 ...

  8. ubuntu完全卸载一个软件

    今天卸载一个软件,老是有配置残留,网上找到了解决方案: 查看已安装的软件: dpkg -l |grep 软件名 找到一大堆相关的包,然后卸载核心的包: sudo apt-get remove --pu ...

  9. 每一个web开发者都应该了解的HTTP/2

    我认为每一个 web 开发者都应该对这个支撑了整个 Web 世界的 HTTP 协议有所了解,这样才能帮助你更好的完成开发任务.在这篇文章中,我将讨论什么是 HTTP,它是怎么产生的,它的地位,以及我们 ...

随机推荐

  1. webp图片实践之路

    最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中.传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显.估计在不久的将来,webp会成为标配. ...

  2. Code Review 程序员的寄望与哀伤

    一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...

  3. ASP.NET路由模型解析

    大家好,我又来吹牛逼了 ~-_-~ 转载请注明出处:来自吹牛逼之<ASP.NET路由模型解析> 背景:很多人知道Asp.Net中路由怎么用的,却不知道路由模型内部的运行原理,今天我就给大家 ...

  4. 第一个shell脚本

    打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" &quo ...

  5. logstash file输入,无输出原因与解决办法

    1.现象 很多同学在用logstash input 为file的时候,经常会出现如下问题:配置文件无误,logstash有时一直停留在等待输入的界面 2.解释 logstash作为日志分析的管道,在实 ...

  6. [APUE]文件和目录(上)

    一.文件权限 1. 各种ID 我在读这一章时遇到了各种ID,根据名字完全不清楚什么意思,幸好看到了这篇文章,http://blog.csdn.net/ccjjnn19890720/article/de ...

  7. UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)

    最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...

  8. Linux碎碎念

    在学习Linux过程中,有许多有用的小技巧.如果放在纸质的笔记本上,平时查阅会相当不方便.现在以一种“碎碎念”的方式,汇集整理在此,目前还不是很多,但随着学习.工作的深入,后续会陆陆续续添加更多的小技 ...

  9. 七牛云:ckeditor JS SDK 结合 C#实现多图片上传。

    成功了,搞了2天.分享一下经验. 首先是把官方的那个例子下载下来,然后照如下的方式修改. 其中tempValue是一个全局变量. function savetoqiniu() { var upload ...

  10. C# 泛型

    C# 泛型 1.定义泛型类 在类定义中包含尖括号语法,即可创建泛型类: class MyGenericClass<T> { //Add code } 其中T可以遵循C#命名规则的任意字符. ...