IT|Redux

Man vs Machine

Thursday, January 25th 2007 | Ismael Ghalimi

In the little world of Business Process Management (BPM), most vendors like to create confusion in customers’ minds as a way to slow down the relentless commoditization process they are facing. For this purpose, many tricks can be used, ranging from the development of incompatible standards, to the segmentation of the market into meaningless categories. Recently, this later form of FUD has gained some momentum, with the sparkling of a debate around human-centric BPM vs integration-centric BPM. This distinction makes absolutely no sense, and is yet another contributing factor to the delay in the mainstream adoption of BPM technologies in the enterprise. Here is an attempt at providing some much-needed clarification.

Promoters of the human-centric vs integration-centric dichotomy would like you to believe that some BPM products focus on processes involving interactions with human beings, while others focus on processes involving integrations with IT systems, and you cannot really get both from the same product. Furthermore, they claim that the first category of products is designed to be used by business people, while the second can only be mastered by the most technical among us. If your process is for people, give this human-centric tool to your business folks, and they’ll take care of it. And if it’s for machines, give that integration-centric tool to your IT guys, and they’ll figure it out. Ain’t that cool?

Well, actually, no, it’s not. As a matter of fact, it makes no sense at all. Why, are you asking? Well, because I do not know any business processes that do not involve both human interactions and system integrations. With all the money we spent over the past fifty years building IT systems, you better believe that such systems are everywhere today, touching every bits of processes you could get your hands on. So what happens when your process needs both? Do you have to buy two BPM tools? And how do you use them together? Will they fit? And who is going to be responsible for making the whole thing work?

When asked this very question, some promoters of the human-centric way use the tired 80-20 rule, claiming that 80% of the processes out there could be implemented with human-centric BPM tools used by business people. Unfortunately, the same folks were nowhere to be found when challenged to substantiate their claims. It gets even better when they use a 98-2 rule. How about 99.8-0.2? Would that work better? No matter how ambitious you are, if you’re selling human-centric BPM tools, all you’re doing is selling eye-candy user interfaces slapped on top of a lot of code written by your professional services group. Your customer might never notice, but I doubt it will experience the kind of Return on Investment that BPM can legitimately promise.

The very idea for Business Process Management, as theorized by Howard Smith and myself back in 2000, was to bring business and IT together. It was neither a top-down approach driven by business folks, nor a bottom-up one controlled by IT people, it was a middle-out one managed by process owners, and these tend to have a good understanding of the business, as well as decent technical skills. It was a fundamentally new approach targeted neither at the business analyst, nor at the software engineer, but at a new category of developers that we later called process analysts. It was neither human-centric, nor integration-centric, it was simply process-centric, and human as well as systems were treated as equal participants to the process. This was our vision back in 2000, and this vision remains as pertinent today as it was back then, with the only difference that products implementing the vision exist today. Check this one out for example.

Over the past seven years, I have worked with about 200 customers, and I have yet to meet one that had meaningful processes that would involve only one type of participant, either man or machine. Moving forward, I do not expect this to change. Instead, I expect interactions with humans to become richer and richer, and integrations with IT systems to creep up everywhere. I also expect processes to become more and more complex. While a complex process might have required a hundred steps ten years ago, a complex process today might require a hundred thousands, and the BPM tool you use to manage it must be able to support such an unprecedented level of complexity.

Another argument used in favor of human-centric systems is that their tools are easier to use, because they’re not encumbered by the complexity of technical standards such as the Business Process Execution Language (BPEL). I’m sorry, but this is just another way of saying that your tool does not support BPEL, and instead is based on a proprietary process execution model that will lock you in as a customer for the lifetime of your processes. In reality, there is no reason why using BPEL should make evertyhing more complex, as long as you’re using a process design tool that can generate the BPEL code for you, and this is what the Business Process Modeling Notation (BPMN) was invented for. Combine BPMN with BPEL, and you get the best of both worlds: ease of use and support for standards.

