我是小林,一名普通的软件工程师,从事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. JavaScript 中的数据类型

    Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...

  2. ASP.NET Core 中间件之压缩、缓存

    前言 今天给大家介绍一下在 ASP.NET Core 日常开发中用的比较多的两个中间件,它们都是出自于微软的 ASP.NET 团队,他们分别是 Microsoft.AspNetCore.Respons ...

  3. .NET Core 首例 Office 开源跨平台组件(NPOI Core)

    前言 最近项目中,需要使用到 Excel 导出,找了一圈发现没有适用于 .NET Core的,不依赖Office和操作系统限制的 Office 组件,于是萌生了把 NPOI 适配并移植到 .NET C ...

  4. MVC Core 网站开发(Ninesky) 2.1、栏目的前台显示(补充)

    在2.1.栏目的前台显示中因右键没有添加视图把微软给鄙视了一下,后来有仔细研究了一下发现应该鄙视自己,其实这个功能是有的,是自己没搞清楚乱吐糟. 其实只要在NuGet中安装两个包(Microsoft. ...

  5. Angular企业级开发-AngularJS1.x学习路径

    博客目录 有链接的表明已经完成了,其他的正在建设中. 1.AngularJS简介 2.搭建Angular开发环境 3.Angular MVC实现 4.[Angular项目目录结构] 5.[SPA介绍] ...

  6. 讓TQ2440也用上設備樹(1)

    作者:彭東林 郵箱:pengdonglin137@163.com QQ:405728433 開發板 TQ2440 + 64MB 內存 + 256MB Nand 軟件 Linux: Linux-4.9 ...

  7. 【算法】C语言实现数组的动态分配

    C语言实现数组的动态分配 作者:白宁超 2016年10月27日20:13:13 摘要:数据结构和算法对于编程的意义不言而喻,具有指导意义的.无论从事算法优化方向研究,还是大数据处理,亦或者网站开发AP ...

  8. .NET中AOP方便之神SheepAspect

    SheepAspect 简介以及代码示列: SheepAspect是一个AOP框架为.NET平台,深受AspectJ.它静织目标组件作为一个编译后的任务(编译时把AOP代码植入). 多有特性时,可根据 ...

  9. nodejs操作arduino入门(javascript操作底层硬件)

    用Javascript来操作硬件早就不是一件稀奇的事情了. 所以作为一名电子专业出身的FE,我也打算尝试一下用js来驱动arduino: 要想操作这些底层硬件,肯定是需要一些工具的,我这里介绍的工具主 ...

  10. RSA算法

    RSA.h #ifndef _RSA_H #define _RSA_H #include<stdio.h> #include<iostream> #include<mat ...