There are so many applications readily available today, often for free, that jumping into mobile application development is a decision no company should take lightly.
Though it's sometimes difficult to recognize it from the results, even bad apps were developed to accomplish one or several goals. Typically, apps are born from frustration by a group of potential users -- whether they're in IT, sales, marketing, human resources, or elsewhere. Yearning for a more efficient process or a better result, an energized individual or group embarks on a solution to a specific challenge: providing timely information, repeating a known calculation, integrating a big-data grab and translating the information into a pertinent interface, or some other task that demands a better solution.
A good litmus test for any application development team is to search for something that could already solve your problem. If nothing is available, there could very well be a reason. Be on the lookout for a hidden challenge that could present itself during the development process. You may encounter a missing piece of technology, or you may need an expensive testing process. There could be an immature standard or an interface that is broken beyond all recognition.
After finding something that is close but not quite close enough, I suggest you analyze the near-miss app. What keeps it from providing the functionality you need? You may want to contact the app's developer to see if it can add or subtract capabilities. Remember that the goal here is to satisfy your need for information, fix a broken process, or find an operational efficiency. Building an app just because you can or because it is cool is not a real reason. Refer to your frustrated user. What is that user's pain?
If you cannot find a workaround, your next step is application development. Defining what platform to use -- the best piece of hardware for your application -- is a seminal step. You must understand the user's environment, mobility needs, and governance standards. Leveraging a platform like Facebook, Google, or YouTube speeds up your release date and cuts down on development costs.
The nuts and bolts of any application development rely on two major components: the application programming interface (API) and the software development kit (SDK). They allow your development team to interface with data and function on multiple platforms.
An SDK allows the front end to perform on multiple platforms -- iPhone, iPad, Android, Windows, or Linux. A good API takes all currently usable technologies into account.
SDKs give the data engines used by the front-end software the ability to share information safely and securely. All software projects consist of three components: backend data, middleware, and front end (or user interface).
Losing sight of the goal (the end user's pain) is often a byproduct of application development. When considering whether you really need to write an app for that, look carefully. You might find another frustrated user who has already met your need.
— Michael Starnes is CEO of Starnes Consulting in Orlando, Fla.