Now, when you read the BPMN specification carefully, you will notice that it makes no distinction between human participants and system participants. Both are represented the exact same way as pools, and assigning a task to a human being is depicted through the very same pool-crossing arrow that you would use to depict integration with an external system. This is because BPMN took neither a human-centric approach, nor an integration-centric one, but the very process-centric approach that the original concept for BPM was built upon.

As one of my investors told me one day, the term Business Process Management is quite sexy. It sells. And as a result, a lot of vendors have adopted it, without giving much consideration to its meaning. Over time, the term got used by everybody, from vendors of legacy workflow engines, to developers of business rule systems. You could even find vendors of content management systems using it here and there. But customers are smarter, and when a concept loses its substance, they just ditch it and move on to the next big thing.

Well, this is too bad, really, for the concept had legs. As a matter of fact, I remain convinced that it will regain its popularity once the market has cleared up and consolidated around a small set of players that have adopted a model that does not antagonize business folks and IT people. I call this model BPM 2.0, and by using this term, I refer to the only BPM that makes sense, process-centric BPM.

Entry filed under: BPM 2.0

24 Comments - Add a comment

1. Francis Ip  |  January 25th, 2007 at 10:54 pm

Ismael,

I need some explanations from you about what you said: “It was neither a top-down approach driven by business folks, nor a bottom-up one controlled by IT people, it was a middle-out one managed by process owners, and these tend to have a good understanding of the business, as well as decent technical skills. It was a fundamentally new approach targeted neither at the business analyst, nor at the software engineer, but at a new category of developers that we later called process analysts.”

1. Who is a process owner? The organizational units that execute the processes, be they manual or automated, or the custodian (i.e. IT) of software systems. In an enterprise sense, a process owner is the business organization unit, not IT!

2. A good software is one that users need no formal training to use it. Meaning, when a user makes a mistake, the system catches it and provides detailed instructions to guide the users in completing the tasks at hand. Is there a BPMS out there that can truly meet the useability test as stated earlier?

3. Based on your definition of Process Analyst, s/he is an IT person with good business sense. This contradicts your claim: “fundamentally new approach targeted neither at the business analyst, nor at the software engineer”. Isn’t the new approach still IT centric? In essence, the current BPMSes are still non-user friendly.

4. Business users don’t really care what executable codes are running behind the user interfaces, as long as the BPMS supports the mangement of business processes. BPEL or proprietary code makes no difference. When one vendor goes out of business, users just need to purchase an equivalent software from another vendor. This is what I call “commodization” of software. Is BPEL an absolute must for choosing a commoditized BPMS?

In general, standards are important only in terms of inputs and outputs of a system or software. When one wants to modify a purchased software, then standards become important for the software’s internals.

Best regards
 -Francis

2. Todd Biske  |  January 26th, 2007 at 8:03 am

I just read this, and had to comment that this was a great post. The separation of human-based workflow versus system-based automation is unnecessary and frustrating, just as you suggest. I also agree that the combination of modeling using BPMN and letting tools generate BPEL where it’s needed is the right approach.

3. Ismael Ghalimi  |  January 26th, 2007 at 8:25 am

Framcis,

Here are some answers:

1. A process owner is usually on the business side.

2. I agree with your statement, and I would suggest that some workflow user interfaces that are being developed for BPM systems today can support the type of scenario you’re describing. The use of rich forms, as allowed by XForms for example, plays a significant role in this.

3. A process analyst can come from the business and have developed technical skills over time, or come from IT and have moved to the business side. There lies the beauty of this middle-out approach: it does not privilege one over the other.

4. Standards are important for many more reasons. In a nutshell, they help structure an industry. Would you buy an RDBMS that was not based on SQL today? I certainly would not. Why would a BPMS be any different?

Best regards
 -Ismael

4. Ismael Ghalimi  |  January 26th, 2007 at 8:26 am

Todd,

Thanks for the kind words, much appreciated.

Best regards
 -Ismael

