Peeking at Fuego

When I was at BPM 2005 in London back in May, Fuego was one of the exhibitors (there were only about 10 so it was easy to see them all), and I heard independently from a few attendees that they were looking at or using Fuego. I dropped by the booth and talked to their Director of Marketing, who promised that if I applied online to evaluate their product, he’d make sure that I was approved promptly. He knew that I was headed off for vacation in May/June, but emailed me after I returned and asked when I was going to take a look at it, so I finally got around to downloading the Fuego Process Orchestration Studio and I’m trying it out over the next couple of weeks.

My first thought is that this is an independent contractor’s (you know how I hate the “consultant” word) dream: Fuego bundled all the design and development tools — including Tomcat to serve the end-user portal and the Cloudscape database for RDBMS components and directory services — plus a mini runtime engine into the Studio package, which means that I don’t need to source and install a compatible web server and database independently. Furthermore, the minimum system requirement on Windows is 512MB of memory, and it runs quite well on my 3-year-old 1GHz laptop with its 576MB of memory. This allows me to do anything that I would need to do with a Fuego customer in terms of designing a process or custom development, including full runtime testing, as long as I had access to (or could emulate) any external components that are called by the process, using a mid-range mobile machine instead of a handfull of servers. In fact, I spent my first few hours working with it — on battery power! — at my local Starbucks, not something that I could do with most other BPM products that are inching into (or are already in) Gartners’s top-right quadrant.

I don’t intend to make comparisons with other BPM products; I’ve spent a bit of time with lots of products, and a lot of time with a couple of products, and they all have their pros and cons. For example, addressing the mobililty issue, I love the fact that FileNet (which I know very well) makes all their modules web-based so that there’s no explicit installation required at a workstation, you just go anywhere on your network, decide that you want to design, adminster or participate in a process, and you’re good to go as long as you have appropriate security levels. However, if you’re not on the network, you’re pretty unlikely to have the minimum system requirements on your mobile platform to run any of their stuff standalone. I’m not picking on FileNet specifically here, I’m just pointing out that most of the “industrial strength” BPMS don’t let you “snap off” a design/development environment to be used by independents like me that aren’t supported by a big IT department, which means that these vendors have shifted their target designer and developer community to become either people within the customer organization itself, or the large SIs. I’ve posted my thoughts before about how a small organization can provide significantly better quality of work than the big boys for certain types of work, which puts me in mind of this article on McDonald’s versus the Naked Chef, which opens with the line “Mystery: why is it that some of the biggest IT consulting companies in the world do the worst work?” Keep in mind that there was a time in almost every BPMS vendor’s past when they embraced and catered to small SIs and indepedent consultants while still courting the big SIs; I just hope that this is a phase that Fuego will never grow out of.

Anyway, getting back to product stuff, I’m not going to talk much about technical details (in spite of my inner geeky engineering desire to do so) since I think that’s covered sufficiently elsewhere and in Fuego’s white papers; instead, I want to give a perspective on what it’s like to use as a designer. Suffice it to say, however, that it’s a pure Java implementation and should run on any environment that supports JVM 1.4 or higher, but is certified only on several Windows versions and two flavours of Linux. And it supports Firefox (as well as IE and Netscape), which makes me very happy.

There’s a pretty complete tutorial included (as a PDF) that I’m working through as a quick test drive before taking it out on the open road. It’s even funny, in a dark humour sort of way: the first example application is an “idea evaluation” process where employees create processes by submitting an idea, and evaluators participate in the process to check the idea. At the end of the brief process overview, the tutorial states “Just like in the real world, the ideas submitted are never really implemented so after the evaluator checks the idea, the idea just goes to the end of the process.” A bit of a sad business commentary but made me laugh out loud.

More to come when I get a chance to work on it.

TIBCO’s lack of integration

I don’t like to dwell on a vendor’s hardships, but I have to shake my head over an update on the ongoing lawsuits by TIBCO’s shareholders against the company in eWeek‘s current edition. The key issue is apparently that as of the end of last year, TIBCO hadn’t yet integrated Staffware’s “leadership, operations or sales force”, which has resulted in stagnating European sales.

Considering that the former Staffware CTO has gone off and started his own company based on a competitor’s BPM software, I already assumed that there have been a few glitches along the way, but even an EVP at TIBCO admits that the problems are, in part, cultural due to the whole U.S.-U.K. thing. Another case of an organization assuming that the cultures are similar because they all speak the same language?

Davenport article in HBR

If you missed Tom Davenport’s excellent article “The Coming Commoditization of Processes” in last month’s Harvard Business Review, they’ve published an excerpt to entice you to buy the full reprint. Mr. Davenport, as always, has brilliant insights:

“Despite the trend toward outsourcing, however, most companies have remained in do-it-yourself mode for most processes… Because of a paucity of process standards, it would be risky to do otherwise…

