Outsourcing Software Development:
10 Effective Management Tips

Share on facebook
Share on twitter
Share on linkedin

Run-through

Release Notes: New Account Navigation, Upgraded Dashboard Overview + More

How do you feel about your process for onboarding developers? How do they feel about it? You can ask them. You can also examine your first-year developer turnover to get a sense of its effectiveness, too. In our last post, Why Software Developers Leave, we tackled turnover. About 40% of developers leave in their first year. Of these, 43% leave in their first 90 days. Plus, turnover for tech startups always runs high. So, let’s examine steps you can take when onboarding developers to help your them settle in easier and become more productive faster.

Read More »

Onboarding Developers: 9 Tips for a 90 Day Program

How do you feel about your process for onboarding developers? How do they feel about it? You can ask them. You can also examine your first-year developer turnover to get a sense of its effectiveness, too. In our last post, Why Software Developers Leave, we tackled turnover. About 40% of developers leave in their first year. Of these, 43% leave in their first 90 days. Plus, turnover for tech startups always runs high. So, let’s examine steps you can take when onboarding developers to help your them settle in easier and become more productive faster.

Read More »

By GITENTIAL TEAM

Outsourcing software development teams sounds like a quick fix for companies. But is outsourcing successful? If we look at the State of Software Development Report 2019, by Coding Sans, we are not so sure. On one hand, their report shows double-digit growth in outsourcing. Yet, only 21% of those outsourcing were completely satisfied with the experience. If you’re in similar shoes and want to increase the satisfaction rate of outsourced development, the following tips will be useful to you.

Proper project planning and preparation...

In preparing for battle I have always found that plans are useless, but planning is indispensable. – Dwight D. Eisenhower

Prevents p*** poor performance. We can’t get away with that many “p-words” without including the Pareto Principle. Nearly 80% of those surveyed by Coding Sans had a less than stellar experience when outsourcing software development. That’s scary. Unless your project is in a zone of conflict, there should be limited opposition to your project plans. So, what’s behind this disparity?

The Pareto Principle tells us that the majority of effects are the result of a minority of causes. The Project Management Institute’s Pulse of the Profession 2018 cites 15 causes of poor results. Some may be beyond your control, like changes in project objectives and priorities. But, you do have control over three of the most common causes. Proper planning improves communication and clarifies project goals based on accurate requirements gathering. So, let’s make the next time you outsource software development a great experience!

1. Due diligence for outsourcing software development teams

Companies looking to outsource software development should start with a due diligence evaluation of prospective software developers and agencies. It may be extra work, but it is half of the battle when it comes to effective outsourcing management. Besides, foregoing due diligence is a recipe for a mitigated disaster, at best. Before contracting with anyone, survey the field to find the “best” software development agencies or freelance software developers for your project.

  • Define your software project requirements (native language fluencies, programming language proficiencies, tools, technologies, methodologies, certifications, etc.). The more detailed your checklist, the more efficiently you’ll be able to achieve best results.

  • Gather a list of software developers, teams, or agencies that appear to fit your requirements. Examine their project portfolio for projects of similar scope or complexity of yours. Aim for a list of 5-8 developers or agencies.

  • Prepare project requirement questions in advance and arrange an interview with them. Verify their ability to meet your requirements, team composition, schedule flexibility, and whether their rates are low-medium-high tiered. Ask for contact information of referrals.

  • Evaluate and rank each outsourcing candidate and talk with references of your top three development agencies. Checkout LinkedIn, Glassdoor, Clutch, etc., for additional customer and even employee reviews (retention plays a part). If unsatisfied, you may need to expand your list.

  • Use your outsourcing shortlist to arrange another call or meeting with the top three software development agencies to get a proper cost estimate, assess their responsiveness, degree of rapport, and any other factors you still have questions about. Now, you should be able to make a final decision.

This sounds like a lot of work, but the better your project requirement checklist, the more efficient you will be. Steps 1-4 should take no more than a full day to complete. The last step may take longer to coordinate and for the software agency to develop a proper cost estimate.

Some trade-offs may be necessary, “High-Quality, Fast, or Cheap – Pick Two.” Still, the benefits of outsourcing software development can be extremely attractive. For starters, you have access to a much broader pool of skilled developers. At the same time, by outsourcing software development teams you’ll avoid the expenses of offices, hardware, electricity, and insurance, to the financial advantages associated with Purchasing Power Parity as relative to wages. The average wage of software engineer in Silicon Valley runs in excess of $115,000, under $55,000 in Western Europe, and just $27,000 in Eastern Europe. But then, the cost to rent an apartment in San Francisco starts at roughly $3,600 per month. The disparity may sound like this is a qualitative issue, but it deserves a much closer look.

