‘Let’s start at the very beginning; a very good place to start’ are much more than lyrics from a memorable Sound of Music song. They are words to live by in custom software development projects. Prototypes are the first visual versions that move concepts described in words on a page to something that everyone associated with the project - especially the project owner and end users - can see, feel, and dissect. They are powerful tools that ensure projects begin down the correct path.
“Prototyping is a means to iterate the product until the effect of the experience meets the user’s and business’ needs, before code is ever written,” said TDK Technologies Senior UX Designer Heather Fricke. “We create a model of the application to test internally with the user and the business to make sure we are meeting their expectations.”
Why Prototypes are Powerful
The word prototype comes from a Greek word meaning ‘original’ or ‘primitive’. In software development, prototypes are quick mock-up versions of web sites or applications that begin to bring the project to life. Prototypes are essential to any development project, because often clients have a great idea that can’t be fully explained by words alone. One kind of prototype may focus on design and show what the product would look like. A technical prototype would explore whether what is desired is even possible to accomplish.
Prototypes make the project something tangible, interactive and testable. Fricke identified some important benefits software prototypes deliver.
- Prototypes help the Product Owner define the vision for a project.
- Prototypes allow users to experience the vision.
- Users can test the experience before the development phase.
- Prototypes guarantee expectations will be met.
- Prototypes determine the final specs for an application.
- Starting with prototyping ultimately makes the development time shorter.
“The goal of a prototype is as a decision-helper. It’s a scratch-sheet.” said Mark Henman, TDK Chief Technology Officer. “It is the first step toward the production process. You are trying to determine how rapidly the initial approach is going to work. If it does, we take it to the next stage. If it doesn’t, we quickly move to something else.”
Fricke emphasized that one of the biggest benefits from building prototypes is that they can expose potential problems or unstated assumptions that can be addressed well in advance of development. Projects where prototypes have not been utilized often encounter delays because a faulty assumption was not discovered. Prototyping can also save time in the development process. She noted that there are advantages in identifying assumptions before any code gets written.
“The business can see it, they can feel it. They can interact with it and even approve it before any code gets written,” Fricke said. “The prototype can head off problems. At the end, we are building software for the users. Prototypes are a way to keep the user in mind along the way.”
‘A Prototype is Worth a Thousand Meetings’
One of the biggest advantages prototypes deliver is with communication. They help align the development team across all parts of the project by providing a good overall picture of what is desired. For example, the prototype can be used as a developer guide and in the testing phase to ensure styling and flow are correct.
Prototypes also facilitate client communication. They can be reviewed by the team and the client to provide a baseline for decisions as the project unfolds. When a prototype is put together, it can help the business realize, perhaps, that the project is more complex than they initially thought.
“Building prototypes can help root out edge-cases, or situations that are exceptions to a process the customer would like to streamline in their project,” said Kevin Rhoades, TDK Director of Project Solutions. “The prototypes help us identify those things sooner rather than later. It shows what the solution will really be able to do and what it will look like. It will also help the client identify what features are really needed and what features are not needed”.
In addition, prototypes help the client understand that software development is an iterative process where their rapid feedback can quickly determine the best way to build projects. As a result, using a prototype will reduce time and cost in development, which is important to any business owner.
“If a picture is worth a thousand words, a prototype is worth a thousand meetings. They reduce meetings, conversations and questions. All of that is especially helpful in large projects,” Fricke said. “Every prototype I’ve built has surprised me in one way or another. They always remind me that I am not the inventor, just the interpreter for the user. Basically, prototypes visualize a model of the application.”
Contact the TDK solutions team to get details on how our process can get your project up and running, solving your business need, in the best manner possible.