5. Francis Ip  |  January 26th, 2007 at 10:50 am

Ismael,

Of course, I would not buy a RDBMS that is not standard compliant. Nevertheless, the internal architecture and constructs are different for each RDBMS. As an example, Oracle has its own proprietary file system that bypasses an operating system’s file sevice, including on IBM mainframes.

My emphasis has been that inputs and outputs must be standard compliant, not the architecture or internal constructs. BPEL is a piece of technology sitting in the middle of a BPMS for generating executable codes in XML constructs, which can be complied like .Net or interpreted like Java.

In essence, what sits in the middle and how it was implemented is irrelevant for an end user. The implementations of Oracle, SQL Server, and DB2 are all different, but they comply with ANSI SQL 92 with proprietary extensions. The tables of an application database would be indentical in Oracle, SQL Server, and DB2 when one does not use the proprietary features. The inputs and outputs are all that matter. By the same token, when the middle piece of a BPMS generates identical XML codes, does it matter if it is BPEL or something else?

Best regards,
 -Francis

6. Ismael Ghalimi  |  January 26th, 2007 at 11:07 am

Francis,

You’re considering BPEL as an implementation detail, while I consider it as an execution model. For me, the implementation detail is whether your BPEL code is compiled in Java (as Oracle does), in .Net (as Microsoft does), or natively interpreted (as Intalio does). I would argue that native interpretation is better, but as you said, it’s an implementation detail. But native use of BPEL as the core execution model certainly is not, much like native use of the relational model supported by SQL is not either.

Best regards
 -Ismael

7. Francis Ip  |  January 26th, 2007 at 10:06 pm

Ismael,

If native interpretation is so efficient, why do we need compilers then? Java is basically a crippled C++, which does not support access to memory, executes one byte code at a time, and steals cycle time to do garbage collection. The advantages of Java are: 1) it executes the same way on all platforms, 2) there is no need to compile the source codes for different platforms. Thus, performance suffers.

Strictly speaking, there is no such thing as a perfect solution! The debate on compiled and interpreted codes started since the implementation of MUMPS, the third ANSI approved language, and possibly the first interpreted programming language before BASIC emerged from Dartmouth College. Before BASIC, there were APL and REXX, but they ran only on IBM Mainframe! I don’t see how natively inpreted languages can out-perform compiled languages on the same platform!

I believe that we approach the same subject from a very different point of view. I am looking at systems and software from an ordinary end-user’s (with practically no IT training) point of view. You are looking at systems and software from an open-source and marketing point of view. Moreover, your targeted customers are of the IT type, not dummy business users!

Best regards
 -Francis

8. Ismael Ghalimi  |  January 27th, 2007 at 9:21 am

Francis,

Based on my experience, native interpretation of BPEL is actually faster than translating BPEL into Java, then interpreting the Java code on the JVM. It has to do with the fact that native BPEL interpretation lets you manage threads in a whole different way than Java would. In order to better understand this, you have to keep in mind that BPEL processes are massively asynchronous, hence performance optimization happens at different levels than with synchronous code execution.

And I never met a dummy business user who could develop and deploy a complex business process integrated with any kind of IT system. If you have, please introduce us, for I’d love to learn from her experience.

Best regards
 -Ismael

9. Francis Ip  |  January 27th, 2007 at 12:39 pm

Ismael,

I do agree with you that natively interpreted XML codes would be faster than translating them to Java, and then interpreting them by JVM in byte codes. When I say compiled codes, I don’t mean to have the source codes compiled into another form of source code like Java, I mean to have the source codes compiled into native machine instructions. I would like you to demonstrate to me how interpreted codes can run faster than machine instructions. Of course, asynchronous processing would improve performance, as a separate spawned thread would run in the background, while the user can still work in the foreground.

When a software can not be used by a business user with little IT knowledge, it means that the software was designed with the mindset of the 60’s. End users are mortals and computer programmers are gods! That was the reason I studied for a Computer Science degree on a part-time basis. Armed with a CS degree, I could tell and show the software practitioners in delivering truly user friendly software intensive systems. The real-time traffic management systems that I’ve architected over the years are software intensive and more complex than a run-of-the-mill business transaction system.

