Agile Development

Nearshore means Agile!

At Proximity, we adopted Agile back in 2007 and have been working with it since then.

Agile is the label given to a growing number of methodologies with names such as Scrum, Crystal, Adaptive, Feature-Driven Development, and Dynamic Systems Development Method (DSDM) among others.

These new development approaches are based on the premise that if you have competent developers, you can presume that they know how to write code. The problems your developers encounter, therefore, aren’t coding or technical issues. They’re most likely organizational and communication problems, which is what Agile addresses.

This is definitively a process where an organization’s culture factors in to make an effective working model, and the way the client has been traditionally involved changes dramatically. If on top of this you add another factor, such as having resources out of your location, the concept is even more interesting and challenging under an outsourcing model.

The question many clients ask us when thinking of outsourcing and Agile development is, “How can I have a collaborative, flexible, rapid, and adaptive model when my team, or part of it, is located thousands of miles from my office — especially if they sometimes work different schedules, come from a different culture, live in a country where English is not the primary language, and don’t know the business as well as we do?”

This is a great question! In fact, this is the type of question we have been successfully answering for the last 10 years from Costa Rica.

Velocity, flexibility, agility, and adaptability are concepts mentioned often in fancy sales presentations from some outsourcing providers. But when you dig deeper and start asking the right questions about how the day-to-day work is translated into those conditions, the answers are not always clear or satisfactory.

The answer is simple: Agile development, especially in a remote working model, is not just a matter of working with iterations, having releases from time to time, applying unit testing, and holding sprint planning sessions and iterations reviews every week or so.

For an Agile model that involves nearshore resources and distributed teams, all participants (and especially the nearshore partner) must understand that Agile is more than a model or an approach to develop software. It must be an integral part of the team and company culture.

Methodologies, tools, processes, certifications, and standards are very powerful things if properly used. But in the end, projects are a matter of people dealing with people. This is what makes projects more interesting and sometimes challenging, because people… are people.

The engineers, project managers, architects, senior executives, receptionist, janitor, secretary — essentially everybody in the outsourcing partner organization — must understand this very clearly. Otherwise, the promise of value added, more velocity, more flexibility, and more agility simply won’t happen.

A fundamental perception of services is that the customer is the judge of the value. Yet it doesn’t matter how hard you try, if that hard work is not translated into something the client cannot tangibly perceive as valuable, then the promise will only stay in your sales Powerpoint presentation.

Pura vida!