I had lunch today with a former colleague. She was, when she worked for LLP Group, one of the best business IT consultants in the world, at least in the world I knew and know, which wasn’t small then, and isn’t small now.
She was, and is, meticulous, imaginative, extremely clever, pragmatic, and determined. She knows what can be done and how to get people to do it. When she worked for me, and on some projects with me, she travelled to Asia, to the Middle East, to Latin America and elsewhere, and learned about cultural sensitivity too. Of course, she wasn’t perfect, but I’ve long since forgotten the imperfections.
In the end, she was too good for us, and we were too small for her, and she left us to work for a large bank in the Czech Republic. There she manages enormous development and implementation projects.
Not my former colleague, I can assure you….but equally rare and precious.
From time to time we meet for lunch to catch up on family things, world affairs and, because they still interest us both, professional matters too. Amongst other things we talked about how hard it still is to find those rare and precious creatures in our profession who are really good at designing good business software systems.
The problem is in bridging the gap between those who have the business ideas and the business vision, and those who understand the precise world of IT systems and know how hard it is to go from idea to system. The job of the systems analyst lies between these two worlds, but finding good people who understand both sides of the chasm is really hard and I see no sign that it’s got any easier in the last twenty years.
A good analyst must grasp the essentials of what the ‘business’ wants, and what a system must be like to be usable by people who are not IT nerds. Such people are most easily found in the ranks of business tacticians or those who work in business operations.
A good analyst must grasp the essentials of what IT systems can do, how rigorously the rules must be defined, how information can be stored and transmitted from one place to another, and how difficult it is to program software. Such people are most easily found in the ranks of IT specialists.
Rarely can you find someone who isn’t very much more one type of good analyst than the other.
To mitigate this problem practitioners have adopted more flexible methods of development and design, such as the ‘agile’ method, whereby ‘users’ and ‘developers’ are more frequently brought together so that what one side thinks it’s understood, and what the other side thinks it’s asked for, are more frequently compared. The old ‘cascade’ method of finding out what’s wanted, building it in a remote laboratory and then bringing it back, finished, just doesn’t work. Probably even less successfully nowadays because business systems have become ever more complicated, and must be ever more easily usable by ordinary people.
But although ‘agile’ methods are better, they don’t eliminate waste. With iterative design and development procedures you move ten steps forward and then three steps back, so there are plenty of costly steps that you wish you hadn’t taken. A good analyst will save you perhaps two of these wasted steps.
I don’t see a better solution than finding the best possible people for the job, and neither does my former colleague. Method only gets you so far.
So where can we find business analysts who understand how to design good business systems? The skill can’t be taught. You can’t itemise it on a CV. Some recruits can’t even learn these skills from experience. It seems to me that it’s a matter of talent, of art. You might as well try to identify a good pianist from some words on a page.
Such people are rare and precious creatures. Hold on to them tightly..