Moreover, in a real-time control environment, we talk about milliseconds of combined incidence detection, alert, and reaction times over a metropolitan network consisting of land-line, wireless, and GPS segments. To give you an example, a detector embedded in the pavement of a lane would take all the measurements in speed, axle weights, vehicle status, and then alert either the weight scale station or state trooper downstream if a vehicle violates the highway traffic acts. Interpreted codes can never cut it!

In essence, BPM 2.0 still falls short in attaining the goals of one-click deployment and real-time control.

Best regards
 -Francis

10. Ismael Ghalimi  |  January 28th, 2007 at 9:06 am

Francis,

I think you’re comparing apples to organges now. Do you know any RDBMS that turns SQL queries into assembly code before interpreting them? I personally do not. Any RDBMS I know, including Oracle 9i or IBM DB2, natively interprets SQL queries, and as far as I could tell does it pretty fast. And I do not know anyone in the industry trying to make it faster by turning SQL into assembly code. Do you? Well, I believe that the same is true for a BPMS natively interpreting BPEL.

As far as real-time performance is concerned, Intalio|Server now support rountrip process-to-process communication in less than 14 milliseconds. Is that fast enough for your real-time requirements? One of our customers is running 250 million concurrent processes on a single instance of our process server deployed on a 4 CPU machine. This process, modeled in BPMN, is defined through 250,000 independent activities. It is used by more than 100,000 end-users every day of the week. Is that large enough to qualify?

Best regards
 -Ismael

11. Francis Ip  |  January 28th, 2007 at 2:28 pm

Ismael,

Execution of SQL statements comes in 2 modes. For dynamic SQL, statements are interpreted at run time. For static SQL, the statements are precompiled with binding, and then compiled into machine instructions. The following is copied from the IBM site on DB2.

Static SQL is generally used in embedded SQL database applications. Static SQL statements are hard-coded in an embedded SQL application program when the source code is written. The source code must be processed by the DB2(R) database manager using a SQL precompiler before it can be compiled and executed. During this process, the SQL precompiler evaluates references to tables, columns, and declared data types of all host variables and determines which data conversion methods need to be used when data is moved to and from the database. Additionally, the SQL precompiler performs error checking on each coded SQL statement and ensures that appropriate host variable data types are used for their respective table column values. Static SQL is called static because the SQL statements in the program do not change each time the program is run. Static SQL works well in many situations. In fact, it can be used in any application for which the data access can be determined at program design time. For example, an order entry program always uses the same statement to insert a new order, and an airline reservation system always uses the same statement to change the status of a seat from ‘available’ to ‘reserved’. Each of these statements would be generalized through the use of host variables. Different values can be inserted in a sales order and different seats can be reserved. Because such statements can be hard-coded in the program, such programs have the advantage that statements need to be parsed, validated, and optimized only once, at compile time. This results in relatively fast code at runtime.

If my understanding of your statement is correct, you explicily stated that all SQL executions were done through interpretations at run time. If this is the case, IBM’s documentation provides false information then.

By the way, assembly codes are not machine instructions. In the old days, assembly codes were also called object codes after being translated or pre-compiled from one of the source codes such as COBOL, Fortran, PL/1, Algol, C, etc. In essence, there are two stages in compilation. The first stage is to catch syntactical errors, resolve cross references, and break all codes into logical segments or pages, which are not executable. When no errors are found, it then goes to the second stage in which logical pages are translated into physical pages and machine instructions, which are executable. After the compilation, the source codes will not be used again at run time, therefore compilation or interpretation will not be needed. If a RDBMS is written purely in Java, then compilation is totally out of the question. I don’t think Oracle and DB2 were written in Java. Perhaps, someday they will be totally re-written in Java!

