Updated: Sep 8
The Scene: You're not a project manager or a developer, but you and your business need an app or other software developed.
This scene is very common. With the monumental leaps made with what is possible comes the need to keep up. This becomes very difficult for people that have day jobs that don't allow for consistent research, education, and practicing of software. However, for the business to stay "fresh", you need to keep your software offerings top notch. We feel this process needs fixed and have taken concrete steps to help make the process less technical. Let's take a look at the process...
The fist thing that happens during development is the plans. Most people end up making up their own documents and they can vary a lot. We have received 100+ page documents. These often don't include pertinent details and neglect to realize that software development is never truly finished.
What is needed
The way to get a great quote is to be specific, but general. These contrary terms are part of the reason it is so difficult to know just what to include and most feel they need someone to help them, that's on their side (that's what we do!) to help them know the issues that can arise, what is important, and what is truly easy. If you don't code or deal with it directly, it can be very difficult to pin down your requirements.
If you need a social media app, that implies you need functionality such as login, signup, profiles, direct messaging, a news feed of some sort, and a few other things. Each one of the options gives you multiple ways to implement them. They all have different types of implementation from different UI (User Interface or the looks of your app), to what is included (such as FB login and detailed profiles). On top of this, there are databases to keep in mind (where the information is stored). These can be very simple or extremely complex and the way they get implemented and planned for makes a real contribution to what your app will cost in time and money now and in the future.
2. Finding Talent
You have your plans and now you need to find talent to create what you have written out. Normally, people don't know a coder that can help when they need an app developed and they don't know how to code themselves (that's why they are outsourcing right?). How, then, are you supposed to vet talent and know what is "good" and what is "bad"? Even the experts can get it wrong, so how are you to do it? Price is not just money, it is time and your users' experience which is THE most important concept to your app's success.
What is needed
What you really need to do is study and learn how to code. That is ridiculous to expect out of people, so the main advice here is to get a coder or someone close to the process to help (again, we do this so you never have to deal with it). You will need to ask questions and some of the process is more by "feel" than a logical process. You have to assume you won't be perfect and wiling to move developers, but also have the planning and development happen in a way that minimizes the massive impacts changing development teams entails.
This comes down to experience and why we do this process for our clients. When we are doing this, we interview the development firms, vet their previous work (at every detail) and most importantly, have experience of positive results. We do bring new developers into the mix from time-to-time, but we are very strict with the people we chose to develop code for our clients. We also make this a flat-rate process so we have the risk of under quoting our projects. We do this so we only succeed if you do and are aligned, on your side, to make sure the project has the best team possible handling the development and UI of your project(s).
3. Coordinating development
Finally, we get to actually developing the app. Well, this too has its caveats. There are a number of issues that arise from inexperienced people leading the coding process. Many give too much work. This causes the team to make a bunch of generalizations and those end up slowing down, creating problems, and otherwise harming the effective process of development.
What is needed
Development is best done in small, bite-sized, "sprints" of work. These normally last 1-2 weeks for our team. In those, you are striving to give the development team just enough to do that it takes them a week, but also piece-by-piece makes your app more valuable to your users.
You have nothing but a plan and need everything from UI to the app built. Where do you start? You start with the important functionality that will bring the most value to your users. You also need to do this in a manner that makes systematic progress. Once you get it up and working, you need to develop the "looks" of the app. In reality, you can do this first, but we've found it is better to focus on the hard functionality as opposed to the relatively simple UI changes that can be implemented after lifting the heavy loads.
We do all of this with our dashboard, the Mercury Platform, and handle the process for you. Our development partners and ourselves have a relationship that has this planning easy to do and our flat rate pricing makes it a non-issue for you and your project(s).
4. On-Going App Development
Even though you've finished the first sprint, you need to keep moving. Not only will you need to get all the important value-drivers in your app, you will eventually have updates you want, you need, or your users want or need. There is no true end to the process, but it does slow down after the first version is complete (the MVP).
What is Needed
You will need to assume you'll have a process of every week/2 weeks/month you are building software and testing it for the life of your app or until you can employ your own team (~$300,000 of annual salaries in the US). Not only is this the industry standard, users expect it and can grow tired of poor UI, performance, or just plain staleness. Also, updates create a marketing opportunity that is FREE. When your app updates on the app store, you will get free advertising and remind users that may have forgotten about your app that you are on their phone because the app stores let users know when their apps are updated (or need updating). Many forget this important fact and don't use it as the marketing it is.
Your app is out in the wild and you have a large amount of requests from users for a specific feature. On top of this, Google & Apple have updated their terms of service and you need to add to your app's terms of service. On top of this, you have the functionality you planned for that week. You will need to plan for this, adjust your plans as needed, and incorporate these into your development cycle without slowing it down or causing problems in the app. We use the Mercury Dashboard which is based on industry standard agile development techniques that get your app built and make it accessible, understandable, and adaptable.
Plan with Us (it's free)
We will help you do the fist 2 of these completely free and will make sure the other 2 are done correctly. We love helping and building software and we want to be your partner. Just write email@example.com or go here to get a head-start on your plans, free advice, and see if we're right to help you with the whole cycle.