We all know the payoffs that can result from employing the Agile methodology and employing it well: from highly effective self-managed teams, increased flexibility and realtime change management ... to tight quality control and heightened collaboration.
But what happens when you are already doing Agile in-house and then want or need to expand your Agile development circle to include an outsourcing partner that is 5,000 miles away?
Does the progress of the Agile work get delayed, or even worse, derailed? Does the spirit of team cohesion and collaboration shatter?
Elastic Path, a Vancouver, BC-based company that is in the ultra-competitive, fast-paced market of e-commerce software found that doing distributed Agile with an outsourcing partner can achieve just the opposite. It can not only be a great shot in the arm to a project's resource pool, but also it can provide true team scalability, pump-up expertise levels significantly and heighten quality when you do it with the right team, tools and techniques.
Extending Agile to Meet Growing Business amp; Development Requirements
As a way of staying in step with a compressed time-to-market environment for new releases of its e-commerce platform, Elastic Path was already leveraging in-house Agile development for maximum collaboration, heightened productivity and more flexible change management.
However, when it "upped the ante" by wanting to further accelerate a redesign of its web-based Commerce Manager product using Agile, it became quickly apparent that the company would need help beyond its in-house development team.
The mission at hand would include a pilot program to migrate Commerce Manager to the more advanced Eclipse RCP platform with the goal of giving online store owners a more flexible, feature-rich, and easily interfaced and maintained application for the management of product catalogs, sales orders, inventory, shipping and customer profiles.
Now looking externally to help get the job done, Elastic Path wanted an outsourcing player with domain knowledge and Eclipse development expertise, as well as a seasoned partner in distributed Agile.
It was looking for a provider that was interested in a long term, value-add relationship vs. a one-off project and someone who could scale resources to meet its needs and keep development costs steady.
"We were looking for an outsourcing player that could deliver a wide range of skills quickly and flexibly and that understood the "business" of software product development," said Gordon Janzen, COO of Elastic Path.
Can Agile Do That?
Elastic Path's set of requirements were not that easy to fulfill, as distributed Agile resources are still relatively scarce despite the fact that Agile can actually be even better suited to an offshore vs. waterfall/sequential development environment as it can provide heightened project visibility and feedback, high responsiveness to change, accelerated time to market and overall quality and efficiency gains.
In order to leverage these benefits and avoid potential pitfalls, it was critical for Elastic Path to have access to development and management talent that knew how to tackle the challenges that can come with distributed Agile such as teams across multiple continents and time zones, the inability to meet face to face daily, language and cultural barriers and a lack of trust that can result from an "out of sight out of mind" mentality if left unchecked.
Finding the Right Team
Wanting to bypass these issues, Elastic Path went through an extensive search before deciding to partner with Luxoft, a global provider of high-end software application and product development services with resources in Central and Eastern Europe, North America and Asia.
Luxoft was chosen because it brought a successful track record in distributed Agile, a team with seasoned Scrum Masters and XP Coaches, and a proven Agile infrastructure that included tools and processes for effective distributed communications and development.
Luxoft was also able to provide nearshore management capabilities right in Elastic Path's home town out of its Luxoft Canadian headquarters in Vancouver, as well as quickly build a team that included offshore developers and testers based in the Russian cities of Moscow and Omsk.
This combination of nearshore and