When you have no constraints in purchasing more computing power, either a faster machine or more machines by clustering them, interpretation is of no concern. The destinctions between interpretation and compilation are: 1) the source codes are loaded, compiled, and then executed at run time when they are in intrepretation mode; 2) machine instructions are loaded and executed at run time when the source codes have been compiled.

My understanding of the BPMN is that: 1) it is a 2 dimensional diagram, 2) activity is either a task or sub-process, and there is no such thing as activity in the diagram, 3) there is an absence of layering construct—that is, one can drill down from a process to the underlying activity diagrams ,and then further down from an activity to the supporting task diagrams. I do see off-page connetors, but not drill down capability!

I will send you a specification in real-time traffic management. I would love to see how you will model it in BPMN that can replace SCADA! I believe that you should know what SCADA is.

Best regards
 -Francis

12. Ismael Ghalimi  |  January 28th, 2007 at 4:54 pm

Francis,

Thanks for the distinction between dynamic and static SQL statements. My comments applied to static statements, and IBM’s claims are correct indeed. As far as BPMN is concerned, it does support drill down from process to activity to task. It might be that we (Intalio) are reading the specification in a certain way to allow such a thing, but I can tell you that Intalio|Designer does support such a drill down capability.

Please send me your process, we’ll definitely take a look at it.

Best regards
 -Ismael

13. Francis Ip  |  January 28th, 2007 at 11:08 pm

Ismael,

If Intalio’s process designer does support process hirerachy drill-down, you are at least several steps ahead of your competitors! I downloaded several BPMN modelers and played with them, but none of them have any drill-down capabilities. I worked with BizTalk about 2 years ago, and it neither supports BPMN modeling nor provides drill-down capabilities. The latest version, BizTalk 2006, still doesn’t support BPMN, as its drawing tool is Visio. There is no BPMN template from Microsoft, but it has a template for SysML though! Perhaps, Microsoft hired Jeanne Baker to implrment BPMN in the next version of BizTalk. When I have time and your alpha version of the latest process designer turns into production release, I will download it and play with it.

I have to prepare the specification from scratch, as it takes a long time to retrieve the architectural documents that I prepared several years ago for Real-time Traffic Management Systems. These documents are sitting in one of the boxes inside someone’s garage, and I don’t remember which box it is. I hope that I will be able to finish the reconstruction of a specification before the 30th of January. I have to visit the Radiation Specialist again on that day as the oncologist advised against surgery for removing the remnants of cancerous lumps on my neck. I hope that I can convince the radiation doctor to schedule the next set of treatments after the Chinese New Year, as I need time to regain some body weight, about 30 lbs.

It will be a challenge to model and generate executable codes from BPMN and BPEL that can replace a SCADA system with identical interfaces and run-time graphics! You have been very confident in BPEL, at least in Intalio’s version of BPMS, which: 1) generates codes to interact with different types of digital signal processors (e.g. biometric scanner, motion detector, etc.) and controllers (e.g. credit card, debit card, smart card, coin collector) without any further coding, configuration, or installation of software; 2) creates run-time graphics, in animated inconic forms (GIF or SVG), to represent digital or analog gauges, meters, counters, etc.; 3) generates operator interfaces to interact with remotely-mounted instruments such as cameras, overhead changeable message signs, entrance ramp traffic light signal controllers, etc.; 4) translates text messages into voice messages and vice versa; and 5) interfaces with other systems such as driver registration, vehicle registration (regular as well as Automatic Vehicle Identification tag), cross-border registration, trip filing or manifest for truck, outstanding warrants or fines, etc. with all security accesses for enquiries and updates. This paragraph provides you a sneak preview for part of the specification’s content.

Best regards
 -Francis

14. Ismael Ghalimi  |  January 29th, 2007 at 4:07 pm

Francis,

Yes indeed, Intalio|Designer is quite ahead of the competition, in many respects. Regarding Visio, I believe that it ships with a primitive BPMN template, but I would not use it for anything serious.

Good luck with the oncologist! My thoughts are with you and your family.

