“It Was More Complex Than We Thought”: Why Business Analysis Is Essential
I’m at lunch with a consulting friend, telling her about an engagement I’m working on to procure new voting equipment for a county client. “I was surprised how complex it is to prepare for and conduct an election,” I say. “Literally hundreds of different ballot designs for different precincts, in multiple languages, and with support for people with visual or physical impairments.”
She nods, knowingly—not about elections (she hasn’t worked in that space), but about this discovery that we repeatedly make about new knowledge domains.
Last year, she and I worked together reviewing a project to automate college placement testing for math and English, and in that situation too, it was far more complex than we initially thought. We went in thinking, it’s a test; how hard can this be? It turned out that psychometric validation of the statistical results was extremely complex and required input from some very specialized statisticians and testing experts. You have to demonstrate and defend that a test is valid if the results require that Johnny take remedial math, otherwise it can seem like you are requiring he take (and pay for) unnecessary classes.
The year before, I consulted with a transit district on their systems and processes for defining and staffing bus routes. I’ve ridden a bus, I thought; how complicated can this be? It turns out optimizing a bus schedule to minimize driver downtime and overtime and maximize equipment utilization is a classic, very hard problem to solve. The experts do it with queueing theory and Monte Carlo simulation. I had to read several dense books just to understand the subtleties of the problem and learn the jargon.
At some point we should stop being surprised. Many things look simple from a distance because we only see the outputs and interfaces (we vote, or take a test, or get a bus schedule). It can be easy for the ignorant—and that’s most of us—to assume, based on the observable bits, that a problem is simple. This is rarely true.
The special cases, the corner cases, the behavior in the face of error, bad data, power failure, users with special needs, regulations, union rules—all these factors combine to make many human endeavors more complex than they might seem to those unfamiliar with the knowledge domain.
This is why the role of business analyst is so important. Getting inside a new knowledge domain and teasing out the special cases and unhappy paths is a crucial skill. It absolutely can be learned and taught—though some people have more of a natural inclination than others—but it is a vital role on every project team.
That’s why business analysis is a specialty that’s essential to any project exploring a new knowledge domain. Bringing in that expertise before we make an assessment about the complexity of a problem not only is a good idea, but will save us embarrassment in the end.
This is so true, and unfortunately, many modern app developers look only for outputs and interfaces and do not look at the underlying domain knowledge. These are the people who recommend fast, iterative methods of development without a worry about any relevant considerations that need be taken care of. Nice article.