Why does business analysis lower the cost of software development?
According to research conducted by Robert G. Cooper, for every 7 product ideas an average of 1.5 is launched in production and only one is successful. However, the business analysis process performed before the project launch is able to increase the chances of success. I will try to prove it below.
Phrases of the development process
According to the market standard the development process should consist of the following stages:
As you can see, there is no explicit place for detailed business analysis at any of these stages. So why should we think about it as part of a software development process? Before we get into that, let’s explain the concept of business analysis.
What is Business Analysis?
Defining a business analysis is not an easy task as it is carried out at every stage throughout the software development process. Using the IIBA (International Institute of Business Analysis) definition, business analysis is a practice that allows introducing changes in the organizational context by defining business needs and describing solutions that bring value to stakeholders. However, in order not to use such an extensive definition, it can be assumed that business analysts function as a link between the client and the development team to collect and describe the business requirements tailored to the client’s idea and business goals.
The key phrase in this definition is “to collect [..] business requirements”. The business analysis in software development projects doesn’t come with things like recommendations or suggestions. All stakeholder requirements will always reflect the target audience’s needs. The business analyst task is to understand the idea for the software product before proceeding to collecting business requirements and confirming the coverage of the business needs from which the idea was created.
Business analyst role — example #1
Let’s assume that the idea is to build a walking path from point A to point B. Without the business analysis techniques used in the process of product development it would look like this:
- Describing the idea
- Defining the path (e.g. cobblestones with curbs, map location, etc.)
- Creating the path’s prototype (can it withstand the load of pedestrians, bikes, vehicles, etc.)
- Setting a strategy for development (plan of work, press release, etc.)
- Putting it into use for residents
The process involving business analysis could look similar, but the work performed during each stage might be completely different by taking one additional step right at the start:
‘Is building a sidewalk a business requirement or a need?”
This question is crucial because when we consider a path as one of the functional requirements, we lose the broader view of the basic need. Let’s assume that during the workshop we work out a basic business need of users which is to move from point A to point B. Of course, the path has one option that allows you to meet the need, but it is not the only solution. The solution is also a bicycle path, a moving pavement (if the path is under a roof) or stairs leading to another road and reducing the travel time. Thinking more abstractly, you can even consider renting scooters, bicycles or running a new tram line.
Let’s consider a pessimistic solution where no business analysis was performed and a sidewalk was created. The first tests of the residents occur to be negative due to the fact that the distance is long and they would prefer scooter rentals. As a result, we have to redefine the entire product and start the process which in the case of the business analytical phase would avoid the initial problem.
Focusing on business needs, not the requirements, allows us not to center upon one solution, but to establish more options from which we can choose the one that suits the needs of end users best.
Business analysis in software development — example #2
An example of the value of business analysis in software development is also quite vivid in one of the cases that happened to a large sports betting company. Due to the change in their users behavior, the business owner decided to invest in a mobile software development project, which at the same time meant an additional need for regular audits and data analysis to properly manage the risk. Unfortunately, undefined threats caused by new processes resulted in unnecessary backlog changes, which then translated into the need for additional time to deliver the app. When the exceeded time became too big of a threat, the decision makers decided to hire a business analyst. An IT business analyst was able to quickly understand the business model of the online betting environment and design audit processes with many different stakeholders, thus preventing unnecessary changes to the approved plan. Additionally, one of the BA’s responsibilities was establishing roles with assigned tasks to avoid communication gaps between the project team members involved in the business operations.
The result of engaging an IT business analyst to the software project team
- Defined audit management processes across the organization
- Improved audit reporting across the organization
- Reduction of the time needed to deliver corrective audit elements
- Reduction of organizational risk
- Increased capacity for the sustainable development of the organization
The use of business analysis in the process of introducing changes or new solutions enable avoiding not only wasting project’s finances, but also time. In addition, you avoid tarnishing your business PR after the launch of a software product which doesn’t meet expectations and business objectives. Most of all, however, it will allow you to avoid situations like the one with scooters described above or as presented on the picture below: