Home Contact us
Home » News » News & Events » How to Select a Distributed Agile Development Partner: Do’s and Dont’s

How to Select a Distributed Agile Development Partner: Do’s and Dont’s

Aug 17, 2009

Executive Brief

Learn how to choose the right distributed Agile partner. From suggested interview questions and data analysis to a litany of mistakes you should avoid, read on to find the advice straight from a Scrum co-inventor and an experienced industry consultant.

Distributed Agile Development Partner

One of the most difficult questions facing companies today is "How to Choose the Right Distributed Agile Partner?" After all, each and every project needs good people who are totally committed to Agile as this methodology is key to successful outcomes. Because agile outsourcing to offshore destinations is a new business experience for most companies, it can be quite difficult to outsource efficiently and effectively. Thus, here are a series of tips that will help you select the right partner, and avoid any potential pitfalls that you may encounter in this process.

Make sure your partner is using Scrum

It is important to ensure that the agile outsourcing partner is successfully using Scrum. Jeff Sutherland, Ph.D., the Chairman of the Scrum Training Institute, points out that his former company outsourced to a waterfall team in India. After almost two years of collecting data, he discovered that the Boston Scrum team was ten times faster than the India waterfall team. "We sent two million dollars worth of software to India, and we had to pay six million dollars to get it back," he says. "So, we suffered a four million dollar loss."

"Before selecting a distributed agile partner, make sure an experienced individual or an agile coach interviews the potential partner," says Michael Spayd, the President of Collective Edge Consulting in Boulder, Colorado. "A company needs someone who can ask probing questions - to see if the outsourcing partner truly understands what agile really is and how it works."
Make sure that the outsourcing company is implementing agile well.

According to Dr. Sutherland, the Netherlands-based company, Xebia, is a prime example of a company that uses Scrum well. In fact, the company has excellent data to show that all their projects that were jointly completed with their subsidiary in India have excellent results. In fact, the India Scrum team can demonstrate velocity and production by showing how many features it is building every month. Xebia also has data to indicate that its outsourced Scrum team is five times faster than the Waterfall teams on the same significant project. Currently, Xebia has four teams in the Netherlands and four teams in India.

"Ask to see agile artifacts such as the teams" burn down chart," adds Spayd. "It's a simple thing that most agile teams do to show an estimation of what they are going to do at the beginning of the iteration (sprint) and here is how it burned down every day. This is not quality data, but its evidence of how the team is really working."

Hire an onsite coordinator

Spayd recommends that a company should ask the outsourcing distributive partner to provide an onsite coordinator who actually sits in your location. "This is important because it allows more integration between the teams."

Begin by having the teams work together

When you start a Scrum pilot project with an outsourcing partner, it is important to have the teams work together at first for a two week to four week period. Once the team can demonstrate that it is working at a good pace, let the outsourcing team return to its own country. However, it is important to make sure that the velocity stays the same or rises when the teams are separated.

Keep no more than seven people on each team

Good industry data indicates that if a company places more than seven people on a team, it actually takes longer to complete the project. The main reason for this situation occurring is due to communication problems. "Look at the interactions you would need between people. Historically, computer science data shows that if you add more people to a large project, the productivity for the project goes down due to the communication effect," points out Dr. Sutherland.

Pitfalls to Avoid
Not making a true distributed agile commitment

"Too many companies only allow agile outsourcing to a certain number of teams. The problem is the company doesn't make a firm commitment to help these teams do agile well. It takes a significant commitment to work with a distributed agile partner," says Spayd. "Furthermore, team bonding is important, and if a company doesn't allow bonding through visits, it won't have agile teams, but only teams that coordinate together."

Senior management plays pretend agile

Many senior managers pretend that they are implementing agile when in actual fact, the managers are not. Unfortunately, many managers do not really understand or know what true distributed agile is, believes Spayd. These managers only have an outsourcing initiative to fill quotas at a certain level. In many cases, these managers just use the offshore team as a component supplier to finish their part of the project. Additionally, these types of managers choose to "figure out how to put the product back together" at a later date.

