Simplicity Rules - Keep Focused on a Single Theme

Over the years I have been involved in the design and construction of dozens of applications. What I have found is that the application begins from a simple concept but quickly grows to a large and complicated machine. By the time clients come to us, they typically have an almost endless list of features they want included. At first, these features are mostly "have to have." But as we go through the requirements and feature list with our clients we often find that there is entirely too much to be included in the initial application and many of those "have to haves" just have to go.

For one, they can't afford to do everything. Everyone has a limit to their budget and has some time line for project completion.

Additionally, the complexity of the application tends to grow exponentially with the increase in number of features. This means that as they double the features, they quadruple the complexity. Complexity leads to increased costs and time to build and test. Also, the more complex an application is, they more bug prone it is and the harder it is to find and remove those bugs without introducing more bugs.

The first release of an application is also one of the most critical steps in building an application for a business. If it is not done right, the business effort can collapse and the project will fail immediately. If you put all your eggs in one basket, you won't have any ability to change and try again once you learn about the short comings in your application.

Do not be so presumptuous as to think you will get it right the first time. You won't. You need to be prepared to put something in front of users and find out there are things you did not consider. It doesn't matter how much design and usability testing you do, you WILL miss things. Be ready to build a second and even third version before you get it right.

Recently I read an article by a well known writer who has been writing professionally for decades. In this article, he suggested that whenever you write, you keep the writing about a single theme throughout. Everything in your article or even a whole book should revolve around a single idea.

Designing your application, especially in the first phase, should also be focused on a single idea or theme. This focus will help ensure the one thing you are trying to do will be done well. It will help users follow the application and will also help focus on your niche market. After all, that is what a niche market is - a focused segment of the market.

Gather your requirements and feature list together and bounce them against the main idea of your application. Which features match and which do not. Discard or at least set aside those requirements and features that do not service your core idea and keep only those that support or drive the main idea.

Next, look at your overall design. How does the design drive a user to the main idea? Are there steps that are extraneous? Quite often we work in steps, try to capture additional data or put in extra features or processes that act as obstructions or distractions from the main purpose of the application. These must be removed from the initial application. If you just know this feature or that step will need to be there eventually, put it on a later phase list but do NOT do it now.

One of the great things about building software, especially when it is a web application or service oriented (SAAS), is that you can always improve it later. And you can keep improving it whenever you want, however often you want, with little concern about upgrading users. If you are pushing software updates to users (mobile and desktop applications are good examples), you have to be prepared to manage your updates a little more carefully but those can be done as needed too, with a little prep work.

The key is to find your focus and keep to that focus. This will keep your initial costs down and reduce the time to launch your application. Your application will also have a much better chance of appealing to your target audience and be easier for them to use. Then after getting feedback from the users and finding out what THEY want to see in the next version of your application, you make changes and additions that will strengthen your relationship to your customer and has a higher probability of capturing even more customers.