Choosing The Right Software Vendor for Agile with Distributed Teams
Analyzing, Working With, and Evaluating Success
In an ideal situation, Agile software development teams work side-by-side, but given the challenges involved in procuring talented engineers, that’s not always possible. Companies can be timid about outsourcing such a critical function, unsure of whether a distributed team can provide the high-level support necessary to meet deadlines without sacrificing quality.
This guide explains how to evaluate software development vendors, set up your outsourced teams for success, and leverage the benefits of Agile development with teams working from multiple locations.
Evaluate Potential Vendors: Your First Date
Depending on your vendor selection criteria, you may add questions related to how quickly the team can ramp up, flexible contracts, and matching the caliber of engineers to your internal team.
The following set of questions is related to methodology. Start with very specific questions (and listen for the right answers)
How are your teams structured? The answer should demonstrate:
- Good knowledge of how an Agile development team is structured including skills, optimal team size, etc.
- The ability to custom design teams that complement the strengths of your internal team. The vendor should share multiple examples of teams they have built to support co-development. There are many ways to structure a team for success.
What methods do you use to ramp up on business and technical knowledge? The best answers include:
- Creative and proven methods for modifying Agile practices such as pair programming.
- Strategic sprint planning using small units of work designed to help programmers learn an existing code base while still adding value to the business with each release.
How do your teams communicate with my team? The answer should demonstrate the ability to cut through red tape and non-technical speak and connect talent on your side to talent on the vendor’s side—directly, transparently, and productively. In Agile development, the team structure is relatively flat and consistent, collaborative communication is encouraged among all team members.
Ways to Determine Vendor Suitability
Are you satisfied that the vendor has good knowledge and will be able to work well with your team after drilling the vendor on Agile development? Have you had an opportunity to speak with the most senior member of your vendor team to ensure they are experienced in Agile development with remote teams?
Has the vendor suggested a “crawl, walk, run” approach to the collaboration? If not, this is a red flag. Every team is different and reaches success with varying tactics to improve communication and collaboration. We put new employees through a probationary period, right? Don’t get married before having at least a few long dinners.
Is the vendor team fully transparent? Are you using tools that enable both teams to see what the other is working on? Is it easy to understand the vendor team’s productivity and measure the quality of their
work? Is the vendor suggesting an infrastructure and processes that encourage good communication among all team members?
Empower Your Technical Leads
• Master the right balance of oversight and autonomy.
• Encourage your in-house Technical Leads to customize the way their
own teams work.
• Provide the vendor (your partner) the same level of autonomy you provide your own teams—giving its people the opportunity to demonstrate the value of their way of operating.
Embrace the Concept of Partner-side Technical Project Leads (What We Call Tech2Tech)
• Connect your Technical Lead with a deeply experienced engineer of the same caliber from the vendor team. Linking these two experts enables your vendor team to quickly learn your lingo, processes, standards, business objectives, and preferences.
• Your vendor-side Technical Lead provides day-to-day and face-to-face management for their teams. Your remote team needs daily support in their time zone for technical guidance, clarification of the business, code reviews, etc
• This is balanced with full transparency and connecting all engineers for true collaboration—to reach the goal of your partner’s team being an extension of yours.
Understand the Value of Your Vendor Working Directly With Your Internal Engineering Team—Not With a Business Unit
• Everything works better under this arrangement, and results in higher quality deliverables and a higher quality experience for your team.
• Both teams speak the same language and working under internal technical leadership ensures strong communication and project success.
• Your internal Technical Lead will continuously evaluate your vendor team for productivity, ability to ramp up on the business, problem solving skills, and quality code.
When we work directly with strong engineering organizations our people are challenged. This in turn helps us retain top talent. Your vendor’s ability to retain good people ensures your result is top-notch and your IT investment is secure.
How Can You Gauge Success?
You’ll know your partnership is successful when you:
• Realize your partner knows what kind of people are a perfect fit for you
• Have total trust in your partner’s ability to grow with you.
• See your partner working with you to continuously find ways to reduce the productivity tax associated with working wit distributed teams.
• Have seen your partner add value by doing things such as implementing Kanban for the production support team, experimenting with concepts like swarming, and testing a flavor of pair programming that works great for teams working in two different time zones
• Benefit from having a remote team who shares your business goals and exhibits true ownership in producing quality work
• Hear positive feedback from your internal teams with comments like, “I really trust the outsourced team and feel comfortable going on vacation. I know it’s handled.”