About the author: Beau Button is a New Orleans-based software developer, architect, and coder, with more than 15 years of experience in the technology industry. A leader in the local entrepreneurial community, Beau is the founder of software development firm WebDevrs and previously co-founded Archon Information Systems and Memorandom.
In New Orleans, there’s no doubt that there are intelligent, passionate people starting and growing new businesses in so many different fields. At WebDevrs, we frequently work with professionals and start-ups that are seeking to develop new software and mobile applications to simplify their business operations and help bring their business to the next level. While they are largely experts in their line of work, they may not be aware of the realities of outsourcing their web or mobile application development.
One common theme we see regularly is the lack of preparation around the software application idea. If you are considering approaching a contractor or hiring a software developer, it’s important to develop a coherent idea of what you would like your software to do — ahead of time — to ensure you’ll end up with a great product. Below are steps to take before outsourcing the app.
Developing a Clear Idea
First, I recommend that you identify a real problem and design the application to create a solution. Alternatively, if the idea is not solving a problem, but it is a “good idea,” consider ways to monetize the software or app, barring advertisements, early on in the design process.
Once you have a concise idea, you have to decide if it is worth pursuing. For the amount of great ideas out there, there are an equal amount of reasons why the idea may not have been implemented; for example, the software is too costly to develop, the idea is too technical to implement, or there isn’t enough of a market. Very rarely is there an idea that is truly new. Unless you have deep pockets, are a highly technical person, or want to develop an application “for fun” with a slim market (not recommended), you should rethink pursuing further development. It is very important to do your research before discussing your idea with a contractor to avoid wasting time and money.
If your idea already exists, do not be discouraged from pursuing development if you can think of a “better” way to implement the idea or solve the problem. Perhaps you would be targeting a different yet abundant market or create a product with improved features. Just because a competitor exists does not mean you should not try to compete. Keep in mind that if you fall into the same reasons to not implement your idea (money, technical or lack of market) you should tread carefully. In addition, you should obviously avoid cloning an existing app.
Drawing the Mockup
An essential component of software development preparation is planning every step of your product, and the best way to start is to put pencil to paper. Draw up exactly how you want your app to function progressing from screen to screen, function to function. This exercise will require you to think through your software, from the inviting welcome screen to the mundane settings screen. This necessary step of the process may feel painstaking, but it is better to have too many drawings and adjust later, rather than missing an important element to your software. At this point, it is a good idea to come up with a logo and color scheme. I cannot emphasize enough how important it is to be thorough.
Now that you’ve developed a mockup, it is time to approach the computer. Please do not attempt to show your hand drawings to a software developer (for everyone’s sanity). There are tools to guide you through the visual aspects of development, such as Balsamiq Mockups, a simple wireframing tool that will bring your drawings to life and create basic simulated functionality.
Choosing Your Platform
Next, for mobile, you’ll need to decide for which platform to develop your application. Instead of programming for two platforms concurrently (i.e. iOS and Android), I recommend iOS as the initial platform due to less variance between products (iPhone, iPad, Desktop Macs). Also, market research shows that iOS users are more likely to pay for software. However, if you are creating a web-based application, this decision does not have to be made. In this case, you should assure that your software application and design is “responsive.” Responsive design is apparent when a web application is aware of what kind of device it is being accessed from and adjusts accordingly for optimal ease of use. For example, when you access facebook on your phone browser, it activates the mobile version, rather than the full site. As a non-technical person, you should ensure this responsive design in your web application by stating this as a clear requirement when you approach a software developer, even though this will increase the overall cost of development.
Another loose end to take care of is to make sure you have a logo, domain name, branding strategy, and a basic website to announce your eventual launch. These elements are often overlooked in the beginning stages, but it is advantageous to be proactive about these items.
Shopping Around and Bringing Your Idea to Life
Finally, you are ready to shop around for a software developer who can bring your idea to life. Research the software climate of your city, as well as the average hourly rates of contractors versus the average salary of a mid-level developer. Be sure to review the portfolios of potential developers, to give you an idea of what your end product will look like and how it will function.
Having done careful planning and due diligence, you are primed for success once you begin development with a professional. While a large amount of work goes into developing an idea before implementing it into software, the key to success is preparation, trial and error, curiosity and perseverance. A product is never truly “finished,” since constant improvements are necessary, but there is nothing more rewarding than seeing your good idea turn into a great product.