2. Clearly define the project

Do you remember the childhood “telephone game”? You select a short message, whisper it in a classmate’s ear and then say, “Pass it on.” By the time it goes full-circle, odds are the message has changed. Imagine the chaos when not everyone speaks the same language! Then, add all the complexity of an offshored software development project, and some will be silently asking, “They want software to do what…?” We all want to avoid that. Start every project off on the right foot by clearly communicating project requirements from the very beginning:

  • Product vision statement – The goals of the project to include which business and performance metrics will be used to evaluate the success of the project.
  • Product roadmap – A visual summary of how the product will develop over time,
  • Project requirement checklist – A detailed technical list of each device to be supported, each module or feature to be developed, which might also include the specific tools, libraries, frameworks and other third-party solutions to be used.
  • Scope of work – Assignments for each party – especially with multiple teams.
  • Coding standards – A style guide for developers to assure consistent coding.

In many cases, non-tech companies outsource their software to developers because they have very limited in-house development capabilities. The company outsourcing custom application development knows its business, industry and audience very well. However, they may have no clue about software development. The roles are switched for developers. It is on the development team to learn the business case for their client’s software project.

3. Organize meetings and create and analyze reviews, and reports regularly

Meetings are essential, with different types of Agile or Scrum meetings, all serving different functions. Of special interest here is how to handle situations when your offshore development team is spread across multiple time zones.

  • All regular daily meetings should be scheduled at the same time every day; and the same day and time for weekly meetings, barring holidays.
  • With a highly-distributed offshore development team, it may be necessary to have two meetings (for each set of time zones). In some cases, like informational meetings, it may be sufficient to make a video or audio recording of the meeting or at least share meeting minutes.
  • Ad hoc meetings should always be scheduled at least 24 hours in advance. They need to specify who should attend, when, what materials will be covered, the reason why, and where or how the meeting will be conducted (Zoom, Skype, or otherwise). This gives all team members an opportunity to gather and organize any information they need to share.

Code reviews should be treated as formal meetings when involving more than two developers. Code reviews have a high impact on code quality, developer learning and product quality. Most types of these reviews should be conducted without a manager present. The same practice should be discussed with the outsourced agency’s manager or team leader with the aim of pairing developers with similar levels of coding experience.

Reports often run hand-in-hand with meetings. It wastes a lot of time to have meetings for someone to read from a report. That’s time better spent discussing it. Just as you schedule meetings for set times, reports should be due ahead of time so everyone has an opportunity to review them in advance. Fewer outright surprises equates to calmer dispositions.

4. Use management tools for outsourcing software development teams

If you are managing outsourced software development teams, they should use the same project management tools as you. But, if you are relying upon a software development agency to manage your project, you want to use their project management tools. Though Jira, Confluence, Slack, and Basecamp remain in popular use. A slew of other tools have entered the market like Trello, Monday, Teamwork, and Wrike, among others. The same goes for conferencing software with Skype, Zoom, Google Hangouts, and Uberconference.

Make sure that your tools work for the job, that your developers are comfortable using them – and actually do use them. Project management tools are instrumental for maintaining document and file version control. Someone slacking, “didn’t get the memo” or failed to upload theirs can end up causing a lot of duplicate effort. Include familiarity with specific project management tools in your due diligence evaluation.

To show your outsourced software development team that you are highly organized, add two extra steps. Provide them contact information for your system administrator or other authorized representative. They’ll need to set up accounts and permissions for your outsourced development team. Ask their manager to collect the names, roles and email addresses of their team members. Your system administrator can set everyone up at once.

5. Respect your outsourced development team

Software developers come from all walks of life from all around the world. Treat everyone as you would expect to be treated – with dignity and respect. Make an effort to pronounce their names correctly, even if you need to ask. The easiest way to avoid problems in today’s world is to simply focus on the work at hand. Encourage the members of your outsourced software development team to offer suggestions and solutions. Listen to what they have to say and consider putting it to use if you determine their solution will perform better. Thank each member of your offshore team for their contributions, time and effort, by name.

6. Reduce language barriers with offshore projects

Offshore software development often involves working with software development teams from Eastern Europe and Southeast Asia. Not everyone is equally fluent in English, and some dialects or accents can be very difficult to understand without an untrained ear. Odds are it is a two-way street. This could be a problem, but you have many tools and techniques available to you to overcome the language barrier. The following tips can make it a lot easier for you to effectively communicate with everyone in your offshore software development team:

  • Speak a little slower and use simpler words.
  • Watch facial expressions and pause frequently to make sure the listener understands.
  • Use documents that make it easy to copy/paste into Google Translate.
  • Make liberal use of pictures and diagrams.
  • Use the Speak & Translate App – over 26,000 ratings with an average of 4.4 stars!
    Add iTranslate as a backup – over 14,000 ratings at 4.6 stars,
  • Hire or designate a translator for meetings.
  • Record videos of meetings and perhaps provide translated captions for your most important meetings.