However, a new world is coming, and it will lead to dramatic changes in the shape and structure of corporations. A broad set of process standards will soon make it easy to determine whether a business capability can be improved by outsourcing it. Such standards will also make it easier to compare service providers and evaluate the costs versus the benefits of outsourcing. Eventually these costs and benefits will be so visible to buyers that outsourced processes will become a commodity, and prices will fall dramatically. The low costs and low risk of outsourcing will accelerate the flow of jobs offshore, force companies to look differently at their strategies, and change the basis of competition. These changes are already happening in some process domains, and there are many indications that they will spread across virtually all commonly performed processes.”

The full article contains a lot more detail than the excerpt, including using CMM as a great example of a standardized process that has enabled software development outsourcing. Less technical business processes are quickly following.

I’ve been mulling over thoughts about business process outsourcing (BPO) for some time, collecting ideas for an article (or even just a blog post), and this has really started me thinking about outsourcing. One of my recent customers provides BPO services for financial transaction processing (as do several other less-recent customers), so Mr. Davenport’s final words apply directly to them:

If your organization provides process services, you may have mixed feelings about the development of process standards. Standards will lead to commoditization, more competitors, and lower prices for the services you offer. However, the move to process standards makes so much economic sense that it is probably inexorable — whether or not your company gets involved. It’s better to help shape a standard than to be put out of business by it.

BPMI and OMG merge BPM interests

A press release from BPMI and OMG announced recently that they’re merging their BPM standards activities:

The combined activities will continue BPMI’s and OMG’s ground-breaking work and focus on all aspects of Business Process Management, including:

  • Refinement and promotion of BPMI’s Business Process Modeling Notation (BPMN) as the basis for business modeling,
  • Delivery of BPMI’s Business Process Definition Metamodel (BPDM), Business language, vocabulary, and rules,
  • BIM (Business Information Management),
  • EAI (Enterprise Application Integration),
  • B2B (Business to Business collaboration),
  • Web Services Information and Processes,
  • Security Policy and Management, and
  • Refinement, promotion and education of the principles, approaches and tenets of Business Process Management within the broader business community.

OMG will continue its tradition of innovation by integrating and reusing complementary business integration and web services standards such as WS-BPEL from OASIS, WSDL and XML Schema from W3C.

BPM standards just became one degree less confusing.

Process Orchestration 101

Today’s Integration 101 webinar talked about why it’s important to integrate applications. Basically, if you don’t, then you probably have the following problems in your business processes:

  • No real-time visibility into the process
  • Long cycle time due to manual data gathering and other non-automated tasks

In other words, your customer drops their information into a black hole and nothing happens for a long time, so there is a higher risk that they take their business elsewhere. Not only is the process inefficient (and therefore costs you more to operate), but it results in lost revenue.

When you use BPM for your large scale processes where several internal and external applications are integrated, you’re moving into the area of process orchestration: the BPMS is invoking, controlling and tracking what goes on in all of the applications. Add in a business rules engine to automate decision-making in the process, and BAM to publish a real-time view of what’s going on, and not only are things more efficient due to fewer manual steps in the process, but your customer can see what’s going on at each step of the process.

Realistically, the only way to do this level of enterprise application integration such that it’s maintainable, flexible, extensible and reusable, is to use a service oriented architecture to expose the applications’ functionality as services to be called by the BPMS. Otherwise, you’ll be right back in a spaghetti mess with the same (or competing) business logic embedded in multiple applications.

Enabling the Agile Enterprise

An interesting post on Rambling Thoughts about enabling the agile enterprise, particularly the benefits:

Through improved, more accurate, and timely reporting mechanisms an agile enterprise will be able to perceive the potential impact of events quicker. Alternate strategies can be rapidly assessed as relevant data will be more easily accessed. Agile enterprises can then react by implementing the required operational processes and IT systems with equal speed and ease. This will allow the results to be realized sooner and with less reduction in enterprise performance.

However, I disagree with his statement that “In contrast to pure workflow tools, that simply model existing business processes, BPM tools provide an execution environment for these workflows.” We’ve been executing business processes for many years with “workflow” tools; maybe he’s thinking of business modelling tools? He exhibits a bit of confusion about the definitions of workflow, BPM and EAI, but then considering the state of the marketplace, that’s not unusual.

BPM and Business Rules

Still catching up on some webinars that I missed, here’s one from June 30th about BPM and Business Rule Management Systems (BRMS). It’s hosted by Peter Carter of ILOG, and although he’s not the most dynamic speaker that I have heard, there’s some interesting content on the slides for those of you who might be working through the relationship between BPM and business rules:

  • BPMS focus on how people and systems interact
  • BRMS focus on how decisions are made

