Requirement gathering using Visualization

Challenge

Being a part of the software development team, understanding the requirements from the customer plays  a major role in kick starting the project. A lot of brainstorming is involved with both internal and external  stakeholders to arrive at the specific set of requirements. And in many cases, through verbal  communication and documentation these requirements are not clearly conveyed to the development  team. There were occasions in which certain requirements were left out and sometimes misinterpreted.  This in turn results in rework and, loss of time and resources.

Selection

An effective tool to handle this problem is Visualization. Presenting the requirements in a visual and  creative way, gave the customers an insight to how his final product would look like and helped the project  team to understand how to effectively plan the product development and keep up with the project  schedule.

Application

Whether it was building a tool from scratch or any product enhancement, the key was to make sure all  the needs of the customer were met. After meeting with the customers, their inputs collected are put  across as flowcharts and use case diagrams. The complete end to end flow is represented and all the data  is covered. If the project has different modules it is highlighted using different colors and symbols. This  helps in grabbing the customer’s attention to all key scenarios during the review process. In cases of  product enhancement, images of the existing products highlighting the areas where the changes would  occur were included along with flowcharts. This analysis of the requirements was then presented to the  customers for their approval. The structural representation helped the customers to expand their  coverage and reduced the changes in requirements in the later stage of product development.

After the customer’s approval of the requirements, it is then presented to the project team. The team  goes through the flowchart covering each module one by one. Using concept mapping & white board  technique the modules which are interdependent are identified and grouped. Any scenario which is  repetitive is removed. The requirements are prioritized accordingly and project development timeline is  planned.

Insight

While putting across ideas and requirements in a visual format helped in understanding the customer’s  needs in a more effective way, it also gave a better insight to the problem statement. Any misses that  occurred and feedbacks that were received were taken as key learnings which helped to improve  requirement gathering for other projects. Another value add of using visualization is that it also helps in  improving risk identification at earlier stages of project development.

Approach

Further on, I have decided to use visualization not only in the early stages of requirement gathering but  also throughout the course of the project. In both development and testing, visualization can help in  traceability as well as efficient management of the project.

