The importance of getting the software requirement right has made big difference to so many major projects in the IT industry. Many techniques and solutions have been developed for understanding and getting software requirements right first time in the software development life cycle, but fewer people are taking these techniques into account and this is the reason why most of the IT projects are failing. I define here how to get software requirements right and why it has become some important to get software requirements right.
Requirements Analysis is known as the process which allows us to understand the customer needs and expectation from proposed software. It is the first and one of the main stages in the Software Development Life Cycle model. Software requirements are functional and non-functional requirements of the system, which includes a brief description of how a system should behave as well as brief descriptions of a system’s functions. Software requirements can state what an application is expected to do. Outsource2India pointed out that “the software requirement analysis process includes the complex task of eliciting and documenting the requirements of all the users, modelling and analysing the requirements and documenting them as a basis for system design”.
There are different level and types of software requirement, which should be defined to get software requirements right. As shown in Figure 1, Business level requirements are there to define the business problem, business opportunities as well as what business is requesting as a solution of the problem. A user level requirement looks at the functionality of the software from user’s view. Product level requirements are where we define functional and non-functional requirements of the system such as the functionalities of the software and the usability needs it should meet.
The reason why Software Requirements is known to be very important and major role in developing a project is because it gives the developer a brief description of what he/she needs to develop. It gives them better understanding of a system, which results in better system. Eliciting, analysing and writing good requirements is the hardest and most difficult part of building a software system because if you don’t get the requirements right, it doesn’t matter how well you do anything else. It is said Outsource2India that “Software companies are now investing time and resources into effective and streamlined Software Requirements Analysis Processes as a prerequisite to successful projects that align with the client’s business goals and meet the project’s requirement specifications”. If the requirements of software are incomplete, software practitioners will end up building software that does not meet the needs of the customer and the user.
State of the Art
As mentioned earlier, requirement analysis is one of the most important phases in the entire software development life cycle. It is very important to identify and understand the software requirement before moving on to other phases of software development life cycle. It was said by Pooja.R.Gupta that “When project managers plan for the software development they need to plan for adequate time and resource allocation for this phase”.
Experienced requirement analyst like Hooks and Ferry has said that result of getting requirement right, early in the project, can save one-third or more of the overall project budget, which again states how important it is to get software requirements right in order to save time, money as well as achieve goals of the software. Another experienced requirement analyst Leffingwell points out that if you get your software requirements right at the beginning then it can save you the cost of fixing requirements errors as the cost of fixing requirements account for 70% to 80% of your rework costs.
Getting requirements right is the...