Translation software has improved steadily over the past fifteen years, but still has much room for improvement. While we’re on the topic, if you’ve used any language translation apps, please tell us about your experience on Twitter!

7. Be aware of holidays

Every country has its own different national and religious holidays. When working with offshore developers in different countries, make sure to ask their manager what holidays they observe.
It is also worth checking to see if they have any outsourced team members residing in other countries, as well.

Reflect these on your project calendar. Depending on just how widely distributed your offshore development team is, it may be necessary to negotiate some compromises. This is something that should be done well in-advance. Nothing is as demoralizing as having to cancel a celebration with friends and family at the last minute. The more advanced notice, the easier it is to find a compromise and avoid disruptions with offshore development teams.

8. Calculate with different time zones

Timezone disparity is a factor that should be addressed in your due diligence stage. Otherwise, you may just be waking up as your outsourced software development team goes to bed. It’s still likely that you will share some overlap time when everyone is at work. Your goal is to maximize it and use the time differential to your advantage.

If you are in California and have a meeting at 10 AM to deliver a progress report to your client, your offshore team in Eastern Europe has an extra 8-10 hours to have it ready for you or fix the most glaring defects and bugs.

9. Consider Certified Project Manager Professionals

When it comes to outsourcing software development teams, the value of a Certified Project Manager Professional (PMP) deserves consideration, too. Among the most difficult certifications one can obtain, PMP’s are devoted to perfecting the process of delivering their projects on time, on budget, and to the customer’s satisfaction. For every $1 billion spent, the Project Management Institute estimates $97 million is wasted due to poor project management. It’s worth paying more to outsource with a software development team led by a PMP – chances for success increase just as chances for problems and outright failure decrease.

10. Track and manage performance - use analytics for outsourcing software development

You will want the help of automated software development analytics to help you track and manage performance when outsourcing software development teams. The axiom is “trust, but verify.” If developers are not on site, it’s hard to know what they’re working on across all stages of a product. Are milestones not being hit on schedule? Is the backlog growing when it should be shrinking? If you are curious about the productivity of your outsourced teams, we have an interesting case study involving outsourcing software development that you’ll want to see.

Gitential’s Automated Software Analytics

Gitential automates the tracking of all manner of software developer metrics, productivity, code churn, activity with test repositories, interaction between developers, and more. Please take a moment to check out our free demo – or sign up for a free trial, no credit card is needed.

Release Notes: New Account Navigation, Upgraded Dashboard Overview + More

How do you feel about your process for onboarding developers? How do they feel about it? You can ask them. You can also examine your first-year developer turnover to get a sense of its effectiveness, too. In our last post, Why Software Developers Leave, we tackled turnover. About 40% of developers leave in their first year. Of these, 43% leave in their first 90 days. Plus, turnover for tech startups always runs high. So, let’s examine steps you can take when onboarding developers to help your them settle in easier and become more productive faster.

Read More »

Onboarding Developers: 9 Tips for a 90 Day Program

How do you feel about your process for onboarding developers? How do they feel about it? You can ask them. You can also examine your first-year developer turnover to get a sense of its effectiveness, too. In our last post, Why Software Developers Leave, we tackled turnover. About 40% of developers leave in their first year. Of these, 43% leave in their first 90 days. Plus, turnover for tech startups always runs high. So, let’s examine steps you can take when onboarding developers to help your them settle in easier and become more productive faster.

Read More »
WhySoftware Developers Leave

Why Software Developers Leave

Understanding why software developers leave positions engineering managers to tackle one of the scariest industry-wide metrics – Turnover. It’s a persistent, recurring, expensive issue. There are several ways your company can avoid and mitigate turnover. This includes being aware of turnover triggers and the reasons that go with them. Developers at risk of leaving show plenty of warning signs that you can casually observe and track with software development performance analytics. So, let’s get you up to speed on what to watch for and things your company can do to keep your team together longer.

Read More »

Did you like our content?

Spread the word

Share on facebook
Share on twitter
Share on linkedin

Subscribe to Our Newsletter

Don't miss our latest updates.
All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.

Did you like our content?

Spread the word

Share on facebook
Share on twitter
Share on linkedin

Subscribe to Our Newsletter

Don't miss our latest updates. All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.