BPM mapping tools – integrating data?

30 11 2009

As I was shifting through my usual amount of mails this morning, I spotted a google alert regarding an article titled “BPM must integrate people, documents”. Now I thought that’s a tad obvious, and promptly went to read the article thinking I had missed something….And basically I hadn’t…

A good point was raised though, that most BPM software targets business analysts and project managers. There are usually options to utilise SDKs but these are often a low priority as the main selling point is almost always “out of the box” demonstrations aimed at business analysts. However, am I the only one that sees a flaw in this?

BPM design tools. Are they flawed?

Now putting together demonstrations and targeting analysts are all good things to a degree, however in the world of BPM I still maintain that too much is done to show a great demo, allow analysts to “model” processes and not enough is done to provide real integration and back end flexibility. What do I mean by this? Well, systems integration in the “real world” often require a lot more work than simply setting up some connectors with common integration points. Often you need to call functions from other systems, pull in data from more than just a single source, carry out some complex processing, update multiple systems etc all within a single step. Can you really do all this from a fancy modelling tool….My guess is no.

Modelling tools give power to the business

This is so very true. Business can make tweaks to their processes and make them happen immediately, which is great. Many BPM solutions almost live and die by their modelling tools / facilities and spend vast amounts of time, effort and money in making these better and more flexibile. There are so many benefits which many other articles will and have talked about. But again, in my experience, many larger systems aren’t just “out of the box”, nor are many smaller systems. They have applications written in .NET for example, that use the process map for guidelines and routing business rules. The application itself then contains its own “business layer” (if written well) which contains certain inbuilt business rules – typically regarding calculations and integration with other LOBs.

I have worked on numerous BPM projects that work in this way, providing lots of applications for different steps within the process map, using the process map for merely setting statuses and routing information. The application itself holds all the business logic and integration code. Even on the more complex solutions, an application was delivered in place of any out of the box front end components. Business rules were built into the application to interpret the process map, which in theory did give back more power to the process map, regarding statuses, routing, cooling off periods etc.

In this case you can see that the modelling tool gives power to the business on when and where to route work for example. Even such things as options the user can select, cooling down processes, awaiting other tasks etc. However, the real integration and bringing people / data together, happens in the business application, written by developers specifically for that client requirement.

But what happens if the business analyst wants to make a change to the process that involves carrying out additional calculations at a particular step or pulling in more content / data from other platforms. He can make the changes as he sees fit in the map, but what about the actual rules etc? More often than not a “change request” is raised and someone in the development team has to make a modification to the code of the application, which then obviously needs to be tested in a model office environment before being released. So even though the business feels like it has ownership of the process map, it doesn’t really have great ownership over how the map actually works as a process for the business. In this scenario the actual time taken to make the change is quite lengthy. Let’s break it down:

  1. Business identifies the need for change
  2. Business analyst is involved and investigates the options
  3. Business analyst provides a new solution
  4. Business analyst updates / creates a new business process map
  5. Change request is made and passed on to the software developer
  6. Business analyst updates the process map
  7. Software developer makes the required changes
  8. Process map is then tested (UNIT test)
  9. Software is then tested against the new map (UNIT test)
  10. Software is then sent back to a testing environment
  11. Testing environment tests the new map and all the related applications / scenarios
  12. New process map and application is released to the live environment

As you can see that’s quite a list of things that must happen.

What’s the answer?

It’s simple. Let’s let people do the jobs they are supposed to do, and let’s let software provide us with what it is designed to do, nothing more and nothing less.

So with this in mind. imagine a business analyst who models the business process. He / she put together a complete map with users, groups, security, calculations identified, function calls to other LOBs etc. They then model this in Visio for example with some accompanying documentation.

Once this is all complete, let’s move this over to the actual BPM software, which should allow all these things to be included into the “map”, even execution of complex code, calculations and integration etc. Please note, the BPM engine shouldn’t be confused with the BPM front end at this stage. The user will never see the “engine” as such. So our BPM specialist (which is more than likely at this level to be a developer), makes the changes to the BPM map, codes the required calculations and integrations and completes the map. This is then “tested” before being published. Please note, no application code has changed, there is no need to test the applications etc, rather just the map itself.

The last part of our solution is our front end. This should be written to only present data to the user and allow them to interact with that data, people or other systems depending on the BPM map (which holds all the rules / calculations etc). Because map changes are made in the map and are completely separate from other deliverable code, namely our actual application / front end, the whole process of making a change to the process map and having it made live is far shorter, less likely to fail, far more flexible and in the end, much cheaper.

Let’s review:

  1. Business identifies the need for change
  2. Business analyst is involved and investigates the options
  3. Business analyst provides a new solution
  4. Software developer updates / provides a new map
  5. Process map is then tested (UNIT)
  6. Process map is sent to testing environment
  7. Process map is made live

