If a picture’s worth a thousand words, a visualization’s worth a thousand pictures. A “visualization” is a term used to describe a functional software prototype. This form of rapid User Interface (UI) prototyping is now being used by business analysts as an effective method for gathering customer requirements.
In the software development lifecycle, it’s the business analyst’s responsibility to work with business stakeholders to determine the requirements of a software application. There are many ways that this can be done. Traditionally, after many long meetings and countless interviews, a big, thick requirements specification would be written, attempting to describe the requirements of the system. This would then get passed to a design team who would create a functional specification which developers would ultimately use to write code. The end result would be an application that often looked very different from what the business had originally envisioned.
Some reasons this approach leads to an end product that can be so different than what the business wants are:
- It’s difficult to describe exactly what you want when you don’t have a starting point.
- Requirements can change over the lifecycle of a product.
- The details of what the business wants need to be continually clarified as the project evolves.
- It’s much more difficult to describe a user interface and functionality in words than it is to work with the actual screens.
These problems are some of the reasons the waterfall methodology has gotten such a bad rap and why so many people are switching to an agile methodology. It’s become recognized that more effective collaboration and communication with the business is required in order to accurately understand exactly what business users want.
But switching to an agile methodology isn’t the only solution to this problem. Another technique that is being used is to gather requirements using visualizations.
SearchSoftwareQuality met with iRise leader Mitch Bishop last week to discuss their product line. Their tools are meant for the business analyst, not the developer. Working with the iRise applications, business analysts are able to collaborate with stakeholders to create working models, going beyond mock-ups or wireframes. Visualizations can be integrated with data to provide an actual functional preview of a finished application.
A quick search revealed this informative blog post listing 41 prototyping tools that can be used for rapid UI generation. iRise was included in the list, described as “A very complex tool used to model business process and prototype application interfaces.” It’s not surprising to me that the tool is listed as “complex” as it does allow for quick prototyping for a variety of product types including Web 2.0, mobile applications and SAP Extensions across several industries.
Being the devil’s advocate that I am, I asked Bishop whether the problem they were trying to solve was already solved by the trend of agile teams. In an agile environment, the product owner works on the same team as developers and testers, producing functional code in short sprints. This cross-functional team addresses the improved collaboration and communication with the business and allows for the continual product review throughout the lifecycle.
Bishop answered that rapid prototyping tools can be used in an agile environment as part of the short sprint. He’s finding that all teams, regardless of methodology, are effectively using visualizations to help better define requirements.
It’s good to know that the industry is finding effective ways to gather requirements. Let’s hope the days of thick requirements specifications are quickly coming to an end.