Long live ADAPTIVE

15 02 2011

Today I read Max J. Pucher’s blog post “ACM is Dead! Long live ADAPTIVE!” and I really wasn’t surprised…Many are surprised though, as it sees one of ACMs strongest supporters leaving the camp, in a…well rather public fashion. But should we be surprised?

For a long time Max has spoken of ADAPTIVE capabilities and goals that reach beyond silo approaches, so why have these defined in an a three letter acronym that essentially means only a fraction of what he conveys…After all ACM is Adaptive Case Management, and that doesn’t make me think of:  

“a globally encompassing technology approach that is linked to business architecture and strategy” – Taken from Max’s post.

So why is ADAPTIVE the key term

Well read the article for yourself to hear from Max. But for me, adaptive capabilities are at their heart, about returning power to end users and putting them at the centre of how business operates, empowerment is the term and is really the only route to great business efficiency and customer services.

So with this in mind adaptive capabilities stretch far beyond Case Management, BPM and whatever else you want to throw into the mix. Business is not about IT based silos, or IT platforms or applications…Business is about getting things done, and therefore requires a holistic approach to platforms, architectures, solutions and applications. But let’s be more specific, this holistic approach needs to be highly adaptive too, in order to empower the business users…I think the term ADAPTIVE conveys this thinking far more than ACM, so horray, ACM is dead, long live ADAPTIVE…

Adaptive Working Environment (@WE)

This is a concept that we thought up at workFile almost 6 years ago now (though then workFile was a fledgling product of One Degree). Sure it has grown and changed a little, but in essence the concept was, and is, a single adaptive platform for business needs, that brings together typical silos such as CRM, ECM and BPM.

In realising this concept, the “adaptive capabilities” have often been the issue, especially for BPM. The adaptive requirements have seen us move from a typical BPM implementation to one that leverages “intelligent” business process maps that are built by developers, along to a far more flexible approach now, with APG (Adaptive Process Guidance). It has also seen us move away from a silo module approach to a single solution platform with a single user interface…

So what workFile terms as @WE (Adaptive Working Environment), I believe Max is driving at with ADAPTIVE (though Maxs products are out there to purchase and workFile Vision 2.0 is only at an alpha state). If anything, ADAPTIVE could be far wider reaching than @WE. ADAPTIVE thinking has the potential to change the way all platforms and applications are structured and delivered, in essence, how business users work with IT solutions (if we remember not to pin it to a particular silo, methodology or platform)…Now I wonder if that is what Max is conveying, or if I am reading too much into the whole ADAPTIVE thinking?

If you want to know more on workFile @WE concept then have a quick read at http://www.workfilesuite.com/what-is-@WE.aspx





Convergence of BPM and Case Management

7 12 2010

In the past weeks I have talked and tweeted quite a bit about bringing together silos to deliver better solutions and experiences to business. The big silos I have spoken about are ECM, CRM and BPM. However, some people have pointed out that I haven’t spoken about Case Management (our technical director is one of them), and he / they are quite correct. So why haven’t I?

Well it’s quite simple, number one, I simply forgot (takes a brave man to admit that doesn’t it) and number two, though I always state Case Management isn’t BPM, the two really should be seen as one from the business perspective…Which means my silos being brought together, should be ECM, CRM, BPM and Case Mgmt. Phew…

In the past I have banged on about Case Management not being BPM, and have had a good moan about those vendors and consultants that push case management as if it was / is. However, in my vision of the future (especially that of workFile), I believe business should see BPM and Case Management as the same thing…Oh, and if you’re not sure, case management is not just for law firms, rather case is just a term for a process / work that has to be done…

Case Management isn’t the same as BPM

Case Management isn’t the same as BPM, well not the same when you look at case management and BPM vendor solutions. BPM is far more structured, follows process maps (more often than not) and is used for clearly defined processes. Case Management is used for more ad-hoc and “loose” processes within an business. So they aren’t the same…

If you look at BPM as a practice, you will also find it doenst fit with Case Managemetn theory. Rather BPM as a practice is all about mapping and understanding flows of work, putting together processes etc etc. Case Management is more about just identifying work, and lumping it together in a case…

Case management and BPM are the same

Ok, here we go…Forgot vendors, forget lengthy definitions by technical or marketing people trying to sell you something. Case Management and BPM are the same thing. BPM is, Business Process Management. It’s all about managing business processes in a structured, more controlled fashion. So what is case management? Well it’s all about managing business processes in a structured fashion…So you see, they are the same thing, its just our “practices” and software interpretations that make them very very different.