Your friend
 -Ismael

15. Alastair Bathgate  |  January 30th, 2007 at 2:10 am

Ismael,

I am not a techie, and would like to step up to a business view in this debate, and step aside from the interpretation and nomenclature. I agree with your process centric view of the future. Enterprises have spent the last 20 years installing systems that focus on currency, then accounts, then resources, then deliveries, then customer’s fixed details, then customer’s total relationship, etc. Is it any wonder that business processes have become fragmented? This is what BPM and the like should be addressing, no matter what it is called.

16. Ismael Ghalimi  |  January 31st, 2007 at 6:17 pm

Alastair,

I must agree. Yet you need the right technology to make it work.

Best regards
 -Ismael

17. Francis Ip  |  February 2nd, 2007 at 10:48 pm

Ismael,

I finally finished the generic specification for a Real-time Traffic Management System. I assume that you know and can demonstrate the following:

1. The inputs and outputs of a SCADA system.
2. Queuing Theory and meaning of traffic intensity.
3. Terminologies in Land Surveying as you graduated from a Mining School in France.
4. The BPEL engine can generate EBCDIC codes for zone decimals, packed decimals, and database navigation of an IMS database without going through an SNA Gateway.
5. The BPEL engine can retrieve CAD drawings in Autocad format and generate graphics in GIF or SVG format.
6. Executable codes generated by the BPEL engine can interact with control devices as stipulated in the specification.

Ismael, you have been very confident that BPMN and BPEL can do almost anything under the sun. It is time for you to substantiate your claim! You can retrieve a copy of the specification there.

Best regards
 -Francis

18. Ismael Ghalimi  |  February 5th, 2007 at 12:23 pm

Francis,

Thanks for sharing this, but I’m a little bit confused. What do you want me to do with this document? It does not look like a specification to me, but rather a high-level set of requirements, which I believe we could match for most parts. So what’s next?

Best regards
 -Ismael

19. Francis Ip  |  February 5th, 2007 at 2:59 pm

Ismael,

It is correct. The generic specification contains primarily requirements, which you normally get in the RFPs from any transportation department in Canada, U.S., or other countries. Normally, you also get the CAD drawings of the Freeway. From the requirements specification and the CAD drawings, you prepare the architecture document, select technologies, and do the conceptural design to be incorporated into your proposal. In this case, you don’t get a CAD drawing, as I don’t have time to prepare one. Without it, you can still go ahead to do the modelling with BPMN using the following additional information.

1. There are 3 lanes in each direction of the Freeway.
2. There are 6 Diamond Interchanges, and each one is about 2 miles apart. There is only one lane for each on ramp or off ramp. At each entry end of the Freeway section, there are 2 toll kiosks and one free lane for vehicles that have AVI tags.
3. An all weather camera is positioned between highway lighting standards, which are 100 feet apart. On each off ramp or on ramp, there is also a camera, which can take a picture of an vehicle license plate in the front or back of a vehicle in motion.
4. A vehicle detector is embedded on each lane about 200 feet apart on the Freeway. Vehicle detectors are also embedded at both ends of a lane off a ramp.
5. Two traffic light signal heads are positioned at the exit point of an on ramp to regulate the inflow of vehicles from the on ramp to the Freeway.
6. A remote sensing device is located between a pair of interchanges on each side of the Freeway.
7. You can assume that there is one universal analog to digital device, which can interconnect all devices to the network.
8. There is a FDDI network segment on each side of the Freeway.
9. When a device is out of commission, the system generates audio and visual alarms, sends messages to the Freeway maintenance crew, and lets the Freeway surveillance operator decides to notify Freeway police and fire station or not.
10. At each end of the Freeway direction, there is a Truck Inspection Station.
11. At each toll kiosk, there is card reader and coin collector.
12. Overhead changeable message signs are located approximately 500 feet apart on each direction of the Freeway.
13. Each operator carries a biometric device to authendicate himself or herself to the system.
14. Broadcasting of traffic conditions is done through Radio, TV, Cellphone, and Web site 24/7.
15. GPS’s are used for pinpointing the location of an incidence (e.g. a disabled vehicle or a rearend collision) through triangulation.

