A Two-Way Requirements Verification Process during Design Phase
Software bugs and defects, the primary reason for delay of many projects, can be caused by many factors. Some of the factors include misunderstanding of requirements, incorrect analysis of functional design and mismanaged scope creep. These conditions can happen even with the adoption of a proven methodology.
Several methodologies such as Rational Unified Process (RUP), Extreme Programming (XP) or any agile development do their best to mitigate the risk at each phase of the development but still the problem does not go away completely. In fact, if poorly implemented, these methodologies even will contribute to the failure of a project.
Any Project Methodology is typically a one way process, though sometimes iterative, moves from one phase to the next when project's stake holders, at each phase of the project, sign off on required deliverables.
This article will demonstrate a simple technique, "A Two- Way Requirements verification process", which reinforces the most critical connection point of any methodology: the transition between functional design or requirement sign off and the beginning of the technical design by the technical team. It is also a concept, which enhances the communication between business users and technical team.
Any agile methodology expects the organization to employ the right resources that are trained in the specific areas such as business analysis. Yet, many projects suffer from too many defects in the Q&A stage due to coding errors or misunderstood requirements, which often result in more work. The latter sometimes can even kill the project as this process can be caught in a vicious loop. One of the primary reasons for such failures is often due to lack of proper communication between the two most important groups of resources of any project; business users who would use the software product for their day-to-day business processes and the development resources who produce such product. The tips suggested in this article will help architects, business analysts or other senior resources, who act as the bridge between these two groups, to improve and enrich the process at each phase.
Figure 1, shown below, depicts a typical process with deliverables at each phase of the methodology and the required resources to produce the artifacts. The improved process is depicted shaded in green. This example is demonstrated using the Rational Unified Process (RUP). Any agile methodology or home-grown SDLC can utilize the concept demonstrated here.
Development Phases and Processes:
Click here for larger image