In her post on How app visualization enables picture-perfect requirements, Jan Stafford shared excerpts from her interview with application visualization expert, Maurice Martin, president, COO and founder of iRise, a maker of application visualization products. While I’m not as bullish as Martin is on the virtues of application visualization, it’s been my experience that visualization — especially around requirements as outlined in Jan’s post — can significantly help the testing effort for the project.
In his interview, Martin said he’s seen visualization “cut down on change orders and eliminate about 70% of downstream rework.” While I can’t speak to the numbers, I will say that anecdotally while serving as a guest reviewer for HCI projects at Indiana University I’ve seen a number of different mock-up techniques from paper prototypes to Flash mock-ups. It’s certainly the case that I can provide better feedback on the interactive mock-ups, and I suspect that using an enterprise visualization solution — instead of custom coding — is a more scalable solution for a product team or IT department.
Visualization, like prototypes and mock-ups, allow you to put something in front of a user community sooner. This allows you to begin usability studies before you have a finished product. While there are multiple ways to address that issue visualization is certainly one effective method. Other methods like the embedding users in the project team and delivering working software each iteration so you can get feedback on the actual product can address some of the same issues, but can be more difficult for product development where you might not be developing for a user population you can share the product with each iteration.
When it comes to testing, visualization can help move requirements and design disambiguation to the front of the project. While not all problems lend themselves to this type of visualization, for the problems where you can easily visualize the end product by creating interactive models you can get a lot of value. Not only does visualization create a more interactive platform for disambiguation, it give testers a better working model of what the product will look like and how it will behave. This creates a shared vocabulary and framework for discussing the product with other project team members.
Visualization also gives testers the ability to raise inconsistencies earlier in the project. If you put a visualization in front of me (or likely any tester), I’ll test it. While it’s not going to be a full-featured working product, depending on what aspects of the product get modeled, I’ll be able to test the proposed processes and workflows, the proposed user interface, and the proposed data model. Not only does this allow a tester to provide quality related information about the product earlier in the project, it better prepares them for the testing that will take place later in the project – making them more effective when they get the actual product for testing.