The above should provide adequate information to round out a typical RFP. Now, you can develop an architecture, if this is your normal practice. From the architecture you can carry forward for the detail design with your BPMS.

Best regards
 -Francis

20. Ismael Ghalimi  |  February 5th, 2007 at 5:43 pm

Francis,

Thank you for all this information, but we usually do not answer to RFPs, for this is something that our implementation partners are better organized to do efficiently. If you want to assess the capabilities of our tool, I suggest that you attend one of our training session, and as a sign of good faith, I am willing to waive the $1,500 registration fee. We have regular sessions organized on the East Coast, usually in New York. Would that be of interest to you?

Best regards
 -Ismael

21. Francis Ip  |  February 5th, 2007 at 9:09 pm

Ismael,

It is very generous of you to waive the registration fee. It is my general policy that I wouldn’t pay to attend a course to learn how to use a product package. The user guide and the reference manual should do the job just like DoD or NASA projects. Without user manual and system design documentation, a system project can not enter into the development phase.

For instance, I never received formal training in MUMPS. Armed with DSM’s (Digital System MUMPS) user guide and language reference, I played with the language on a VT100 terminal at DEC’s Canadian HQ for one morning. That was my MUMPS training for delivering a turnkey suite of Patient Registration and A/D/T Systems to McMaster University Medical Centre!

If my assessment of Intalio products is correct, they are not quite up to par to replace a SCADA package yet, they still have a long way to go. The deficiencies are:

1. It doesn’t support SysML and ISO AP233.
2. It doesn’t support EDI.
3. Java based software works primarily with ASCII code, not EBCDIC.
4. I don’t see how Intalio’s products, in their current forms, can read CAD drawings in DWG format and produce to-scale graphics, either GIF or SVG for screen!
5. There are curve fittings and headway estimates based on the speed profile or contour on the Freeway for regulating the release of vehicles, waiting on ramp, onto the Freeway. I doubt that the current BPMN and BPEL can do such computation yet.

Moreover, I can not afford to fly to New York to attend any courses. If the manuals are well written, I don’t see why I need to attend any courses. I learned PL/1 programming and IMS by studying manuals without attending IBM courses! The only programming course I ever took was Fortran in the first course of Computer Science. I learned all modelling techniques, with the exception of Simulation and Numerical Methods, without taking any courses!

Best regards
 -Francis

22. Ismael Ghalimi  |  February 6th, 2007 at 2:58 pm

Francis,

I understand. For whatever it’s worth, I’d be happy to pay for your plane ticket and hotel room myself if you have any interest in attending one of our training sessions. I am sure that you could learn our product on your own, but I also believe that attending our training course would allow you to learn things that cannot be found in any manual, such as real-world use cases.

As far as your example is concerned, I never claimed that you could implement the whole thing without having to write code, especially for the low-level procedures that you are describing. But these are very remote from the core business process, aren’t they? So, as far as the process is concerned, I still believe that we could handle it, and the best way to find out would be for you to start using our tool.

Best regards
 -Ismael

23. Francis Ip  |  February 6th, 2007 at 7:54 pm

Ismael,

It is not quite true that what I’ve described are not real business processes. They are indeed true business processes for a business entity that specializes in privatized Real-Time Traffic Management. A case in point, the ETR (Electronic Toll Road)—part of Highway 407 in Ontario, is a commercialized RTM. It collects tolls through subscription or billing, but no toll booths or kiosks. Originally, the company was given 50 years to get return on investment and profits. After a few years of operations, it never achieved the required level of traffic volumes to get enough income that could offset the capital cost and make decent profits. About 2 years ago, the PC Ontario Government extended the operations of ETR from 50 years to 100 years, before the company would turn the toll operations back to the public (i.e. Government).

