At each stage of software development, from design, to development, to deployment, there is opportunity for either keeping the status quo, falling behind, or achieving glory. Wireframing plays a crucial role in helping software projects achieve glory, as opposed to simply meeting goals.
First, a quick overview on the nature of wireframing. Similar to CAD drawings or blueprints, wireframes of a software project provide a skeleton outline of how key elements of the system will be laid out on the screen. The wireframing stage generally does not consist of finalized, high-end graphics or pixel-perfect positioning, but is rather focused on the general position of fields, elements, and user interface buttons.
Wireframes can be drawn on paper, however it is more effective to use a software tool such as Balsamiq, Axure, or Visio for the drawings. These design tools can make it easy to implement changes, duplicate repetitive content, and handle versioning. Balsamiq has achieved its own special standing among UI development tools with its quick rise to fame and popularity. Instead of depicting clean lines and elegant results, Balsamiq makes the entire drawing look especially “sketchy”, so that project stakeholders have no illusion that they are looking at a final product. Instead, Balsamiq produces wireframes more akin to something that would be sketched on a whiteboard, as opposed to an elegant CAD drawing. This lets viewers focus on the layout and general concept, instead of on the design elements that may be subject to future change. Regardless of the wireframing software, the end result will be a set of documents that provide a high-level view of the user interface and software functionality.
The key benefit of wireframing is how it provides a bridge between concept and creation. Before wireframing, the software is a fuzzy amalgamation of database entities and software architecture components. Once the wireframes are created, the software takes shape. Similar to sculpting, that first set of blows to “rough out” the software design are often the most critical. Not only do they define the final form of the application, they also provide the opportunity to implement creative ideas or enhancements. While the system is still in the wireframing stage, interesting concepts or UI paradigms can be added relatively easily. Once the system has progressed from wireframing into development, the UI is generally fixed and requires significant rework for any enhancements.
With all the benefits of wireframing, it can still be a challenging task to execute. Out of all the development tasks, wireframing takes the most creativity and inertia. Hewing the system out of rough stone, the architect or UI designer needs to bring everything together: the database, design, layout, and programming workflow. For sizable systems, this is the task that separates the master from the apprentice, and brings the software to life.
Written by Andrew Palczewski
About the Author
Andrew Palczewski is CEO of apHarmony, a Chicago software development company. He holds a Master's degree in Computer Engineering from the University of Illinois at Urbana-Champaign and has over ten years' experience in managing development of software projects.