When I wrote about requirement gathering
versus solving business problems last week, I did not anticipate the kind of
comments I would get. The agreements and flurry of lateral thoughts gave me
enough impetus to continue the chain and focus on some of the views. Almost
everyone agrees that we need to solve real business problems; the challenge is
the definition of the business problem and changing the mind-set of our
customers to stop thinking about technology and really tell us about what they
want.
We talk about IT folks not speaking plain
English or Spanish or whatever is the lingua franca, business tries to talk IT
lingo and confuses the blazes out of the Business Analysts. Every industry has
its slang and acronyms that add to the confusion (domain experts know this, but
keep quiet). Between the domain expertise and the attempt to straddle the gap,
the real problem gets lost in the chasm or some finer nuances remain uncovered.
This then leads to what we classically refer to as out of scope functionality
or scope creep.
The word creep somehow makes my hair stand
up, that is the way of creepy guys or gals. Scope creep however indicates that
no one articulated the problem or thought that it was unimportant or irrelevant
to the discussion or just simply forgot to talk about. There are also instances
of assumptions where the giver assumes that the taker has the knowledge by
virtue of it being public domain or so obvious that it does not merit being
explicitly being specified.
Translated to a document which the
developer (read coder) in some faraway place sitting in a cubicle totally
disconnected from the discussion is now writing the software that will be put
up to the business. S/he does not have domain expertise and depends on the
document to decipher what should be. We all have faced the end results that
have missing pieces and functionality since it was not captured. Even when the
development is undertaken internally these gaps exist albeit to a lesser
extent.
So now the IT team gets beaten up and the
Business Analyst bashed up for not translating adequately the business problem.
Then the dance starts on what was said, how it was interpreted, and why does
not IT make efforts to understand business. Escalations get nasty with the CIO
having to face the music. While I generalize the problem, I have not come
across too many instances of stupidity or wilful exclusion of documented
features or functionality.
The skill of the Business Analyst to ask
the right questions and probe are critical to the definition of the problem and
thus the document that becomes the Holy document on which the system will be
based. Leave out anything and you have a system that does not meet requirements
thereby giving rise to “change requests”, the bad word for any developer,
business user, IT team, CIO, CFO and whosoever is a stakeholder in the success
of the solution.
Is there a way out ? I believe that the CIO
needs to play an important role in setting expectations upfront and defining
the rules of engagement. S/he should educate the business teams on the
criticality of the discussion and the necessity of clearly spelling out every
aspect of the business and process irrespective of how stupid it looks or its obvious
nature. A system is as good as the people who define it; trainees and junior
staff with shallow expertise will provide only that, an incomplete system.
Creepy no ?
Part 3 was added later
Absolutely! Missing or inadequate scope clarity usually leads to scope expansion ( I prefer this word to scope creep :-D)later.
ReplyDeleteAnand