Explore the underlying business need

On so many projects, I have seen software developers thrown into meetings with the business SMEs with the task of understanding the “requirements”.

On some occasions I have been delighted to see developers with the ability and techniques that truly enable them to think in terms of business needs. Mostly, however, I have witnessed techies simply documenting the problem they are presented with and instead of trying to understand that problem, they focus on coming up with a solution (often using only convergent thinking to come up with a single solution). The underlying causes of this are a general ignorance among managers and technical people of what skills are involved in business analysis, and a failure to give those skills to people who have to perform BA tasks. It takes more than a  familiarity with MS Word and Visio and the ability to speak in whole sentences. This is why so many software projects fail to satisfy their customer entirely, because the people providing the solutions never really understand what the customer needed in the first place.

Sometimes the customers themselves don’t even understand what they need! They only know what they want (hence the emphasis in this business on “requirements”). If you don’t see the difference, then you do not understand business analysis.

Software development requires a different mindset to business analysis. It is a mindset that explores solutions to identified problems or needs. It is a prescriptive mindset. It is a mindset that identifies the solution as a hammer when it perceives the problem to be a nail. It does not ask whether the nail is actually the real problem. After all, the customer might have described the problem as a nail, when it is in fact a screw.

The analysis mindset is investigative and descriptive. It explores the business need, seeking to understand its true nature and how it affects the business. This mindset challenges what the customer says. Is it really a nail? What type of nail is it? What material is it made of? What size is it? What material does it have to be driven into? How does the business benefit from having this nail driven into that material?

Note that I have used the impersonal terms “software development” and “business analysis”, rather than “software developers” and “business analysts”. This is because both mindsets can exist in a single software developer and both can exist in an individual business analyst. They rarely do, in my experience. However, if I were to build my ideal three-person software development team, it would consist of:

  • a strong BA who is also a competent developer and tester
  • a strong developer who is also a competent BA and tester
  • a strong tester who is also a competent BA and developer

Full systems lifecycle development experience is invaluable to any team member on a software development project.

Projects which take an agile approach to software development ameliorate this problem. However, the problem is not eliminated unless agility is support by two other factors:

  1. Business analysts have already explored and modelled the underlying business needs (i.e., the business architecture is mature).
  2. Software developers have been trained in the mindset and techniques of business analysis.

Takeaways:

  • Make sure the people who analyse the business have been trained in the mindset and techniques of business analysis.
  • Don’t simply document business requirements, understand and challenge the underlying business needs.

Kind regards,

Declan Chellar

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>