The challenge with Agile in general — whether outsourced or not — is that the business stakeholder reasonably wants to know how much a project will cost, and when it will be done. Defining cost, scope and schedule in advance has typically been the way that outsourced projects are controlled.

Agile principle:
Projects are built around motivated individuals, who should be trusted

But with customer-facing products in particular, it is often the case that the product and engineering team — whether they are outsourced or internal — simply does not know what constitutes the final successful feature set and product in advance.

The competitive market circumstances may change while a product is in development. Technology ecosystems frequently change very rapidly, requiring an adjustment of some early architectural, API or stack decision.

And, customers may respond to features in ways wholly unexpected — positively or negatively — requiring further changes. Though all of these changes should result in a better product.

These are challenges when the whole, or part, of a software product’s development is outsourced and there are significant costs involved.

First, the outsourcing provider is reluctant to spend valuable time and resources estimating requirements in detail in advance, knowing from experience that these requirements will change. And it is impossible to how long something it will take to develop therefore.

Agile principle:
Welcome changing requirements, even late in development

Second, this represents a contractual challenge. What does an Agile contract look like when a confirmed requirements spec, schedule, and cost are not available?

At Daitan, we face this challenge this by working hard to build trust. Right from the outset. In an ideal case, clients know that they have a large amount of work to do. They understand that they don’t know exactly what it all entails. What they should be confident knowing is that they are hiring a proven expert Agile team, of a known size, at a predictable cost. If a project properly follows Agile principles, a client should be confident that they will be able to continuously adjust what the team is executing as the project progresses. They should never, ever, be in the dark about what the team is doing, what they have accomplished, and what they intend to do next.

Agile principle:
Self-organizing teams

Plus, a client should expect to leverage the outsourced team’s expertise to educate and guide so that each feature, and the project as a whole, is successful. A client should expect the outsourced team to say ‘here’s how,’ when a challenging technical situation arises mid-project, and to say ‘no,’ when a request or change or course correction is ill-advised.

If you’re interested in learning more about our Agile best practices, then take a look at the white paper below. This White Paper defines five best practices we have learned in making Agile software development successful as an outsource vendor, and how we build an Agile-centered relationships with our clients.

Get the Agile Best Practices White Paper

Get the Agile Best Practices White Paper