What We Learned From 1,000+ Development Projects

DevTeam.Space
Signal
Published in
6 min readDec 17, 2015

For most businesses, having an in-house development team is simply not an option. You already have dozens of responsibilities on your plate. Having an extra five to ten developers in your company means more salaries, more time lost in management, and more stress.

This is exactly why businesses of all sizes and in all industries decide to outsource their app’s design and development to ready-made teams with experience. This process of delegation lowers costs, shortens the time from concept to launch, and allows you to continue focusing on core business activities.

Both remote software development teams and the mass of businesses that employ them have exponentially increased in number. The vast majority of software today is developed via outsourcing, and we believe the ratio will continue to grow in their favor.

Of course, this movement brings with it many challenges. The two main ones are:

  1. Remaining on top of the development process
  2. Maintaining a high standard of quality

Today we would like to offer you an overview of what you can do, as an app owner, to assure that your app’s development process is as smooth as can be.

Eliminate as Much Doubt as Possible

From the very beginning, be very clear and very blunt. The rule here is to avoid presumptions. Don’t presume the devs know what you want or how you want it. Here are a few points of advice to help you eliminate doubt:

  • Don’t talk about it. Write it down. Conversations are great because they allow you to bounce ideas much faster than whilst writing. Just make sure that all conversations result in a written outline of everything that was discussed.
  • Emails get lost. Have a specific place where everyone can find all of the info they need. For this, we recommend shared documents.
  • Use as many forms of description as possible — feature lists, drawings, helpful examples, videos. Don’t explain a feature if you saw it somewhere and you can show it. The developers will appreciate having the vision of a final product, and you will increase your chances of getting exactly what you want.
  • Remember that everyone has their own point of view. Your idea of “bigger” or “darker” might mean something very different for the designer. Be specific. How much bigger? How much more to the left? Do you mean vertical or horizontal center? Again, don’t leave anything to chance.

Ways to Keep in Touch

Professionals are not robots. They’re regular people, just like you and me. As a result — It is best to avoid having long, back-and-forth emails conversations — no one likes them. Use email only to discuss less important or less time-sensitive issues. Instead, use other, more effective means of communication.

You can use sharable documents, to-do lists, instant messaging, chat rooms, video conferences, phone calls, and a variety of other tools.

Let me give you a few examples of what each of these mediums can be used for:

  • Shareable documents — For everything important
  • Google Docs, amongst other such apps, is a great tool that helps you keep all project related information in one place and always up to date. Everyone has access to these files and all changes are being tracked by the app.
  • To-do lists — To oversee workflow
  • Do not ignore the usefulness of list apps such as Wunderlist. They make collaboration and workflow management incredibly transparent and straight-forward. You can create task groups, assign tasks to specific people, set priorities, deadlines and reminders, and centralize all task-related discussions.
  • Messages and chat rooms — For unimportant conversations
  • There are many great mediums to keep in touch with your team. You can use apps like Facebook Messenger, WhatsApp and Slack. Again, use these for less important conversations, or make sure that all conclusions are added to the shared docs.
  • Video conferences — For large projects
  • Apps such as Skype or Google Hangouts allow the dev team to give you a live tour of your product, explain the progress they’ve made, and respond instantly to any questions you might have.
  • Phone calls — Only if necessary
  • In most cases, there is no reason to use phone calls. Such conversations might get lost or misunderstood. If you feel that you must use phone calls, then make sure the contents of the discussion are noted in a relevant shared doc.

Important note: Effective communication is always two-ways. You cannot expect your team to know what you’re thinking, so be proactive about offering constructive feedback and asking questions as often as you can.

Have a Separate Account/Project Manager (PM)

It is critical to have someone in charge of managing the development process and keeping all stakeholders in the loop. Many times, both these roles can be handled by one person. Someone which has a technical background and is also skilled in effective communication.

The PM has to understand technical terms and be able to translate them into plain English. And this goes both ways. All of your requirements and feedback have to be broken apart into small modules and tasks for the devs to work on.

A PM knows and uses all of the points outlined within this article. An effective PM is invisible during most of the development process.

You talk and give feedback directly to the devs, which are the ones responsible for providing you with daily reports. Project managers hop in only to when needed, to clarify or solve certain situations.

Use Version Control Systems

Make sure the dev team uses systems such as Github or Bitbucket and request an invitation to the project’s branch. This will allow you to see all of the changes that are being made to your app’s source code.

This point is extremely useful for tech-savvy co-founders who understand everything that’s going on. On the other hand, if you are not familiar with the code, the PM has your back.

In either case, we recommend that you insist on the use of versioning systems, even if there will be just one person working on the code for your app.

Regular Pulse Checks

Most software development projects take several months to complete. Don’t expect everything to go as planned and don’t wait until the last month to check on progress.

Together with your project manager, decide on a system of communication. We recommend daily written reports and weekly calls.

Remember: It’s not that you don’t trust your team. You just don’t want to take any chances. At the end of the day, this is better for both sides.

Trust Your Gut Feeling

If you have doubts or simply don’t understand certain aspects of the development process: ask. No one expects you to understand everything. You’re hiring a team of experts for a reason. If you pay them well, it is their duty to both deliver a finished product and keep you informed throughout the entire process.

One of the biggest mistakes you can make is ignoring the small, silent voices that pop up in your mind. State your observations as soon as they arise. This will help you avoid any unpleasant surprises down the road.

Avoid Micro-Management

Set up a clear system of communication and then trust the process. If you’ve picked your dev team well enough, then they know what they’re doing. There is no need for you, or anyone else, to disturb them.

As discussed in previous points, there are tens of tools and systems that help you keep track, on a daily basis, of everything that’s being done on your project. Avoid interrupting your team for the sake of conversation. Let them do the work and engage with them only at scheduled meetings.

Taking into consideration all of the above points will almost guarantee your app will be ready on time, within the specified budget, and with the least bit of obstacles.

If you’re thinking of having something built or improved, tell us about it. We have over 700 experienced developers working in teams, ready and waiting for a challenge.

If you liked the post, click the 💚 below so other people will see it here on Medium.

--

--

DevTeam.Space
Signal

http://DevTeam.Space - software development on demand service you can trust your most important projects.