You have conceptualized an idea, you then prototyped it and received feedback. You completed a detailed wireframe and the concept is beginning to gel. Now you are ready to begin designing your software application. So, why can’t you just start here? You have a great idea and why waste all that time going through prototyping and wireframe design when I can just get into the process and do something that won’t be thrown away at the end. Well you could, and believe me a lot of individuals and companies do just that. With rapid application development tools and slick agile software development methodologies you think you could just skip ahead and jump right into software application design.
Well you couldn’t be more wrong, and here is why: if you have read the previous descriptions of those stages, you would understand that the time and effort involved with making changes in those steps is much more cost effective. Taking the time to do a proper software design means that making changes at this stage will be very time consuming. It is sort of like deciding to move a wall or add an electrical outlet to an existing wall after everything has been sanded, taped, painted cleaned up and all the furniture has been moved it. Yes, you can do it, but at what cost? Typically at this stage, making sweeping changes to an untested design can set a project back weeks or even months. By this time, you should already have had customers looking at the outputs from the previous steps and you now have a good understanding of their needs and wants. What you are doing now at this stage is picking out the color of the paint, the style of carpet, the type of window treatments and the kind of furniture you want in your house. If you are still thinking about usage, features, and functionality –then you shouldn’t be here yet!
Team: At this stage, you should have front-end developers / designers and graphic artists engaging on the project. Their exposure and experience with the designs will be key when transitioning into the development phase. Business Analysts should be involved here to ensure requirements are being met and a consistent experience is being established. Try to engage with people within your organization that have good domain experience, not necessarily software development experience.
Step 1: Establishing / Following Established Best Practices – Your organization has a best practices / usage guidelines documentation right? If not, then there is no time like the present to develop them. All custom software applications that your organization creates must have a similar look / feel to them. Start with the menus, make sure that they are consistent between applications. Do you remember when Microsoft Word, Excel and PowerPoint went through a transition period where they tried to bring the menu structures in alignment? That was not only painful for them, but for all of their users. So, make sure you do this up front with your first custom application and when you build the next one, this step will be easier. Common elements that may be shared between applications should be designed to be shared. These are typically things like persons, products, locations, specialized / unique items, etc. Also, similar type elements that may be reused within the application should be designed to be reused. These are typically things like calendars, drop down lists, multiple choices items, etc. Finally, creating the right overall look / feel for your custom software application is key. People who are familiar with one of your products should be able to look at any of your products and know that this is one of yours. Think about Microsoft Office Applications, you can tell an MSOffice application a mile away because of the unique look of the Ribbon Bar.
Step 2: Creating a High Resolution Prototype – You have laid out the individual components and structures for your new application, you have put together screen designs for features and functions, and you have a good idea of the workflows within your application because of the work you did in the Wireframe stage. Now you are ready to create a high-resolution prototype of your application. No, we are not going back to the Prototyping phase, what we are doing here is akin to building a full-scale model of a house or building. Everything is going to look like it is ready to go, but nothing actually works. You can walk through the house, see out the windows, but the doors don’t open or shut, the lights don’t come on, in fact the switches don’t even work. There is no water, no real plumbing, the materials behind the pretty facade are real either. I can go on and on here with my construction analogy, but really what I am talking about is creating a working front end to your application that allows for navigation fields you can type information into, even data grids that fill up with sample data.
Step 3: Documentation and Style Guides – Before jumping right into development, you should spend some time here creating a company-wide style guide if you don’t already have one. These include not only styles, colors, layouts and examples, but also contain usage guidelines and best practices. Takes a little longer the first time through the process, but it is well worth the effort in subsequent projects and really helps to keep everything looking properly branded for your organization. Creating brand image is not only key to marketing, but is also a key culture point within your organization. If the people working for your company are proud of the brand image it helps them produce quality work so that others will also be proud.
Making the tough choices about tools and technologies to work with is key at the design stage, be sure to include technical resources in the decision processes. J&S Tech Designs can help bridge the gap between product owners and development resources. Engage with us today to find out how.
Review & Feedback: What you are doing here is preparing for the last look that your stakeholders and steering committees will get at the application before it goes into development. Give both teams the opportunity to see the High Resolution Prototype and provide comments and feedback. Listen for show stoppers and also be aware of key ownership phrases like, “I will be using this this way” and “we will be interested to see how this improves our…” Those types of phrases are strong positive buy in signs, and should be captured and illustrated as you share progress throughout the organization. Be sure to pass along these comments to the designers, developers and business analysts that have worked on the project thus far.
Now you have to be careful here, all too often people get really excited at this stage, because you do such a good job on your High Resolution Prototype that everyone thinks that you have a product to launch. I’ve seen this many times in the executive board rooms where CEOs, COO’s, SVPs, VPs, Directors, whomever is in charge asks the question, so when can we start selling it? My response is almost always, “After we finishing developing it.” They will undoubtedly say, “Well it looks good, so end of the week then?” which then starts the reply of “No, there isn’t any code behind anything, so it is going to take [insert remaining time period] for initial development and several rounds of quality assurance testing. At that point we can begin a nice slow round of beta testing with a handful of customers that we have been working with.” This is typically where you see some excellent blank expressions and the occasional double blink as they process. Wait, they will say, you have spent weeks/months/quarters working hard with several resources up to this point and we want to get a product to market quickly. Here is the reality – most top level executives, especially ones who run companies that don’t typically produce software, misunderstand the time it takes to develop a quality, production ready custom application. Everything depends on the level of complexity that is needed for your individual application but it takes time, money / resources, and typically more of each than you originally believe and estimate.
Next Steps: Now you are finally ready to begin developing your custom software application. The good news is that you know exactly what you are going to be getting from development. You know what it is going to look like, how it is going to work, what it is going to do and how it is going to do it. The best thing is that so do the developers. There is a clear path and direction for them to build from. They know what needs to be done and now they can focus on choosing the optimal path to get there.
Read: Previous Article
Read: Next Article