We could even add in: 8. Full testing of the process map and application; and we are still 4 points shorter in our list of things to do. In addition, each point in this second implementation is not as time consuming as those in the previous list…

The downside

Because this type of BPM system / solution doesn’t display a great map for business analysts with lots of feature rich BA tools, it doesn’t really quickly and easily demonstrate BPM. A system like this won’t allow a BA to make a change to the process map and have it published immediately. All of this means that this kind of system, though in many ways far superior, may be viewed in a demonstration as a simpler tool with fewer capabilities.

Conclusion

When choosing your BPM platform, really focus on your actual requirements. Have more than just a rough idea of your processes and desired outcomes. If you have an in-house IT department, make sure you bring along a senior member of that team to any demonstrations / meetings.

Remember, a demonstration is not the same as a solution and don’t fall for the statement, “we have an SDK you can use to integrate”. This almost always means you need to build those more “complex rules and calculations” into your own application / step processor, not in the process itself.

BPM mapping tools are great; they deliver a powerful and rich environment that is fantastic for demonstrations. But make sure the BPM map itself has the capabilities and flexibility to meet your requirements without the need for you to build essentially what should be process rules into your own step processor / front end application…

Even with BPM there is still a process that you must follow to get your BPM system to work for your needs…





Silverlight on your iPhone even…

27 11 2009

Ever since I first started to use Silverlight, back at version 1.0 and the managed code alpha 1.1, one of the big appeals was the multi-platform support. For me, multi-platform support in this day and age needs to include more than just a Windows machine or an Apple Mac, it needs to include all flavours of operating systems, including those used by phones. One of the big problems, even for the so called “media rich” iPhone, is that video streaming from websites that use Flash video players, just simply doesn’t work….

Streaming video – no flash…

Recently I got married, and as part of our video package our videographer put together a highlights video. This is great fun, and obviously we wanted to share it with a number of our friends and relatives. Our videographer uploaded the video to a popular video sharing website (not YouTube) and we shared this via Facebook etc. However, a number of friends tried to access it straight away from their iPhones, alas they couldn’t view it because the player used was written in Flash.

Now the iPhone has been quite strict about allowing flash to be supported. A number of reasons exist for this, namely that Flash often slows down the website loading time, or can cause all sorts of problems (crashing etc). However, it seems that Apple maybe supporting Silverlight very soon.

In a report for Betanews.com, Scott Fulton stated that he watched an impressive demonstration of an iPhone streaming video, using Microsoft’s Silverlight technology.

iPhone streaming with Silverlight

Silverlight-powered streaming video on an iPhone – image from Betanews.com

It seems Microsoft have been working with Apple to make this possible, basically getting to a point where Apple is happy having media streamed with Silverlight onto their phone.

So why Silverlight and not Flash

Ahh well, though Adobe claims 99.7% of web browsers are capable of displaying Flash content, Flash is widely criticised for being an antiquated, less than optimal platform. Silverlight content is based on its own flavour of XML (XAML) and without getting all geeky, means Silverlight is a more modern technology that is more powerful, more flexible, more compliant and less likely to crash than Flash. As a developer, Silverlight provides a greater wealth of possibilities and because it is built on .NET (the engine), it means it can be leveraged for more than just multi-media content, it can be used for powerful applications – yes, even mission critical business applications….

Here is a post I wrote on why we choose to use the Silverlight technology; you may find it quite useful. https://andrewonedegree.wordpress.com/2009/04/03/why-we-choose-silverlight/





Integration is Key (ECM / BPM / Social media)

11 11 2009

For many years I have waved the banner for single application experiences for end users. If you can deliver a single application that allows the end user to carry out all their work, gain access to all the files they require, interact with many other LOB applications (without knowing it), just think what a positive impact that would have on any organisation. Think how better informed that user will be, how much improved their decision making will be, how much customer services will be improved along with customer satisfaction, and also, think how much of a gain that organisation will make in efficiency, productivity and ultimately profitability…

Integration has long been the key to this ideal, and ECM and BPM often show how this can work, integrating with key LOB applications.

Problems…

The problem is that people want everything to integrate without putting any effort in. This means that organisations spend a lot of money in getting applications to integrate with other companies applications and software. While this can be great for the customer (if you have the same selection of applications and software) it isn’t always practicle. Throw into the mix different operating systems, different versions of software and the daddy of all, different business requirements from that integration….All of a sudden you see how muddy the water can get and just how complicated system integrations can be, and why that single application experience is so hard to achieve…

Progress

With the bright invention of XML has come a whole host of ways of integrating applications. It has provided the bridge between old COM and COBRA components, interopability between application components, and most importantly, delivered us XML Web Services and Service Orientated Architectures (SOA).

