We, at Proximity, adopted Agile back in 2005 and have been working with it since then.
Agile is the label given to a growing number of methodologies with names like 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 and most likely will be organizational and communicational ones, and those are what the agile approaches attempt to address.
This is definitively a process where the culture of the organization weighs a lot to have an effective working model, and the way the client has been traditionally involved changes dramatically. If on top of that you add another factor like having resources out of your location, under an outsourcing model, the concept is even more interesting and challenging.
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, sometimes working in different schedules, coming from a different culture, living in a country where English is not the primary language, and not knowing the business as well as we do?
This is a great question!. In fact, this is the type of questions that we have been successfully answering for the last 10 years from Costa Rica.
Velocity, flexibility, agility, adaptability are concepts mentioned very often in fancy sales presentations from some outsourcing providers, but when you go 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, specially in a remote working model, is not just a matter of working with iterations, having releases from time to time, applying unit testing, and having sprint planning sessions and iterations reviews every week or so. For an agile model that involves nearshore resources and distributed teams, all the participants (and especially the nearshore partner) must understand that agile, more than a model or an approach to develop software must be an integral part of the culture of the team and of the entire company.
Methodologies, tools, processes, certifications, and standards are very powerful things if properly used, but at the end, projects are a matter of people dealing with people, and this is what makes projects more interesting and sometimes challenging, because people… are people.
The engineers, project managers, architects, senior executives, the receptionist, the janitor, the secretary, essentially everybody in the outsourcing partner organization must understand this very clear and must live by that. Otherwise, the promise of value added, more velocity, more flexibility and more agility simply won’t happen.
A fundamental precept of services is that the customer is the judge of the value. It doesn’t matter how hard you try, if that hard work is not translated into something that the client cannot tangibly perceive as valuable then the promise will only stay in your sales Powerpoint presentation.