Bringing BPM and Case Management together

There are many good points for both as individual silos. For example, BPMS works great for simplish, highly repetitive, medium-high volume business processes. It can raise efficiency and streamline work. However, thats only for a handful or processes within an orgasnisation, hardly enterprise wide is it (don’t let anyone tell you it is). So for those processes that are still high value, but not so simple or repetitive we have an issue…

On the other hand, case management has no real flow of work, no steps or structure for each step along the process, so it isn’t great for areas where BPM can excel. But, Case Management is great for ad-hoc type processes, or exception processing, which is exactly where we see many case management implementations (sometimes even tied to BPM implementations).

But what of those processes that are complex, highly collaborative, require an adaptive approach, still require some form of structure. These types of processes can be found right across the enterprise…Well that the big problem isn’t it…What do you use…

My vision is for a single silo approach (ECM, CRM, BPM and Case Management). If you take the best from BPM, and the best from Case Management, and ditch the areas that are restrictive (strict case and work definitions, BPM structured flowchart maps) then you are well on the way to a solution for the enterprise…

Case and BPM Evolution

Our own product, workFile, is to incorporate the good points of our BPM platform, and to remove the rigid restrictive areas (namely the flowchart map). In addition, build on the flexible components of Case Management, while removing the rigid definitions of a case and work that makes up a case.

Here you can see that our BPM is moving towards Case Management, and Case Management is moving towards BPM, it’s almost like evolution of the two bring them together as one, quite naturally. Though I aim to speed this evolution up at least within our own company, I don’t fancy waiting millions of years for this to happen. Even in IT evolution can take its time, simply because we have x number of vendors sticking to their definitions and solutions, x number of consultants doing the same and x number of businesses not understanding the benefits of something new…

With workFile Vision we aim to implement this evolution though. However, we will throw into the mix real adaptive capabilities. And by that I mean adaptive processing and process definitions, allowing agents to update the process, allowing agents to define and update the type of work that is done within processes and allowing agents to discover and create new ones. The only way of truly being this adaptive and flexible, is to bring Case Management and BPM together, and throw away anything rigid. Its almost a case of unlearning what we come to expect from BPM and Case Management solutions, vendors and consultants…

Finally, lets take things further and ensure our solution understands CCS (content, context, status) of all its components at any moment in time. To really ensure that, you need a single silo to incorporate your content (ECM), to incorporate your customer relationships (CRM) and your working processes (BPM and Case Management).

The benefit here is a solution that can be used for every process within an organisation, right across the enterprise. It’s a solution that gives staff some form of empowerment and say in how work is done. It’s a solution that provides structure, ensures process efficiency and ensure compliancy and accountability, all while delivering flexibility and agility to an organisation…

Conclusion

BPM is Case Management, and Case Management is BPM…Well it should be with a little evolution…With a little more evolution, you end up with a single silo for ECM, CRM, BPM and Case Management, and its not that hard to see why…





Why BPM, ECM and CRM struggle with Social Media

26 11 2010

There are a number of reasons why individual projects struggle with social media, hell there are many reasons why organisations continue to get social media “wrong”, but in this post I want to look at why these three “silos” fail to get to grips with social media….

Very much individual silos

Now this may at first not seem to be a bad thing. But when you think more on the subject you start to see issues. There are big areas of cross over amongst these three, massive even, yet they still are considered individual (and they should be for the time being, because almost all vendors see these as single silos).

Social Media though is very flexible, and the end user (customer) expects to be able to interact with the organisation via Social Media (especially Twitter and Facebook), and what’s more they expect whoever communicates with them to understand their “account”, or “details”. But this form of interaction within Business at the moment still wants to be highly structured. The comment may be viewed as content, but the process that may be kicked off by that interaction is very much in the BPM world of things. So immediately you have twigged that all three, ECM, CRM and BPM are required to deal with a single interaction…

So the first big problem here is that ideally, each “silo” (BPM, ECM, CRM) should know and understand what I term as CCS, and in this case of the other silo as well as itself.  CCS being “Content, Context, Status”. As individual silos though, this is hard to actually do. Sure we can put together some costly integration, but this integration is at certain points and offers certain information, so does this type of integration understand CCS?

Too structured too rigid…

