So you want a mobile app for your company but you don’t know how to get it built? In this series of posts I’ll tell you all about how you go from idea to App Store. We’ll cover all of the steps: from firming up your initial idea to finding a developer to getting your app out to your clients.
Today we’ll talk about the fourth step, engaging a developer. The posts in the series will include:
- Firming up your app concept: Before talking to developers
- App design: What does your app do?
- How to find the right app developer for your project
- Engaging a developer: Contracts, milestones, and other considerations
- Working with an app developer: Communication and testing
- Putting your app out there: App Store submission and what happens after launch
Engaging a developer: Contracts, milestones, and other considerations
There are two approaches you can take to engaging a developer: tell them exactly what you want or employ their expertise. In either case, you’ll want to find a few potential candidates, contact them and explain your project, and have a few questions to vet their suitability for your project. If you’re building a large app (more than a few weeks of effort), you should consider also engaging them for a small portion of the project before tackling the whole app.
Types of App Projects
I take on both types of projects: where the end product is well defined and when it’s more open-ended. When the client knows exactly what they want, they provide Photoshop graphics, walk-throughs of the app, and detailed descriptions of the functionality. These projects tend to take 1 to 3 weeks of effort and usually cost $5000 to $20,000, depending on the complexity. The clients for these projects are often design or development agencies who have designed mobile apps in the past or are looking to add them to their offerings.
In these cases, where you know exactly what you want and what it should look like, you can go to sites like Elance where you’ll find inexpensive developers. But unless you’re almost capable of designing and building the app yourself, I wouldn’t recommend going that route. I do know businesses who have had good results with that approach but it required a lot of time and effort to create detailed specifications. If you’re only developing one or a few apps, taking the time to find and vet app developers in those large marketplaces is probably not worth the effort.
An app developer from a personal reference will be easier to trust and, even with a higher hourly rate, may not cost more in the end.
The second type of projects includes those where the client can’t describe the app in pixel-perfect detail. Sometimes you don’t have experience designing apps, sometimes the project is just too large to do all of the design up front, and sometimes you realize that you need to create a prototype to get a better feel for how the app should work. In this case, you need someone focused on helping you understand your business and understand why and how it actually gets built.
These projects are far more common than the well-defined, limited scope projects. They can vary in cost and effort dramatically. They will rarely be done in less than a month and can span a year, with most projects running between 6 weeks and 6 months. Costs tend to start around $20,000 and can reach 10x that amount. Increased costs can be due to additional features, making many changes in direction and features, integration with your own or third party web sites (e.g., Facebook login), integration with external hardware, communication between multiple copies of the app running on different devices.
Describing your Project
When contacting an app developer, you’ll want to make your vision for the app and your project as clear as possible. The better they understand the project, the better they’ll be able to realistically estimate the time and effort required and determine whether the project is a good fit for their skills. There are a few questions that I use to vet prospective projects:
- Tell me a little about why you’re looking to start this project? And the business goals it aims to achieve?
- Do you have a budget you’ve set aside for this project?
- Do you have a timeline in mind or a deadline that needs to be met?
- When are you looking to get started on this project? Immediately?
- Will the project need to integrate with any web services or your own web back end? If so, when will the web back end be in place?
- Will there be other developers working on the project?
- Are you the main decision maker for this project? Will I be consulting with any one else for direction?
- Are iOS apps a new type of project for your agency or have you done it before?
- Will you provide all graphics (in PSD format)? Do you have any wireframes or walk-throughs?
- Will I be able to publicly divulge my involvement in this project?
- Will you need me to manage submission to Apple App Store or will you undertake that?
- Do you plan to have any future updates to the app?
- What do you feel are the most important or challenging features of the app?
Once you and the developer reach an understanding of your project, they should prepare a proposal with a budget and timeline for you to review. In some cases, they may be able to provide several options so you can match your needs to your budget. If you’re not sure about engaging this developer for the whole project, paying them for their expertise in developing a reasonable proposal including technical design details can be a good idea to get a feel for working with them.
Milestones and Feedback
Any project should be broken down in to milestones of no more than a few weeks of effort. At the end of each milestone, and possibly even between them, you should receive a test version of the app so you can see the current progress and verify that it matches your expectations. If you want to make any changes to the project, you should provide feedback quickly, within 2-3 days, and discuss whether the changes are sufficiently large to affect the budget or timeline.
Delaying feedback can result in making changes more difficult and thus more expensive and time consuming to make.
You should always have a contract with any service provider, including app developers. It should clearly spell out the milestones, payment schedule and terms, project deliverables, ownership of intellectual property, etc.
My contracts are generally 2 documents: a generic Consulting Agreement that I reuse for different clients that covers items like payment terms and ownership of intellectual property, along with all of the other generic legalese that’s typical in contracts. The second document is a Statement of Work specific to the app I’ve developing that includes the milestone & payment schedule, required features, lists of deliverables, and any graphics or walk-throughs that I’ve created. This approach lets the client and I get the project details straight in the Statement of Work and then worry about the legal details in the Consulting Agreement. It also allows for having multiple Statements of Work with a client, without having to redo the Consulting Agreement details.
Pricing schemes vary between developers and projects, with the most common being fixed-bid and time-based billing.
Expect hourly rates to be over $100 for a seasoned app developer, with $200+/hr not being unheard of.
With fixed-bids, the developer will determine a price for your project that is set before the project begins. They will need to very clearly state what is and is not included in that price. If there is a significant change in scope, you’ll have to renegotiate the project with a potential increase in cost. To avoid needing to renegotiate for small changes, because they’re bearing the risk of your project being more complex and taking more effort than their estimate, they will generally include time in the estimate for small changes. Regardless of the total effort required, you will pay the agreed upon price with fixed-bid billing. The price will generally be billed in increments based on your milestones, as well as an initial deposit to begin work.
For time-based billing, the developer will provide an estimate of the final cost but you will pay for the actual time worked. Developers may bill for each hour, each day or each week, depending on how they work and the size of the project. There is more flexibility to handle changes and evolving designs, and the project can begin before the design is entirely nailed down. In some cases, developers will request advanced payment for time-based billing. That can be a good way to keep track of your costs so you’re never surprised by a large invoice.
When engaging a developer, make sure you’re clear about your needs and expectations. Get a contract that fully describes your app, milestones, and payments, with either time-based or fixed-bid billing. App development isn’t rocket science, so don’t just focus on hiring the best technical person you can. You want to hire someone who can understand your business, can understand what your audience is going to expect and will be a pleasure to work with. Next time we’ll dig in to how you should work with them through the app development process. If you have any questions that you want to be sure that I cover contact me