Before the ETR was open to the public, I argued with my ex-school mate and friend, a chartered consulting engineer, that the toll company would never make enough money to recoup its investment. It seems that my prediction was dead on again, just like what I did with IBM’s OS/2 back in 1992.

Gartner was promoting IBM’s OS/2 and Repository & AD Cycle heavily in its expensive reports. Two CASE tool companies jumped with both feet into the OS/2 arena. They were Bachman Information System and Index Technology (Excelerator). They didn’t invest in Windows. In less than 5 years, they disappeared from the market! Popkin Software was smart, it invested only in Windows, and started supporting Object Oriented modelling in addition to Structured Methodologies in 1993. System Architect is now part of Telelogic’s products, and it is the only and preferred tool for DoD’s Architecture Framework work. Even IBM has to use it, even though it has Rational Rose. It is because IBM’s software is based on Java, not a de jure standard language. It seems that IBM never learns. It should get its products in Java and C++ to cover all market potentials. It should also realize that DoD, NASA, and many Government agencies would not use products that are not built from de jure standard languages! The decision by IBM to opt for Java could be that Microsoft abandoned OS/2 after version 1.2. This is history, IBM can afford to make mistakes. The potential losers are its customers!

In general, I don’t believe in Gartner and similiar outfits in projecting trends and promoting technologies. Most of the predictions are wrong anyway! I would rather believe reports by reputable investiment analysts who collect insightful data and make better than average forecastings. Warren Buffet, the world’s second richest man is one of those reputable investment analysts. An exceptional product doesn’t guarantee the survival of a company, like Index Technology!

I may pick up your generous offer someday. For now, I have to concentrate on two important things. One is the diagnosis by the radiation oncologist in the later part of March after the CT scans to be done on Febuary 9th. Another one would be the application for old age subsidized housing. The waiting time can range from 2 years (inviduals with terminal illnesses) to 12 years (healthy individuals).

I’ve discontinued my online study for the PMP certification exam. I would instead concentrate on my Enterprise Architecture Engineering methodology. It will be my legacy in North America. The legacy I left in Hong Kong are the roadway and interchange functional designs that I did back in the mid- and late 60s when I was an Engineering Assistant in the Traffic Engineering Division of Hong Kong Public Works Department (PWD). If you have a chance to visit Hong Kong, on the island side, you can see my legacy from Harcourt Road all the way up to the Intersection of Magazine Gap Road, Robinson Road, and Garden Road. Unfortunately I was not an AMICE (Associate Member of Institute of Civil Engineer of UK) then, therefore I could not sign the design drawings, but my boss did! The interchange design at the intersection of Magazine Gap Road, Robinson Road, and Gardne Road was quite a challenge. Two engineers and three assistant engineers tried it without success before it was turned over to me. It took me 3 weeks to finalize the design and get it approved by the Government Civil Engineer (second in command in the PWD) without any change! In general, it took me about 3 days to finish a functional design of an interchange. I was the fastest freeway functional designer in the whole division, including experienced engineers!

Best regards
 -Francis

P.S. Ismael, it will be a good idea to expand your operations to the Fast East, China in particular. I believe that your wife and in-laws should be able to help. I am serious, not joking! It is time to think about how to design and support multi-lingual software. In Canada, software installed in Eastern Canada (from Ontario eastward) and the Federal Government is at least bi-lingual (English and French). If Intalio’s BPMN and BPEL can support English, French, and Chinese simlutaneously, you have a market potential of at least 3/4 of the world!

24. Ismael Ghalimi  |  February 7th, 2007 at 3:25 pm

Francis,

Thanks for sharing this story, it is very generous of you. Regarding your advice to expand in China, we are definitely going down this road. As a matter of fact, I had breakfast yesterday morning with someone who might help us to that sometime this year. I will keep you posted on our progress on this front.

Best regards
 -Ismael

Trackback this post  |  Subscribe to the comments via RSS Feed

Leave a Comment

Required

Required, hidden