Impact of Business Understanding and Requirements on Software Quality

One of the main reasons behind errors encountered during the software development process is the lack of complete understanding of business concepts and requirements. In this article, we will examine this crucial topic more closely by analyzing two different case studies: a bank and an airline company.

Bank Case Study

Company: A large bank
System: The bank’s credit provision system for customers
Error: A customer's loan application was rejected inconsistently with their income at the time of application.

Incident:

A customer applied for a loan at the bank. During the application process, they provided a document showing their income. The bank’s system intended to review this document and approve the customer's loan.

However, the system made an error while calculating the customer’s income. It calculated the income as significantly lower than the amount stated in the document. As a result, the system decided to reject the customer's loan.

Root Cause:

The error stemmed from a lack of understanding of the business requirements. The bank had not fully understood the requirements for calculating the income of customers applying for loans.

The bank did not consider that the income of customers applying for loans could come from multiple sources. For example, a customer's income could be derived from their salary, rental income, interest income, or other sources.

Since the bank did not account for these different income sources, it miscalculated the customer’s total income.

Solution:

To fix this error, the bank addressed the shortcomings in business understanding. The bank conducted interviews with customers and reviewed the existing system to better understand the requirements for calculating the income of customers applying for loans.

As a result of these reviews, the bank developed a new system that considers income from multiple sources when calculating the income of customers applying for loans.

Since the new system could more accurately calculate the customer’s income, it helped prevent such errors.

Evaluation:

This case study illustrates how a lack of business understanding can lead to software errors. The bank made this error because it did not fully understand the requirements for calculating the income of customers applying for loans.

In this case, the error is a real-life example. The bank conducted extensive work to address the shortcomings in business understanding to fix this error.

This case study highlights the importance of business understanding in the software development process. If software developers begin development without fully understanding business requirements, avoiding such errors is impossible.

Lack of business understanding is one of the most common root causes of software errors. Software developers must conduct interviews with customers, review existing systems, and document requirements to fully understand business requirements.


Airline Company Case Study

Company: A large airline company
System: The airline company's flight ticket reservation system
Error: A customer selected the wrong flight time while making a flight ticket reservation.

Incident:

The customer wanted to make a flight ticket reservation through the airline company's website. During the reservation, they selected 10:00 as the flight time.

However, the system misunderstood the flight time chosen by the customer. The system thought the customer had selected 20:00 as the flight time.

Therefore, the system made the reservation for a flight departing at 20:00.

Root Cause:

The error stemmed from a lack of understanding of the business requirements. The airline company had not fully understood the requirements regarding how customers might make mistakes when selecting flight times during flight ticket reservations.

The airline company did not consider the possibility that customers might misunderstand the flight time format. For example, customers could confuse whether the time was in a 12-hour format or a 24-hour format.

Since the airline company did not consider this possibility, it misunderstood the customer’s selected flight time.

Solution:

To fix this error, the airline company addressed the shortcomings in business understanding. The airline company conducted interviews with customers and reviewed the existing system to better understand how customers might make mistakes when selecting flight times during flight ticket reservations.

As a result of these reviews, the airline company developed a new system that considers whether the selected flight time is in a 12-hour or 24-hour format during flight ticket reservations.

Since the new system allowed customers to select flight times more accurately, it helped prevent such errors.

Evaluation:

This case study illustrates how a lack of business understanding can lead to software errors. The airline company made this error because it did not fully understand the requirements regarding how customers might make mistakes when selecting flight times during flight ticket reservations.

In this case, the error is a real-life example. The airline company conducted extensive work to address the shortcomings in business understanding to fix this error.

This case study highlights the importance of business understanding in the software development process. If software developers begin development without fully understanding business requirements, avoiding such errors is impossible.

Lack of business understanding is one of the most common root causes of software errors. Software developers must conduct interviews with customers, review existing systems, and document requirements to fully understand business requirements.

In this case study, the lack of business understanding was as follows:

  • The airline company did not consider the possibility that customers might misunderstand the flight time when selecting it.
  • The airline company did not develop a system that considers whether the selected flight time is in a 12-hour or 24-hour format during flight ticket reservations.

To address these shortcomings, the airline company took the following steps:

  • They conducted interviews with customers to understand the requirements regarding how customers might make mistakes when selecting flight times.
  • They reviewed the existing system to identify shortcomings regarding how customers might make mistakes when selecting flight times.
  • They developed a new system that considers whether the selected flight time is in a 12-hour or 24-hour format during flight ticket reservations.

Conclusion: The Importance of Business Understanding and Requirements

In this article, we examined how critical business understanding and requirements are as a root cause of software errors. The case studies of the bank and the airline company demonstrated that shortcomings in business understanding can lead to significant errors in the software development process.

In the bank case study, the failure to understand the requirements for accurately calculating customer income led to inconsistencies and customer dissatisfaction during loan applications. However, the bank addressed the shortcomings in business understanding, developed a new system, and successfully prevented these errors.

In the airline company case study, ignoring the possibility of customers misunderstanding flight times led to incorrect reservations and customer complaints. The airline company addressed these shortcomings and developed a new system that allowed customers to select flight times more accurately.

In conclusion, accurately documenting and understanding business understanding and requirements in the software development process is extremely important. This helps prevent software errors and increases customer satisfaction. Software developers must maintain communication with customers, review existing systems, and fully document requirements to fully understand business requirements. Shortcomings in business understanding are one of the most common root causes encountered in the software development process, and taking careful steps in this regard can increase the success of software projects.

Author: Fatih M. HARMANCI