I love XML Web Services and the capabilities these alone can open up to organisations. If applications deliver good APIs through web services, then integration is made so much easier, be it integration “out of the box” with connectors, or more efficiently through actual developers and professional services.

Is Social Media leading the way here?

Yes…There you go, a nice short answer. Basically Social Media is leveraging web services (especially RESTful services) to allow integration between web sites / applications. Take the recent joining of forces of LinkedIn with Twitter. LinkedIn can now pull in your “tweets” and have these shown as status updates within your LinkedIn profile. Now think back to a business environment and you can see how using one application therefore effects data / content on another application / area of the business. This type of seamless integration is what adds real efficiency gains across an enterprise.

One Degree of Separation

When I founded One Degree Consulting, one of my main aims for the consultancy was to be able to provide consultancy services and solutions that delivered a single degree of separation between the end user, the data / content, and the functions they required to do their job. This may sound a little idealistic, but it can be achieved and should be the goal of business decision makers in all organisations. To be blunt, to achieve this, application integration is key and should be at the forefront of any decision making when it comes to IT based projects and solutions.

If Social Media sites hadn’t have seen how powerful joining forces could be and had maintained a closed API that couldn’t easily be integrated, then the whole point of Social media and sharing may well have been lost….Businesses, take a leaf out of their book, think integration for everything…Its key….





ECM barely being used?

10 11 2009

Today’s post has been inspired by some web reading I have been doing earlier this morning. Open Text, (one of the largest ECM players) have made claims that ECM is still only in 20% of the available market, and that tools just aren’t being used by corporations. From my experience, this is probably true, and of the 20% that do have ECM, I would say 10% of these, just don’t use their ECM capabilities correctly if at all.

Is this a worrying fact for ECM?

Well probably not. ECM in some form or name (Document Management, Image Management, EDMS etc) has been around now since the 80’s, however, it is still an immature sector, and still seen as a very niche market place. Often customers of mine state ECM hampered by far too much jargon and far too much emphasis on out of the box connectors across the complete enterprise. This “enterprise” view, can often scare organisations away from looking at the benefits ECM can bring to each department for example.

Back to basics

Organisations and more importantly their users, sometimes don’t get how to use ECM correctly, and it’s not surprising. Many of the users, and business decision makers, will think nothing is wrong with saving files down onto their local machine (or network share), and organising these folders in a logical way. In addition, users when on their home PC won’t really be using anything that resembles ECM, though there are plenty of reasons why perhaps they should…

This is where education of what ECM can provide is really needed. The whole profile of ECM within the corporate world, and small business world, needs to be raised. Because of this lack of understanding or profile if you like, it is often hard to communicate to businesses just what a positive effect ECM would have for the overall running of their organisation. Of course over time, more and more businesses will grasp the many benefits and real world savings ECM brings to businesses, but hopefully this will not be so far down the line that the market place has only a few massive players left.

The large players provide really powerful solutions, and very powerful demonstrations, backed up with great consultancy work and number crunching to illustrate ROI and future efficiency gains and savings. However, sometimes you can take a good thing too far. Often the case for ECM should be a basic one, leveraged at a departmental level, as opposed to the complete Enterprise. By addressing an organisations needs, department by department, you vendors ensure real business requirements are met immediately and that they are not lost in the mass of other requirements when looking at an enterprise as a whole. It’s also worth  noting that organisations purchasing ECM will not be so worried about implementation complications etc. when only looking at an individual department, things are simpler.

Going forward

As vendors, let’s keep things simple, let’s try to raise the profile of ECM and its benefits, let’s try to remove some of the jargon behind ECM and let’s sometimes step back from the concept of a solution for the whole Enterprise. If we do these things, business decision makers will find it easier to grasp the many benefits of ECM and when this happens, ECM will be being used in many many more organisations. Correctly I hope…





The Lab hits 3 months…

3 11 2009

The more regular readers of my blog posts will note that my little puppy isgetting a little older, well he just turned 3 months. I have to admit that he is becoming quite the handful; he loves to chew on anything and everything, including candles and the cat’s toys. Only yesterday I noted the remains of a cat’s toy being passed out of him in the back garden….lovely….

He will be off to puppy training hopefully this week. I am really hopeful that if he only learns one thing, that it is the meaning of the word NO! If he can grasp what this means, then I think we will be on track…

I am being a little harsh, as he has “sit”, “paw” and “other paw” mastered. He also knows to sit on the floor mat every time he comes into the house after his walk. Oh, and I must not forget that the little fella knows to cry and make some noise when he is in need of some toilet relief, ensuring he does this outside…..

All in all, things are going well….So far….I will keep you up dated.