The next step in developing custom software applications, following the requirements / initial engagement phase, is prototyping. I have been involved in prototyping sessions that have lasted anywhere from a half day session of single concepts to many month marathon sessions fleshing out complex concepts from user login to backend reporting processes. This is neither a phase that should be ignored nor a place to trim some cost and time out of a project. The better and more complete your prototype is the easier it will be downstream when you get to development.
Team: The resources involved in prototyping are business analysts and domain experts from across the organization. It is best to work with a small agile team of people who are compatible. Pick a leader that can facilitate the meetings and keep things moving forward. Try to meet a couple of times a week at times where creativity is at its highest. This varies by teams, but usually mid-morning is a good time for this. Be sure to give time for items and concepts to gel and for consensus to be gained. The facilitator should encourage team members to think about ideas and concepts outside the meeting. One person should be in charge of taking notes from the meeting, documenting the items discussed, and copying down the things drawn on whiteboards and notepads. Someone else should be in charge of organizing the design ideas, redrawing them and brining them to the next meeting for review. Don’t be afraid to make changes, improvements and adjustments at this early stage, this is the best and easiest time to do so.
The steps involved in prototyping:
Step 1: User Personas – Who will be using your customer software application? Take some time and think about the user and who they are, what education they have, what environment they are in. Most importantly, what problem(s) do they have that you are trying to solve? Create a persona profile for several different types of people that may be using your software. I find it best to take some photos (real or stock) and put them in the profile. I then blow them up and put them on the wall where the prototyping activities will be taking place. This lets me look at them while I am developing logic flows, user screens and application logic.
Step 2: Initial Design Decisions – This is not the time to be picking out color pallets, font/typefaces, nor jQuery libraries; however, it is the time to be making some initial decisions about platform (e.g. web, desktop or mobile). You need to have an understanding of how a user will be interacting with your application and you need to have an understanding of how your application is going to be interacting with your user. You also need to have a decent understanding of the differences in platforms and what benefits they bring and what limitations they have (e.g. end users are not going to want to type War and Peace on their smart phones.)
Step 3: Pare & Refine Features & Requirements – Your goal in the prototype phase is to pare down the features and requirements and produce a minimum viable product (MVP). Your customers are going to want everything and the kitchen sink in their new shiny software application. What you as a software provider need to do is to develop a product that finds out if there is truly a market for it. You see you could produce the best possible of software out there. It has no bugs, does everything perfectly, looks gorgeous, and runs on every possible known platform. After millions of dollars and numerous man-years spent you find out that there is no market for your product – this is a bad place to be. A better option is to take the product of your dreams and pare down the features and requirements into the basic core needs and then release it to the market.
Review & Feedback: Ok, and now back to the customer… Once you have some initial prototype designs, it is back to your steering committee (i.e. the customers or potential customers that will be using your software.) Hopefully, you can utilize the same group of people from your requirements / initial engagement review session. Allow them to see what features and functions the software has been boiled down into. Be sure to engage with them when they ask about features and functions that you have decided to wait on. What do they think must absolutely be in the first version of the product? Ask good leading questions and try to understand where they are coming from. You need to know if not having a specific feature or function in the first version of the software is something that will prevent them from using it. It is the hard questions that provide the best answers. Be sure to take what you have learned in your prototype review sessions and incorporate any changes that must be made. Don’t be afraid to make changes, add new things, and take out things that you thought were important but your customers didn’t. Remember they are the ones that have to use your new custom software application.
Next Steps: You have now made it through prototyping and it is on to wireframes. A very important step that can save you many hours of costly rework time in the design and development phases. This is not a step to be skipped or minimized.
[If you have never gone through a proper prototype phase, I suggest that you engage with a software development business consultant. We at J&S Tech Designs can help you through this process. Engage with us today to work through the steps of your prototype.]
Subscribe to our newsletter: here to catch the rest of this highly beneficial series. If you know someone who could benefit from this article, please share us on Facebook, Twitter, Google+, LinkedIn, etc. to get word moving.
Read: Previous Article
Read: Next Article