Here is the background. I was managing a project where we implemented some complex functionality that includes multiple steps. This was not a process they needed to do every day – at best they had to go through this 2 or 3 times a month. During blueprinting, we realized that using guided procedures could reduce the effort for users to learn the new system. We prototyped it, and the users loved it. Every one was happy – I was happy because I originally thought of the idea, My developers were happy because they got to play with new technology, and the users were REALLY happy because a complex solution was made simple, and the manager of the group took us out to lunch to celebrate. So we implemented it, tested it thoroughly, and went live. I am told that every time I walked across a user who had the GP screen on his machine – I had a smug look 🙂
As time progressed, the business for my client picked up – and this business process we implemented with guided steps had to be used more frequently. Users became real masters of the mechanics and could do it in their sleep. Also, instead of 3 users using it – now we had close to 10 users doing this several times a month.
And then started the trouble. The guy who took us out to lunch originally, called me to his cube and told me that he is seeing a productivity loss in his team because they have to go through multiple steps to finish a process that they are experts at. He wanted me to explore the possibility of creating something like a “GL Fast Entry screen”. Customer is king in my business – so I asked for some time, and pulled in my technical team and some key users for some brain storming.
What we found from the users was that there were two kinds of requirements – The guys who used it from the beginning thought this process was too slow for them, where as the newer users wanted to stick with the existing solution. Since we could not reach an agreement – we pulled in the manager of this group. His position was simple. He said that in his view – we will need two UIs. One for experts, and one for new users. He didn’t want to hear about IT maintenance costs for 2 sets of UIs. On top of that, he wanted a third option to upload data from a spreadsheet. He had the budget to do the development, and pay for extra maintenance effort. So he won the argument hands own. So now we had 3 UI options for one process – and all our users were happy. At least for the moment.
This raises a question in my mind. Was this an optimal solution? I don’t have a black and white answer yet . What is the purpose of any business solution ? To solve the problem at hand in the most efficient way possible. But efficient for who? In this situation – the 3 UI option was very efficient for users, and inefficient for IT. We used an SOA approach – so IT solution was not terribly inefficient, but still we had 3 variants of the same process to maintain.
There is also a long term question – invariably the solution will need to change with time. And we will have to change 3 variants, and retrain users. Assuming the ROI continues to be high, we can argue that this is completely ok to do. If this is an isolated case of just one business process – it is probably ok. But if users of other business processes find that there is an option to have multiple UIs for a given process, then I bet they will have a reason to ask for that too.
With SOA, BPM etc – we can probably implement such changes quickly. I don’t doubt that – but all of that still needs IT involvement in developing and maintenance. And this is costly over time, and not always readily apparent or quantifiable when decisions need to be made.
So I have two questions –
One, a tactical question : Once a user masters a process, it is apparent that guided procedures hinder productivity. So should all (or most) applications that use GP have an expert mode UI also – and let the user switch between the modes according to their needs?
And two, a bit more strategic one : Just as we let some end users create adhoc queries in BW and ABAP, do we need a paradigm where they can alter the UI as they need? Of course a lot of personalization options exists already where you can move around stuff within a screen, hide/unhide fields and put default values. But a user cannot really alter the screen flow itself easily without IT support. Maybe this means BPM should be made simple enough to make a BPX out of a common user?