Not hiring an agile coach

"Usually, a coach is needed to educate senior management on what distributive agile actually is," says Spayd. "It's important to bring in an outsider, and then later grow agile coaches from within the company." An agile coach is trained to interview and investigate prospective distributed agile partners to determine if they work with agile effectively. Numerous tests, such as the Nokia Test, can be given to determine if the team is ready to work within an agile framework. Many times, these tests can uncover that a team is really utilising a waterfall methodology. In other words, one team is working on design, another team is conducting testing, and a third team is coding.

"That's not agile," Spayd points out. "Agile is producing rested software during every single iteration."

Avoiding daily meetings

Companies should not shortchange themselves by avoiding daily meetings. In fact, Dr. Sutherland recommends fifteen minute meetings - using Skype - so that each team can report what work they completed yesterday, and what work they will complete today. This meeting also provides an excellent opportunity to discuss what may be slowing the team down. "When companies don't arrange for daily meetings, the production rate will drop by 50 percent," he says.

Selecting an outsourcing partner without documented qualifications

One of the biggest challenges is getting the partner to demonstrate that it can run agile projects well. The partner needs to show past examples of proven delivery - or provide some other measure of consistent performance. "Many times, it is quite difficult to get this data out of companies," Dr. Sutherland says. "But, the good ones will be willing to show you data that supports their work. If they won't show you the data, don't hire them."

According to Dr. Sutherland, too many potential outsourcing partners will say: "Oh, we'll do agile just fine." However, you should look for a partner who understands the Scrum process, understands how Scrum manages projects, and also understands how they calculate the velocity of production. Of course, quality is also an important issue. Some of the outsourcing partners generate many defects or bugs, and thus a potential partner needs to show some quality data on historical projects. That said, the standard measure is the number of defects per line of code. "Don't even think about outsourcing to anyone above a ten. If there's less than one, you have a real candidate," he says.

Selecting an outsourcing partner without a good Product Owner or Scrum Master

There are many Scrum teams available that just do not do Scrum well. Problems can occur when the product owner who prepares the list of features does not order them properly. Problems can also occur when the product owner does not work closely with the teams or when a clear list of requirements is not provided. Conversely, scrum masters keep the meetings going smoothly. Moreover, a good Scrum master will ensure that the meetings are short and the agenda is clear.

Doing network with a team that is not self organizing

If a company has people on the team waiting for instructions - which is common in India, it will slow the products down, points out Dr. Sutherland. In other words then, it is important to have self starters on the team.

Further, scrum is based as a continuous process improvement. Thus, the team must examine the problems and discover exactly what problem is getting in their way. Therefore, the team should find out on its own if the company does not have the right resources, the right hardware, or the right physical space. In fact overall, the management must be supportive in order for Scrum to succeed. "I've only seen a few companies do this well in the outsourcing model," he adds.
Outsourcing to a traditional waterfall team

Traditional project management will slow the traditional project. "This is one of the biggest mistakes a company makes," Dr. Sutherland emphasizes. "You really won't achieve any savings because you'll be overwhelmed by the slowness that occurs."

The Benefits to Having a Distributed Agile Partner

Today, more and more companies are considering using a distributed agile partner for numerous reasons. Some of these reasons include:

  • The potential cost savings.
  • The capture of offshore talent.
  • The fact that work can be completed on the project twenty-four hours a day if your distributive partner is on the other side of the world.
  • The opportunity to increase or decrease the size of your team without losing the knowledge necessary to complete the project.
  • The ability to create a distributed outsourcing team with the same velocity and quality as a collocated team.
  • The capability to reproduce the system for project after project once you and your outsourcing partner are working together.

Therefore, before your company decides to explore distributed agile as a means of beating the competition in your field, it may be wise to keep this information in mind.

This article was originally posted by Executive Brief and is the property of ExecutiveBrief

News Archive