His point is that BPM can get you to a certain point in process automation, that is, where the only human intervention is for decision-making; BRMS can take you further to automated decision-making so that the only human intervention is for exception-handling. Of course, you can embed rules within a process map in any of the BPMS that I’ve ever worked with, but the rules are typically not explicit and may have to be replicated at a number of points in the process map, depending on the capabilities of the BPMS: most of the systems are really not built for explicit rules management. And, although all the BPMS vendors claim that it’s easy to have a business analyst change the process map at any time, in reality I’ve never seen an organization that would allow that to happen without (justifiable) layers of technical review and testing to ensure that the new process logic doesn’t break something. As I mentioned in this post, you’re pretty unlikely to find someone within the business part of an organization that is sufficiently trained/experienced in systems thinking to be able to make what are essentially programming changes, even if they are using a pretty graphical interface.

Business rules typically interact with a BPMS at a specific point in process, usually to generate a value and/or determine the next action to take based on the current parameters (e.g., pricing, eligibility determination, scoring, case assignment, data validation). That makes it a lot easier, and a lot less dangerous, to allow a business analyst to modify business rules without an undue amount of IT involvement: since the process map is not changed, there is no danger of work becoming orphaned or misdirected through a business rule change as long as the process map was properly designed in the first place.

This is why all industrial-strength BPMS are either OEM’ing a business rules engine into their product these days, or integrating tightly with one: you can’t swing an analyst’s report these days without hitting some new BPMS/BRMS alliance. ILOG’s certainly a driving force here, with alliances with Siebel, FileNet, Oracle, IBM, BEA, Fuego and a host of other major players. There’s one major exception to this alliance trend: Pegasystems’ BPM Suite is natively built on a rules engine, which has given them a leg up on the process+rules craze.

Going back to Mr. Carter’s presentation for a moment, I also like the way that he defines business rules from both a business and IT perspective:

  • From the business perspective, business rules are “formal statements of business policy that define or constrain some aspect of the business”
  • From the IT perspective, business rules are “business logic to be implemented in one or more business applications”

Too often the definition is made from only one of these two perspectives and, like Mars and Venus, someone doesn’t fully understand what was said.

If you want your business rules integrated with your processes, you’re going to have to figure out how your BPM tool and rules engine will integrate, then pull your rules out of the paper procedure manuals, mainframe applications, spreadsheets and all the other places where they live, and get them into that BRMS. Easier said than done, but rest assured that rules engines are here to stay in the world of BPM.

Secrets of Success

I just received an email from a recently-graduated engineer in Germany, looking for advice on how to become a credible resource on BPM projects with only theoretical BPM knowledge and a lack of business knowledge — in other words, how to ramp up from being a newbie with a decent technical degree into an experienced BPM consultant. I didn’t want to send off some flippant answer about long years of hard work, so I spent some time thinking about a few of the key things that I did (and still do) to turn myself from a techie with an engineering degree into a BPM architect who spends as much time thinking about business as I do about technology.

My advice to him:

First, research constantly about BPM, particularly case studies. There are lots of great resources on the web, such as BPMG, that have articles on everything that you would want to know about BPM, including real live case studies. Attend a BPM conference or two, such as ones by BPMG or Gartner, listen to more experienced people talk about what they’ve done, and make some contacts that you might be able to call on when you need some free advice.

Second, do some technical research into a few major BPM products, so that you can become somewhat of an expert on how BPM products work even if you haven’t worked with them. Many BPM vendors are very happy to have you learn more about their products, and if your target customers typically use a specific product (such as FileNet or Tibco), then research the technology behind that product or even attend vendor training so that you can stay one step ahead of your first customer on the technical side.

Third, learn more about your customers’ business. For example, most of my customers are in financial services and insurance, and I have become an expert on the business processes in these organizations through research and observation, even though I have never worked for a financial company (I’ve always worked for — or owned and operated — software or service companies). Even if you don’t have a contract with a potential customer yet, offer to come in and do a brief walk-through and analysis of their operations. Sit down with some of the people while they are working and ask them what they are doing, and why they’re doing it: that’s the best way to learn about the details of a business process. Very often, an outsider can observe something in a business that someone in the company won’t see, so you may be able to tell them something about their business that they don’t know after just a brief walk-through, if you’re observant.

Lastly, focus on the business issues, not the technology. If you are consulting on BPM directly to an IT department rather than a business department, the project has a high probability of failure: remember that the “B” in BPM stands for “Business”, and you have to stay focussed on what value that you are bringing to the business in order to successfully implement BPM.

I finished up my email by telling him that there is no real substitute for experience, but it’s possible to educate yourself about BPM in a way that provides obvious value to prospective customers. Many people in the customer organizations (even in the IT department) don’t have formal systems training, so this is a good opportunity to put to use all those analysis and problem-solving skills that they taught us in engineering, just applied to business instead of technical problems.