Whether you are looking to complete a project under the framework of standard project management principles or an adapted methodology, like Agile for software development, you need to consider that there is always a high probability for project failure..
The stats on failure shouldn’t overshadow the potential for success. How projects are planned and managed is a vital competency for success, but that is not the only preparation that needs attention. Besides the “How” there is the equally, if not more, important “Who?”
Who is going to make up your project team? And, if you are looking to outsource your work, the selection criteria for internal and external team members is of crucial importance to maintaining quality, meeting budget, and staying on schedule. Working within an Agile framework offers flexibility and scalability when effectively applied into a software development life cycle, but it’s not without risks. You need the right people and partners to be successful.
Here are some questions to consider asking of your team and potential outsourcing partners to avoid common pitfalls and meet your expectations for delivery.
Questions to ask yourself:
What is your definition of Agile?
Agile can be an umbrella term for how any type of software development work is managed or mismanaged for that matter. When you are looking to integrate with outsourced teams, your approach needs to be buttoned up so that it can scale across project stakeholders and be consistently followed.
It doesn’t much matter if you are overlapping Scrum with Kanban, or derivatives of each mixed together, provided that your team is on the same page and you can effectively on-board new team members to follow the flow. If it’s reproducible, it can be learned and scaled.
How engaged will you be in the SDLC?
Are you outsourcing your entire scope of work or are you augmenting your existing team? These are very different models, though oftentimes overlooked when searching for an outsourcing partner if your focus is on other, pressing project constraints. Be explicit about what support you are going to need. Agencies can have broad, end-to-end capabilities or be very specialized and you need to assess where their strengths are and if they match your current needs.
How do you want to select talent?
How engaged should you be in the talent selection process? That does depend on the model you’ve selected, but in the case of staff augmentation, the short answer is: VERY!
Avoid the real and intangible costs of turning over talent by being engaged in the selection process from the start. If your outsourcing partner has not asked you to get involved, make sure that you do. Set expectations early and tell the team what content you want to see in the profile of a prospective team member and let them know how you intend to validate their skill.
Interview? More than one interview? Code tests? All viable options, but be sure to do them efficiently. There is a lot of competition out there for good talent and extending the timeline for assessing if someone is the right fit for your team increases the likelihood that you could lose them to another company or project.
How do you define project success?
Having a shared understanding of success criteria will help you collaborate across teams. Internally, set expectations for delivery within your SDLC and your definition of done. It’s important to recognize milestones and reward your teams for hitting those milestones.
Share expectations for delivery and reinforce accomplishments throughout the project. Shared success sets the foundation for continued engagement from your team, strong communication, and talent retention.
What is your risk tolerance for using outsourced talent?
Have you done this before? Have your internal, technical leaders worked with outsourced teams in the past? If so, then you’ll be aware of some of the challenges of not having talent in-house or even in the same country. There are important lessons to be learned from that experience and that can help for a smooth onboarding of new, outsourced talent.
If this is a new step, then you should consider a firm that has the infrastructure to support consistent performance. There are significant financial benefits to working with outsourcing firms, however they can be wiped away by selecting a less experienced or even a more “hands off” approach.
Ask about how the firm mitigates risk. Do they have a proactive approach to communicating to their partners about perceived risks? And, how do they uncover those risks? It’s a shared responsibility, but if it’s your first go-round with outsourcing, it’s reasonable to ask for some guidance from the partner you select.
Questions to evaluate potential vendors:
Can they meet your timeline?
Make no assumptions when explaining the intent and constraints of your project work and set expectations early in your assessment process for an outsourcing vendor. If you are on a tight time table, be explicit.
Because of your timeline, consider that you should be meeting with at least a handful of service providers. Some may have talent on hand and some may need runway for recruitment depending on where they are in their business lifecycle. But don’t rush! Consider our earlier point about taking the time to find the right talent. Efficiency and transparency are key.
Where is the talent located?
This is a broad question that leads to more specifics that you need to uncover. Large vendors have bigger, sometimes global footprints. Smaller companies can be more concentrated in location, but can still recruit from wide geographic locations. It’s important to know where your talent is coming from to maintain sound communication and efficient ways of working.
Nearshore is very attractive for time zone overlap with your team. It’s easier to maintain Agile methodologies when you are working during the same time compared to some offshore options. Though, there is something to be said for distributing your work across time zones and creating a cycle of development, around the clock. That all depends on where you are in your SDLC or even the maturity of your company.
Location can also determine the language proficiency and seniority of the talent available. Established companies with a robust recruitment team can cast a wide net to meet the requirements you have laid out. Knowing where everyone is, is helpful, but shouldn’t be a primary determining factor to your choices. Good talent can be found anywhere.
Let your potential partners know when you expect the team to be working. There is typically flexibility built into most outsourcing models. And try to co-locate the team when you can. It’s good for morale.
How do they communicate with their clients?
Will you have direct contact with your team members? Are there any intermediaries that will be doing translational work each day?
There is some overlap here with the location of the talent and communication skills as well as our earlier question about risk tolerance. They are all parts of maintaining consistent and transparent communication and can’t be stressed enough. However many questions you need to ask, or how you need to ask them, make sure that you’ll have a clear understanding of how you will be able to work with your team, and when.
What technologies will you be using?
Pick a partner that is familiar with your tech stack. If you take a risk and select someone without that speciality, the first hurdle you’ll have is a longer recruitment time up front.
Coupled with that is professional development. Your choice of an outsourced partner should have complimentary subject matter expertise in-house for the technologies with which you are working. In the spirit of collaboration, and to ensure success, in-house expertise supports recruitment and on-going learning with your outsourcing partner.
In some situations, it’s helpful to interview some of that talent, even if they are not available to your team. A conversation with a proven performer offers insight into the success criteria we discussed earlier on.
Who have they worked with in the past?
References are great and websites are littered with them. But logos are just logos, you need to find the substance underneath.
Understanding that there is only so much proprietary information someone can share about the work they are doing with a specific organization, it’s reasonable to ask what types of work they have done in the past and currently. That doesn’t have to be client specific. Some of the most rewarding and successful projects may be living with lesser known clients, handled by world class talent. Uncovering where a partner’s strengths lie can be more important than name dropping a Fortune 500 client’s name.
Bringing top talent into your organization with Unosquare
Trying to figure out what you need to execute your next software project? Choosing the right methods and the right partner for your project can make a big difference. If you need help with your upcoming project, we can help. Here at Unosquare, we have over 2,000 completed projects and over 600 engineers. We also have more than 120 distributed teams.
Our company knows what it takes to meet and exceed project needs. Want to learn more about what Unosquare can do for your company? Check out our blog to get more information on what we do and our expertise.