我是小林,一名普通的软件工程师,从事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. 使用TSQL查询和更新 JSON 数据

    JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...

  2. opencv中Mat与IplImage,CVMat类型之间转换

    opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型 ...

  3. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  4. AngularJs之九(ending......)

    今天继续angularJs,但也是最后一篇关于它的了,基础部分差不多也就这些,后续有机会再写它的提升部分. 今天要写的也是一个基础的选择列表: 一:使用ng-options,数组进行循环. <d ...

  5. JQuery 选择器

    选择器是JQuery的根基,在JQuery中,对事件的处理,遍历DOM和AJAX操作都依赖于选择器.如果能够熟练地使用选择器,不仅能简化代码,而且还可以事半功倍. JQuery选择器的优势 1.简洁的 ...

  6. iOS UITableView 与 UITableViewController

    很多应用都会在界面中使用某种列表控件:用户可以选中.删除或重新排列列表中的项目.这些控件其实都是UITableView 对象,可以用来显示一组对象,例如,用户地址薄中的一组人名.项目地址. UITab ...

  7. 访问者模式(visitorpattern)

    /** * 访问者模式 * @author TMAC-J * 在客户端和元素之间添加一个访问者 * 当你需要添加一些和元素关系不大的需求时,可以直接放在访问者里面 * 或者是元素之间有一些公共的代码块 ...

  8. 初识npm

    一.npm简介: npm全称为Node Package Manager,是一个基于Node.js的包管理器,也是整个Node.js社区最流行.支持的第三方模块最多的包管理器. npm的初衷:JavaS ...

  9. Linux下高cpu解决方案

    昨天搞定了一个十万火急的issue,客户抱怨产品升级后系统会变慢和CPU使用率相当高,客户脾气很大,声称不尽快解决这个问题就退货,弄得我们 R&D压力很大,解决这个issue的任务分给了我,客 ...

  10. PowerShell 数组以及XML操作

    PowerShell基础 PowerShell数组操作 将字符串拆分成数据的操作 cls #原始字符串 $str = "abc,def,ghi,mon" #数据定义 #$StrAr ...