Let’s now through into the equation that all three, ECM, CRM and BPM are very rigid. ECM requires that you know the type of content and often that you state its “type”. However, social media means we could be talking about anything, so a tweet could go over any number of “types” within our ECM platform, or it may warrant a new type, a new classification. This is where we have an issue, ECM is too rigid to adapt to the new requirement, that our agent has discovered there and then. This leads to a hell of a lot of content being dropped into rather large, and not that useful classifications, probably “Social Media” as its type…Great use…But this is nothing compared to the issue we now find with BPM…

BPM enforces strict processes on our agents, they follow (almost all vendors do this) a flow chart approach and as such, means we cannot move away from that process. How frustrating is that for an end user? Knowing that something different needs to be done, but having to allow the social interaction to trigger off a very strict process flow which could be completely wrong…

Finally CRM. Our CRM silo is often at this stage completely unaware of anything at all. If it is integrated it may have a “tab” for “Corres” which means a big old list of correspondence with the customer that is documented. That’s fine for 10 years ago. But now imagine the number of “corres” records stored that may make up a rather simple interaction between the customer and your business. You could have any number from 1 or 2, up to hundreds, and that’s just on a single topic being raised via social media….

The solution?

Here I have a couple of pointers for a far better solution….

A Holistic approach. As a business, demand a holistic approach, not just for social media requirements (though it serves as a great example of illustrating the problem), but in general. With a holistic approach, the solution delivers far more accurate information to the agent. It empowers them with all the information they need. Think of all the customer information they may need to have to hand to understand the customer, all the related content, the context and of course the status of the interaction. Now think of the variety of work this form of interaction could generate. What the problem could be? Is it a problem or a serious complaint? If a complaint, what areas of the business does it relate too? (The potential for work is huge, which leads me onto my second pointer…

Adaptive work processes. Note I haven’t said BPM here. BPM I feel is far too restrictive (based on the version of BPM put forward by most vendors and BPMS as a practice). However, we are talking about processes that the business executes. In this situation the agent needs to understand what process to kick off. However, it could be a brand new one. In this case that agent needs to be able to identify that processes, the work that needs to be done and then, kick it off.

Single Silo for ECM, BPM and CRM. As a business, a great opportunity arises to use vendors that provide a single silo for ECM, BPM and CRM. Not only does a single silo provide a far better solution to deal with Social Media, but it provides a far better solution full stop. A single silo will understand CCS at all times, be you in a process, simply looking at content or reviewing customer details. A single silo also simplifies the agents experience, while delivering flexibility to them to allow them to do their jobs. There are of course other big benefits, think of savings on licensing, think of savings on administration and think of savings made on integration costs / development / that classic which so many vendors term as config (which is development).

Conclusion…

Social Media has shown a real weakness in the way we currently structure a business in terms of delivered IT. We use IT now very much on a “product” basis. Business purchases a product for x, a product for y and if x and y need to talk, look at integration. However, a bespoke solution would have been better, one that incorporated x and y…But bespoke just isn’t something business wants to hear (probably because they cost more and because businesses have been burnt with bespoke development in the past)

…The solution is for “products” to deliver more and merge x and y itself. A break away from single silo approaches is required, and ECM, BPM and CRM are very obvious silos that should all be as one, the social media problem illustrates a bigger issue…





workFile Vision. A change in direction

12 11 2010

Today’s post is very much centred on Business Process Management (BPM), Enterprise Content Management (ECM), Customer Relationship Management (CRM)…

 Some of you may keep an eye on the news from my company, One Degree Consulting. If you have, you will know that our workFile ECM & BPM side of the business (platform) will be going through a transition phase in the coming weeks and months. We have effectively torn up our existing road map for version 2.0 of the workFile Vision product, and put together a new one. This new one with some big, well massive, changes to how we see the future of IT in business, the future for business solutions, the future for SMEs access to solutions and consequently to the Vision solution itself…

In the coming weeks, workFile and One Degree will publish more information on the changes, and the effects these will have on the Vision suite, and how these big changes will provide benefits to business.

In this post though, I want to give a quick outline to what some of these changes in thinking are, what the changes are in the Vision product, and what the drivers are that led to this drastic new thinking…

Single Silo…That singular degree of separation

workFile is, if you didn’t know, an ECM and BPM platform. However, it also allows records management and with that, the ability for CRM to an extent. Other business focused modules are built on top of the records management capabilities. However, all of these are very separate modules and silos, only aware of small fragments of data that can be shared between the two, effectively linking that content and making it of bigger use to an end user…

So what’s the big idea? Well the big change is to move away from a multiple silo approach, and to bring these different elements closely together, effectively delivering a single silo solution for ECM, BPM, CRM, Records Management, and dynamic content processing and capture. The CRM module will be a thing of the past, and a dedicated customer focused section of workFile built (not on top of Records management functionality not seen as a separate module).

In essence, ECM, BPM, CRM etc will become modules of the past, superseded by a new way of looking at how we work as individuals, teams and as an organisation, and also how your organisation communicates and engages with its customers…All of these elements seen as one…

So how do we achieve this with the new version of workFile Vision?

Through state awareness, user empowerment and adaption. The concept here is to ensure true state awareness between the user, the customer, the content and the process. BY process, I don’t mean a rigid path, which work must follow, rather a process guide, which is highly adaptive to the content needs, the needs of the customer and the needs of the user.

In addition, the singular UI and underlying capabilities of workFile – to allow real team working on items of work, makes life a lot easier for the agent to collaborate and process their work. This may not sound like anything that new, but it supports newer ways of working. We have a vision that people will work more as teams on individual pieces of work, effectively pulling together on items of work, not in a collaborative fashion but in a real sense of working together. This is a big move away from BPM and Case Management as it is today, with the concept that we work as individuals and move work along at the centre of work / process thinking.

Max J Pucher has a great article on the future of work, in which he talks of users “swarming” to do work. In it he also states that by 2015, 40% or more of an organisations work will be non-routine, which is currently at 25%.  Take the time to read his blog, it is very informative… Have a read of his article, http://isismjpucher.wordpress.com/2010/11/12/the-future-of-work/ )

More than a single silo…

A single silo that supports content, customers, additional records and the process information is the best approach. In addition, interconnectivity and multiple feeds of data will mean not only will users need greater perceptive skills, but their software needs to be able to deliver this to them in an easy to identify and work fashion.

workFile though provides real flexibility in terms of content, status and structured data. This allows the flexibility to teams to create new structured data records on the “fly” and in essence joining them directly to their work (which could be content based, customer based etc.) This may all sound complex, but essentially it is quite simple…Its how we would naturally work without the rigidity of structured processing…(BPM).

Distribution…

Though we are moving to a single silo, this doesn’t mean a centralised solution. On the contrary, we believe that departmental distribution is key to freedom and success. So workFile will support a greater level of distributed processing, with departments being able to create their own content guides, their own process guides, rules etc. But, this doesn’t mean we are allowing duplication. Commonality between departments will be identified and illustrated, and wherever applicable (and suitable) shared between them.

It’s a team approach

Working in “swarms” sounds quite fun, but in essence it means tightly knit teams, working together quickly and efficiently. Traditional BPM presumes we work on pieces of work as individuals, then move it along to the next person. Sure occasionally we will allow “branches” in the processing, or splitting of items of work, but it doesn’t support multiple people working on the same piece of work at the same time. So, with this in mind, Vision 2.0 will support a more team approach to working, and will ditch the rigidity of its traditional BPM platform, which was used for defining how users work.

Social Media

While social media is taking off, organisations either see this as some wonderful marketing tool or as something they need to get control of. However, social activities and social media sites, conversations etc are becoming increasingly part of a team’s working day. These conversations and interactions aren’t carried out at a set time, they aren’t structured in their content and don’t form strong ties between you as an organisation and your customers. In addition, they are often disjointed, with an organisation not being able to tie social media engagement with a customer, to a customer record for example.

So the trick is to ensure interactions can be processed by the right people, that the right people provide good information, and that Social Media is seen as a form of engagement and conversation, not just free marketing. In addition, the content generated from these interactions allow a flexible way of working, after all, the customer may send requests that don’t follow a strict pattern, and as such, the user must be able to facilitate these requests flexibly. This content should also be recorded and brought into the solution, so that other team members have all the information they need to help….

workFile will become a lot more social, interacting with typical social media websites, and allowing users the freedom to interact in an expected fashion.

Flexibility, adaption and yet accountable

Organisations and management want to have full control, however, if they do, things become too rigid, too centralised and ultimately inflexible. So, the solution is to trust our workers, to empower them and let them do their jobs. Sure we need to ensure quality, service level agreements etc. but this can be done through guidelines and empowering users. Accountability will always still be there, with solutions recording all interactions and use. But the point is, the user has the power to process the work how they wish (to an extent obviously, certain rules have to be in place for compliance).

The big winners of Vision 2.0

So who is workFile Vision to be aimed at? Well the big winners at first will be SMEs, simply because workFile is used mainly by organisations that fall into the SME category (with the odd exception). The new version will be able to drive the cost of IT and these types of solutions down for SMEs…

However, larger organisations can easily benefit from this new way of thinking and working. If anything, while SMEs will see benefits due to a smaller investment, larger organisations will not only share in this benefit, but will also see dramatic increases in productivity and efficiency. All of this with the reduction in administration and licensing costs…..See, we didn’t call it Vision for nothing.

Finally, a change in name…

Finally, the workFile ECM & BPM platform name will be no more. Though Vision is the product suite, both the terms ECM and BPM will be replaced from the workFile company name. Why? Simply because workFile will offer a lot more, and it deserves a new description of what it delivers…The marketing people can think of something I am sure….





HTML 5, Flash, Silverlight, The Cloud…The future is here?

8 11 2010

I.T. seems to be at one of those cross-roads in terms of how people use software, where they use it, and how and where they choose to store their data.

There has been a lot in the press regarding HTML 5 and I have posted some thoughts on this in the past. There has been equally as much speculation as to the future of technologies such as Flash and Silveright and whether they are now redundant technologies as HTML 5 moves closer. In addition to these, rather large discussions, we are also talking about moving content and software away from traditional servers and PCs, and handing control over to the “Cloud” and “SkyDrives” etc…

So this post is looking at indicators of where we may all end up based on feedback I have received from businesses, the general public, phone professionals and my own thoughts…

HTML 5

This is the easiest one to start with really. HTML 5 will be here, at some point. Many say a lot sooner than I personally believe and many (as there always are) saying this will change everything (which it won’t at all). What HTML 5 will do, is simply to replace the need for browser plug-in to enrich a users web experience to an extent. For example, we will no longer typically use Flash or Silverlight to just stream video, give our website some pretty animations etc etc. Some will argue that’s a good thing, and if you are a purist (in terms of open environments, using only HTML to deliver content) then yes it is. For Video and animations, yes it is a good thing…

However, there are big problems with the whole architecture and the way HTML and the web in general works. The problem here is the web browser. When the web was conceived, the browser was simply an application that displayed some content, it wasn’t to be used as an environment in which processing can occur. But, we are here, and the browser is used to run “script” and to initiate communication between the client and the webserver…HTML sets out standards, but, with everything, with multiple choices (in terms of browesers here) you get different results. No matter what standards are in place, web browsers handle, and will handle the same HTML and even script differently to each other. This is a horrendous state of affairs, meaning that the same website has “allowances” for multiple browsers. This isn’t good…From an end users point of view, “who cares”, but from a development, maintenance and cost point of view, this is not acceptable really. Even if the browsers did handle it all the same (or got very close), testing would still need to be made on each browser platform, and for every time a new browser is released / updated. But this is where we will still be with HTML 5, don’t listen to any marketing hype or to any so called “experts” on this….This is simply the facts….HTML 5 will not change the web for us at all…

Silverlight and Flash

HTML 5 will have a big impact on Flash I believe, after all sites that utilise flash do so to enrich the website. HTML 5 will do this, and unfortunately for Flash, developers will adopt this and leverage it before they look at Flash. So where can Flash go? Well there are still many things Flash can offer that HTML 5 won’t be able to, or at least won’t be able to offer consistently across all browsers. Because of this I see Flash filling small gaps that HTML 5 leaves (the same applies to Silverlight). I do think though Flash will see a massive reduction its use on the web, but will maintain its use for presentations, short movies, and games.

Silverlight is a little different. I have never really seen Silverlight as a pure web technology, and those out there who keep comparing it to Flash or HTML 5 obviously know nothing about Silverlight. Sure Silverlight can give you animation online, deliver RIAs, stream movies etc (all that Flash and HTML 5 can do), but Silverlight has a lot more to offer. The architecture behind Silverlight I feel is spot on. It mixes both the worlds of Desktop and Web seamlessly, effectively delivering desktop applications (with all their power) via the internet for installation, communication and maintenance. This is very different to HTML 5. Because of this, developers will use Silverlight for business applications, for RIAs that need to do more (integrate, carry out complex functions etc) and all without the reliance on the browser or server doing processing jobs. This reduces testing and ensures a single code base (and that’s how it should be). In addition, you get frequent updates, and full support from Microsoft, which again are good things for real developers…

There has been some confusion as of late (mainly in the media and Microsoft haters) as to the value of Silverlight to Microsoft and the fact that it is also used on the new Windows Mobile & platform. Let’s get this clear, Microsoft will concentrate more now on HTML 5 as HTML 5 is a big online technology, and it needs to keep up with others. So this is no surprise. However, Silverlight is and will remain a core development platform for the web, RIAs, Out of browser applications and experiences (which it does now). Sure the Silverlight team will also now work more on its Mobile use and adoption, and that’s because they need too. So all we are talking about is prioritisation of the progression of Silverlight. This is clear from reading up on Silverlight, looking at Microsofts future plans and listening to what is said rather than reading between lines when a press release comes from Microsoft…Silverlight will become increasingly more important to Microsoft in the future, as more developers realise that they can use a single platform to code for the web, the desktop and mobile devices…

Cloud computing, SaaS and SkyDrives

I mention SkyDrives here as that is what Microsoft terms your cloud computing storage space with Windows Live and on your windows mobile 7 phone.

I think in the past couple of weeks, I have had more feedback than ever before on the cloud and its use, from both businesses and the general public.

So let’s look at businesses. Businesses cannot move everything over to the cloud, it’s as simple as that. There are savings to be made via the cloud for business, but it has to ensure that it can move those applications and content to the cloud. That it doesn’t already have a cheaper alternative, that it can trust the cloud providers security measures etc 100% and that there is a way to port to other providers in the future. All in all, business is still wary of this and why shouldn’t they be. I see businesses embracing the cloud and SaaS for smaller elements of their operation, ones that do not require so much compliance and that are not that critical to the organisation. This is not a bad thing, rather it is a good thing, the cloud here allowing IT to provide better solutions to the business at lower costs. I don’t believe the increased popularity of the cloud will translate to vast amounts of an organisations data or services being moved to the cloud. Rather the cloud becoming another IT implementation option.

So what of individuals. Well only last week I posted that individuals may well be the big winners of cloud computing. But even here, individuals are more sceptical of cloud based services. It seems that keeping some photos online, music and videos is fine. But when it comes to more personal documentation, you cannot beat a good hard drive or storage device at home. Because of this, I don’t see the masses adopting cloud computing and sky drives….Google may want us all to use the Cloud for software and storage, but the simple fact is, we like control over everything. If our data and content is only in the cloud, then we feel vulnerable, not just to theft, hackers or work colleagues finding things out etc, but also to cloud providers themselves. Let’s face it; Google has an appalling record on data protection and our privacy.

So what is the right usage for individuals? Well Microsoft though I feel has pitched it correctly. Providing 25Gb of space in a sky drive to windows live users (perhaps a little too small really). This is enough space for most people, sure it could be larger to allow us to synch a lot more content, especially music and videos. But it’s a good start. I also love the fact that my Windows Mobile 7 phone provides options to just take a picture and have it stored in my skydrive and not on the device. But, I still have enough space on the device to cart around with me a certain level of music, pictures etc etc. (No doubt this amount of storage will grow). So it’s a nice blend, one I personally am comfortable with, and one most people I speak too are comfortable with…

Conclusion, if any?

It seems in IT, too many marketing companies, experts etc provide to much hype. Everything is also “brilliant” or “rubbish and a fail”. It’s either 100% the way of the future or 0%…There is never any middle ground, and it is the middle ground which actually is where we are heading, in terms of our web usage, devices, online services and storage…And there is nothing wrong with that at all…





Those BPM professionals in the Grey area. Business or IT?

5 11 2010

I have been partaking in a discussion on LinkedIn, which asked the question, “Why majority of BPM projects fail?” Now the answer is simple. If you don’t have support for the BPM project from all levels of management, and you don’t have a champion pushing it to succeed within the business, then the projects has a real hard time to succeed. And this is because it’s all about changing the way people work, people almost always have to be forced to accept change…

Anyway, one of the issues thrown up in the discussion thread, is the confusion many have between who are IT people and who are Business people. Many comments talk about IT, but really they are talking about Business….So why the confusion, isn’t the difference obvious?

The middle man…

Ok, so you are starting an IT project, let’s say it is a BPM solution. The vendor employees turn up on site and start to look at your current business processes, the way you currently work and they try to understand your business. Now, they are working for essentially an IT company, and they are working on an IT project, with the aim of delivering an IT solution to a business need…But are they IT?

Many people see these people as in IT. Most themselves would say “yeap, I work in IT”. But the reality is they fall into the grey area. Essentially they are BA’s working on an IT project. I see them  as Business people. They don’t need to know a thing about IT, technologies, concepts, solution architecture etc etc. But they do need to understand business rules, the nature of the business and how the people work within that business. So they are business people, right?

But these same people also design new business processes, that’s ok right? But it goes further; they also model the new processes, showing exception handling, essentially building the rules into the IT solution. They also put forward their own thoughts on how things, and where they should, integrate with other systems. You see the grey area appearing? Essentially they are using administration tools within the IT solution to build the IT solution to meet the business needs. This really shouldn’t be happening. I know many designer tools are out there to allow this, and they see the BA role as a business one. But the presumption here is that the BA is all knowing, in terms of the business (which is wrong, many times they can’t and won’t discover all the processes and sub processes) but also that they are all knowing in terms of the IT, understanding IT architecture, integration issues, exception processing etc. So our BA is not really in IT, but is presumed to know everything about it. I can safely say I can count on one hand the people I have met who can do this role…

So based on this model, the IT geeks (as they seem to be called – which is a little harsh), get to work and build some integration in, build some robot apps etc, all depends on what has been modelled and how flexible your BPM platform is I guess. Oh, they are also the ones who seem to get the blame if something is missing in a process, little harsh…

That grey area

So these BA’s are not IT, they don’t need to know anything about IT to do their job. Yet they do need to understand and learn business, and how an organisation does its business. So they are in Business….But that grey area arises, because they then jump into the IT side of things to help build the solution, they essentially get the IT ball rolling, often on their own…

What’s the issue?

The issue is that a vital step gets missed out. And that is essentially where the real IT bods get to look at the business needs. Where the business needs are communicated directly to IT. Really IT should be involved before new processes are mapped out. They can foresee any technical problems, they can look at other ways of working that could be even more efficient and have a big impact on the future processes. It is this stage that gets missed, simply because the IT project relies on the BA to know everything….And that’s because, people from the organisation see these BA’s as IT. And IT sees them as the business…

The designer makes things worse

The designer is one of the big culprits here in BPM solutions. Because it is “Business focused” or business facing supposedly, BA’s build the maps and model the solutions. If that tool was not available, then they would need to communicate with IT. This then enforces that missing step…

This isn’t my only issue with the designer. I have posted a few times about how restrictive it is and how it can have a negative impact on the efficiency of the solution…





Are Stored Procedures Good or Bad? And when to use them?

8 03 2010

There are a hell of a lot of articles / posts on “Stored Procedures are bad” or “Stored Procedures are good” all of which are written from one aspect or point of view. They never really offer much in terms of when or when not to use them for a developer (or someone at Uni or even for an application / system architect re-thinking things).  You can almost always tell the area of IT in which these people specialise in (or have their most experience) just based on their views on this subject….So what is the big problem? Why the discussion…..

Well, people like to have “golden rules” or “answers”. In this case, there isn’t a particular view that is right, nor wrong, rather only the correct view for a particular organisations requirement. Don’t leave the decision in a data architects hands, nor an application developers (both bring different skills and views to the table). So when embarking on a new project, or a database overhaul, you really need to bring together a number of key personell to ensure you use your database – and stored procedures wisely….There is no golden rule of “Stored procedures are evil” or “Stored Procedures are great”….

Understanding the real pro’s and con’s

Before you can really determine when best to use a stored procedure, you have to think about what are the benefits of using them and the negatives. Ofcourse – this is where troubles arise – some people have arguments that are valid – other ones not so valid. So lets break these down….

Pro’s

Well first off, lets think about learning this rather than going based on “what we have learnt in the past”. So, we can all agree that modularisation and de-coupling is a good thing. So de-coupling our data from our applications can only be a good thing. Great. Now how do we extract that data in the most modular fashion and having minimal reliance on anything else. The answer, a Stored Procedure. The stored procedure provides data architects (and other database roles) with the ability to maintain the database as a seperate entity (as much as can be possible). This provides great flexibility along with other benefits.

Now some will argue this could be done in a DAL (Data Access Layer), which is true, however this means that we have in effect “coupled” our database to another external layer. Now who will maintain this DAL? How accessible and easy is it to update especially if a number of LOBs are dependent on it? In addition, a DAL will be written in what language? Languages change far more frequent than our actual data – many companies will have data that is a hell of a lot older (maybe 40-50 years older) than reletively new languages. To illustrate my point, if you used a DAL written in COM+, how easy would it be for an organisation to find someone to write a web page that utilises this COM+ DAL layer in todays market place? Not great. However, can I find someone who can code that web page and have it interact with a stored procedure – oh, yes I can very easily…

Another pro – is that you can “tune” your stored procedure without really having an effect on calling applications. No code needs to be re-compiled, deployment made etc etc. All that is required is a competent data architect or administrator. This ability to “tune” is because the database doesnt have the overhead of being linked to a particular layer (or GUI if bound).

Performance is sometimes mentioned here, especially as stored procedures are compiled in some cases. Now, in recent years dynamic SQL performance has caught up – however, lets look at the bigger picture of performance. I have worked on a number of projects where a DAL layer was used, and yes, it executed the query almost at the same speed as our SP (most occasions the SP was still faster), however, for more and more complex queries and business rules, the DAL layer became slower. Why? Basically because it used data in-efficiently – bringing some data back, passing it to a business layer to implement rules before making another call to the DB. In such a case – this “technically” is the better solution – with business logic sitting outside the database, however, for performance, placing it inside the database provided far greater performance….

Finally, who actually writes the stored procedures? Often it is someone with extensive experience in this area, someone who can write the SP quite quickly and accurately. Ask yourself who will write it in a business application or DAL? More often than not the junior developer , (that could be a little harsh) or people who dont have as much experience of SQL as they could have – or experienced people who just dont have that much extensive knowledge of the data model / its architecture….In all of these cases – this can lead to poor performance queries and ultimately poor application performance….

So the supposed con’s

Many feel that you have a “vendor lock-in” which on the web – everyone hates (it seems on the web most people want the earth from their software for free and for it to be maintained by the most ethical people in the world who do it to help developers etc and not for a penny..hmmmm). In addition, how often does a company actually migrate to a different database, not often. In addition – if you write your stored procedures (sticking as closely as you can to more standard SQL) then migration may not be such a big issue. To be honest, if you migrate data – if you have a DAL or application that tie to a particular database, good luck re-coding and testing your dynamic SQL there…

Algorithm tuning is also sometimes seen as a negative, stating that millions of people (developers) tune SQL and only a handful can do that for stored procedures. This is really misguided. Developers who write SQL (even in their millions) will not bring to the table anyting more in terms of tuning than a handful of good database architects…

Security…Oh well, this is a classic issue. Many think because it runs in compiled code it is more secure. True to an extent. But how many people (developers) has access to this? In addition, database security is not as bad as it once was, with complex user/role security in place you can really lock down a database and it will only be accessed (admin rights etc) by far fewer people – with less knowing the full database schema. This last point, is probably a negative one – especially if your organisation looses a few good DB men…but its key in such cases to ensure you get proper handovers completed (be responsible as an organisation).

A big, and valid negative, is that you have far greater “power” with dynamic SQL and in a proper language. You can perform greater calculations, applie business rules etc etc. SQL is a little, well restrictive. But thats a good thing – see the next section…

Stored procedures can be highly restrictive – especially when you have a very dynamic database schema. By this I mean one which may well update itself or an application updates it due to business requirements. These are more common than you might think – though by no means are they the norm. In such cases, stored procedures and SQL are far too rigid and lacking in functionality. In such cases you really will need your own DAL…

So when to use a stored procedure and when not to…

As you may have guessed, I am more in favour of the Stored Procedure than not. However, there are those occasions when they just arent a great idea…Its identifiy when to use them, how to use them, and when not to use them for your applications that is key to wheather they are good, or bad for you…

So when / how to use them:

  • Use them for basic and moderate complex typical functions (insert, delete, update etc)
  • Keep your SPs as standard as possible and not over complex
  • Dont be scared to have stored procedures that do contain “business logic” (do not get this confused with application logic – they are different)
  • Use SPs, triggers etc to enforce data integrity (your data will last longer than your applications and their chosen language)

When not to use them:

  • When your DB schema is more “dynamic” and therefore requires a more powerful language with features to understand how to use it (insert, delete, update)
  • When your application requires a lot of application logic from the extracted data
  • When you need to utilise a greater / more unique security model on the data (though in this case you may well use a mixture of dynamic SQL and stored procedures to get the job done)

With all of this in mind, to answer are Stored Procedures good or bad? They are great – when you use them correctly…..They are poor when your schema is too dynamic or complex and they are evil when you use them incorrectly….








Follow

Get every new post delivered to your Inbox.

Join 864 other followers