If you have had some experience with app development, you probably have a bit more knowledge and experience about what it takes to move from an idea to a completed app, ready to market. You know that there is front-end development (what the user sees) and backend development (the coding); you know that it is a process of receiving phases of development for your approval along the way, and you know that the final product may still have a few bugs or modifications to work out.
All of these stages of app development will require some “management” on your part. But what do you really know about managing a developer, especially a remote one, effectively?
This post will provide tips as you go through the process of app development and manage the developer/development team.
-
Details, Details, Details
You have to provide your developer as much as possible. Draw pictures; outline the sequence of the elements you want. The more you can give, the better the chances are that you will get what you want sooner rather than later. And your developer can take your pictures and turn them into a wireframe for you to view and approve.
-
Communication is the Key
Set up your methods and tools for communication from the beginning. Set a schedule, but be mindful that it must be flexible too. There may be nothing to report or respond to at a scheduled meeting time, and there will most certainly be issues that arise outside of those scheduled times.
Communication also involves some other elements:
- Share your story with your developer: A developer needs to know who you are, what you and your business are all about, and your goals. He needs to have an idea of your “brand” – it does influence design, colors, and many other elements of your proposed app.
- Do your own prep and thinking before you talk to a developer. Explain your expectations in detail, and don’t leave anything to “guess.” If you don’t have this straight in your own head, you will never be able to communicate these things to your developer. And not having your own detailed vision means that you may keep “changing the goalposts,” something that is costly – in money and time. Remember this: developers want to do a good job for you – it’s how they keep their reputation. But they are not mind readers.
-
Feedback is a Two-Way Street
Your developer wants your honest feedback as each phase of your project is completed and delivered for your review and comment. Be honest and forthright. If it’s looking good to you, be heavy with the praise. If you are not happy, be specific and diplomatic.
At the same time, your developer is going to have feedback for you. He will have suggestions on how to improve what you envision. After all, your developer is the expert here and has had plenty of experience with what works well and may not work so well.
Here’s a truly important tip: When you have your upfront conversations with your developer, ask some key questions: Does the developer have everything he needs to move forward? In similar projects, what has typically gone wrong. and how can you avoid that?
-
Be Mindful of Time Zones
Especially if your developer/team is somewhere else on the planet, you need to find mutually agreeable times for your scheduled meetups. Even with an 8-hour difference, 8:00 a.m. is 4:00 p.m. their time. Be reasonable so that no one is up in the wee hours.
-
Don’t Micromanage
You employed a developer/team because they have the expertise you do not. And they have been in this business for a while. They know at what points they need to bring you in for your feedback. And you have a schedule for meetings already set up. Step back and let them do their work. If you are checking in every day, pressing for information on their progress, you will actually slow up the process. Trust that they will keep the schedule as much as possible and deliver each phase as it is finished.
-
Non-Disclosure Agreement?
One of the fears that business founders worry about is the theft of their “intellectual property” – that a developer may take an amazing idea, produce a mediocre app, and then “run” with that idea and create a much better one for his own profit.
First, this is unlikely, if you have been careful about your developer selection (see Part 1). Developers have a need to be ethical with their clients, or they will not stay in business long.
That being said, if your fear is keeping you up at night, then prepare a non-disclosure agreement upfront. A developer may need access to sensitive data (e.g. customer or client database) from you, and they may be developing code or algorithms that will become proprietary. If this is the case, you will probably sleep better if you have an NDA.
Get some legal advice, draw one up, and have it signed before you turn over your idea and details. The goal is that you have “ownership” of all code and algorithms that are developed for your app so that they can never be used or shared.
-
Post-Launch Support
This must be spelled out in any agreement with a developer/team. Even Microsoft discovers bugs that need to be fixed and patches that need to be made. Don’t expect that your app will be perfect at launch – this rarely happens, even those bugs may be minor. Good developers work out bugs along the way (especially with agile development), but you want the assurance that there will support for a period of time post-launch. This support should be detailed in your agreement. And if you want any major changes that were not in the original agreement, be prepared to pay for them.
-
Don’t Be a Scrooge
You get what you pay for – this is a universal truth. Don’t try to penny pinch with your developer. They have been in this business and will give you a price that is typical for the scope of work they will be doing. If you try to negotiate pricing, you may get what you want but the end product may not be what you really want.
In the End…
There is a fine line between managing and micromanaging. Take these 8 tips to make your collaboration with your developer far more productive and successful. It’s really all about relationships, and you have a major role to play in establishing and maintaining good ones.