Conclusion: The prototyping of user interfaces is moving beyond traditional low-fidelity static wireframes and embracing more sophisticated approaches to simulate the entire application experience. Modern solution visualisation tools can deliver a more accurate and dynamic rendition of complex enterprise applications before a line of code is cut. This can significantly reduce delivery risk and improve development productivity. Beware though the diminishing returns from overly complex solution visualisation tools that absorb the cost and risk that they should be offsetting.
Observations: Prototyping has long been a means to visualise early in the system development lifecycle how a system should look and behave. This has the benefit of allowing a system design to be validated as early as possible by subject matter experts. While textual based requirements remain the primary contractual specification for system development, they are often hard to fully comprehend without the kinesthetic aid of a visual prototype.
A good prototype should put abstract and generalised requirements into the context of real life business processes and user interactions, creating a rich dialogue between system designers and users around the system’s expected behaviour. The use of a prototype to assist in the harvesting of correct, concise and consistent requirements can pay off considerably in the long term. Studies show that addressing defects in the requirements phase can be 100 times cheaper than fixing them as post-implementation defects.
Traditional prototyping: Low tech prototyping tools such as butchers paper, white board markers and post-it notes can be immensely valuable design tools when combined with adept user interaction facilitators and knowledgeable subject matter experts. Rapid storyboarding of anticipated system behaviour from a variety of stakeholder perspectives can generate a robust high-level shared view of system functionality. This can help establish, or challenge, the important assumptions and principles that will guide detailed design work.
The use of productivity applications to generate basic user interface mockups (Powerpoint, Visio, OmniGraffle) or RAD development tools (such as Dreamweaver and Visual Studio) to create HTML or native-app click-models have become common prototyping tools. In the case of RAD development tools the lurking danger is that users or (even more worryingly) executives, begin to see the prototype as almost the finished system. This can lead to pressure to “put the prototype into production” without the required underlying architectural support, or set false expectations about the considerable extra effort required to implement complex integration and business rule support. To avoid this situation a common rule is to implement a “throw away” prototype using a technology that is impossible to deploy into production.
Solution visualisation: New prototyping tools (such as iRise, Axure and SketchFlow) have emerged that support the end-to-end simulation of applications without the overhead of custom development. These “solution visualisation” tools enable the definition of rich visual user interfaces with advanced interactive features such as data entry, simulated business rules and complex navigation logic. Supporting these design elements are collaborative features that enable applications to be reviewed, annotated and critically evaluated in a fashion similar to the “mark-up” features of modern word processors. These prototype applications can often be packaged for easy distribution by email, facilitating analysis and review without the overhead of maintaining access to prototype infrastructure.
While solution visualisation tools can quickly deliver rich prototypes that flesh out high-fidelity representations of desired systems, the cost of purchasing such software and the effort to maintain complex prototype models can undermine the core benefits of prototyping. The benefit of common tools such as HTML editors or office productivity application lies in their ubiquitous availability and universal accessibility. Complex solution visualisation tools may require expensive up front license costs and/or proprietary file formats that require specific reader software to be installed for the viewing of applications. They may also require centralised repositories to be installed into server environments. These tradeoffs need to be carefully considered before embracing a solution visualisation toolset.
Multiple device simulation. The enterprise application landscape is changing. Touch phones and tablets have established a need for mobile “finger-driven” apps as much as there is a need for “mouse-driven” desktop apps. Corporate applications are demanding dual-mode solutions that support finger operated Android and iOS access just as they do web-based or rich native applications. This need is adding an extra burden on prototyping efforts to support multiple target platforms. Solution visualisation tools can help manage consistent requirements across a multitude of platforms.
ALM tool integration. The key outcome of solution visualisation or prototyping efforts is a consistent and complete set of requirements. In the modern software world applications are often managed by dedicated tools or as part of application lifecycle management (ALM) suites. Effective solution visualisation tools need to be able to integrate into the requirements and design management tools that support the end-to-end development lifecycle. This allows solution visualisation tools to be institutionalised in the core process of application delivery, rather than sidelined as a niche user experience activity.
Next steps:
-
Organisations should carefully evaluate the use of prototyping in supporting custom application development. Is it effectively contributing to the quality of application design before moving into the development phase?
-
If basic prototyping tools are not being used effectively start with the low fidelity approach and embed their use into upstream requirements and design activities.
-
If basic prototyping has reached a ceiling of either design richness or stakeholder reach, consider solution visualisation toolsets. Consider carefully the Total Cost of Ownership of such tools against the anticipated benefits.