In Part One of Gorilla Logic’s blog series on Agile software development, we provided recommendations for how you can realize stellar results when leveraging an Agile outsourcing model. In Part 2 of this series, we share five steps for evaluating Agile software partners that set you up for success.
Step 1 – Define Your High-Level Requirements
Before embarking on any Agile initiative, define your high-level requirements. This will help you determine your scope and resource needs. There is a cost to complexity, so look closely at what product you want to deliver to your customers. Simplify and scope down wherever possible to focus on the features that will drive customer adoption and/or retention. By only onboarding the resources you need to develop a minimal viable product (MVP) that satisfies your client and product stakeholders, you can go to market faster and begin driving revenue.
Step 2 – Vet Your Agile Partner
Your outsourcing partner should do more than just provide you with a few developers. They need to embody the Agile mindset by not only providing you with purpose-built teams but also serving as a collaborative partner who is focused on your success.
Your Agile teams should embed themselves within your organization quickly and collaborate easily with internal teams. They must also have a track record of delivering value in short periods of time. Finally, they should work within the same cadence, tools and platforms as your in-house resources – participating in retros, daily standups, and Program Increment (PI) planning.
Communication leads to efficiency and is crucial to the success of any Agile initiative. Be wary of outsourced development partners who assign a middleman to communicate on behalf of their developers. Working with outsourced teams outside your time zone or teams that lack the English fluency and cultural alignment you desire could result in additional complexity and workflow delays.
Ask your potential partner if there are resources their consultants can turn to if they are struggling with an issue. Ideally, your Agile team will have easy access to other experienced developers who can discuss options and suggest technical solutions to overcome roadblocks.
Finally, make sure your Agile partner can provide specialized services that you might need such as scaling Agile, or migrating your IT assets from on-premises to the cloud. Will your partner advise you whenever you need them – before, during and after your high stakes initiatives? Everyone needs help. Your partner should provide the resources and expertise you require to keep your projects moving. Use this Nearshoring Partner Checklist as a guide.
Step 3 – Establish Your Budget
Your resource needs may change throughout your digital transformation initiatives. Engage with a partner that can scale the number of teams you need to support your internal resources at any given time. This will ensure that the development process moves forward efficiently.
Also look at the total investment of the teams you are acquiring. If you are working on high stakes projects, you need high-quality engineers that can interact with your internal engineers and product stakeholders in real-time. Not only will you benefit from their experience, but you can utilize your budget more efficiently. Our clients tell us that their having fewer high-quality engineers working with them in the same time zone is often more productive and cost-effective than having two or three times as many engineers who are working in a significantly different time zone.
“It’s not only about the code – although you cannot be a 10X Engineer without having the talent first – it’s about making the team around you better, too.” Stu Stern, CEO and Co-Founder, Gorilla Logic
If you engage with remote teams that aren’t working onsite, factor in budget for travel. Plan to have one team travel to meet face to face with the other team at least twice per year. Doing so helps to streamline communication and increases productivity.
Step 4 – Agree to a Team Composition
Work with your Agile partner to determine the size and skill composition of your team. At Gorilla Logic, we’ve had scrum teams as small as four to five people and as large as 15 individuals. In our experience, a standard scrum team comprised of six to nine people is optimal. Our clients rely on us to provide purpose-built teams that seamlessly fit into a scaled Agile environment based on their specific needs.
Some Agile partners will promote their developers as having cross-domain expertise so they can swarm to assist a fellow Agile team member in removing obstacles during the development process. But it’s not quite that simple. You need to determine if the apps you are developing are conducive to swarming. For example, web and mobile application development should be done together. Yet, in the case of an AI solution, it may be more efficient to have a team focused on big data while another is in charge of data analytics.
Step 5 – Evaluate Team Members and Determine Success Metrics
Your internal and outsourced teams should be able to self-evaluate in terms of completion against commitment. They need to work in sync at all times and showcase the work they’ve completed in the cadence you’ve agreed upon. Establish metrics for evaluating the quality of deliverables in advance, for example, number of bugs by category i.e., Critical, High, Medium and Low. You typically want to avoid shipping a product that contains any Critical bugs or a significant number of High bugs.
The QA process should also entail a security scan including port scanning, OWASP code and penetration testing using a tool like SonarQube. Finally, the team should run a load and stress test to ensure that the known limits of the application meet requirements and provide graceful failure using tools like JMeter and Gatling.
Ensure the success of your Agile initiatives with Gorilla Logic
Engaging with the right Agile software partner can make the difference between shipping game-changing product and being mired in endless development cycles. Following the five steps we’ve listed will help you determine the right Agile resource for your specific needs.
1. Simplify your project scope and identify a minimum viable product (MVP) based on your stakeholders’ needs.
2. Determine if your potential Agile software partner’s work style, cadence, tools and platforms align with your in-house resources.
3. Conduct a cost analysis based on your potential Agile software partner’s timezone, level of expertise, and ability to scale resources according to your needs.
4. Determine your Agile team size, composition and cross-functional expertise (if needed).
5. Collaborate with your Agile software partner to establish metrics for evaluating team performance and quality of deliverables in advance.
Learn how Gorilla Logic provides enterprises with top-tier Agile teams to help them stay ahead of the innovation curve.