Once an engineering leader has selected an outsourcing partner, the speed of ramp up becomes the top priority.
There are some important basics to cover when getting this ramp up to happen, to give the outsourcing relationship a solid organizational foundation that maximizes the likelihood of success. Reducing the level of up-front uncertainty through knowledge transfer and onboarding, will ensure a project gets off to a good, solid start.
At Daitan, we make this knowledge transfer and onboarding process the responsibility of a dedicated Project Leader, who stays with the project throughout its lifetime. The outsourcing Project Leader should follow these six best practices when embarking on a new project relationship with a client.
These best practices are all built on the belief that the outsourcing team should be approached as partners — important and integral members of the internal client team. With that mindset, the relationship will be infinitely more productive. We have learned that assuming that anything is understood inevitably leads to problems. There should be no such thing as too many questions, or too much clarification!
Best practice #1: Involve technical team leaders as early as possible in the proposal phase
The proposal phase of any outsourced project is first point where project assumptions are surfaced. Always include your senior level technical management at this phase. This will facilitate planning for final technical team composition, process, development tools selection and early plans for team ramp up. Once a project is accepted and ready to start, this early involvement of senior technical management will help make that start faster, and deliver results quicker.
Best practice #2: ensure the outsourcing team is briefed on the project’s business purpose and goals
Any development project’s purpose and goals should be directly aligned to the client organization’s overarching business goals. So, an understanding of the context of the project ideally should be shared early on. This will help an experienced team think proactively and creatively on behalf of the client. A well defined spec may address this context, but oftentimes does not. All teams, including outsourced teams, work best when they understand the “big picture” context of the work they are developing. So, work with your outsourcing Project Leader to brief them in as much detail as possible about the overall business goals and objectives for the company as a whole, and how the project being worked on fits into those goals and objectives, as well as how success will be measured.
Best practice #3: get early agreement on architectural assumptions and design approaches
Beyond the very basics of the technologies to be used on a project, which should obviously be discussed, there has to be very detailed architectural assumptions laid out the initiation of a project. It can be challenging for an outsourced team to get the full picture on previously agreed architectural decisions, because oftentimes those decisions won’t have been comprehensively documented, or if they are, documentation isn’t always kept up to date. Calendar a workshop to bring the new outsource team up to speed, with the relevant previous decision makers, on system architecture. Experienced outsourcers, and particularly those with strong Project Leaders, will have been down this path more frequently than your internal staff, typically, so should have a good roadmap to frame that workshop and make it happen quickly and efficiently. But it must happen early on to avoid technical contradictions after a project has begun.
Best practice #4: align internal and external development processes
There are many different approaches to methodology for communication, code submissions, bug tracking, time management, and testing, and every development team ends up favoring a particular suite of management tools. So, getting these methodologies aligned early on is as critical for new startups hiring outsourcers, as it is for large enterprise technical teams with deeply entrenched legacy systems. The new outsourcing team must weave into a client’s preferred methodologies immediately, or, in the absence of existing methodologies, coach and brief on a new recommended set. Building that roadmap of processes is the job of your outsourcing Project Leader and your internal client Project Manager cooperatively.
Best practice #5: define the communication model, project stakeholders, and responsibility hierarchy
Every organization works differently, with their own decision making hierarchy. And with fast time-to-market imperatives, it’s important for an outsourcing partner to understand how that hierarchy works, and how communications typically happen. Early on it should be decided which communications tools are used on a daily basis, the frequency of regular meetings, who is in those meetings, escalation points, report templates, and what level of detail the client prefers. Project stakeholders should be identified, the work preferences and style of communication understood as far as possible, and the level of reporting detail they prefer. All this agreement up front helps avoid miscommunications and conflicts during the project’s implementation, as these will otherwise inevitably lead to slow downs in progress.
Best practice #6: treat the outsourcing Project Leader as a member of the internal team
This might just be the most important best practice of all. Because all the previous suggestions should be proactively undertaken by an outsourcing Project Leader. This best practice is a ‘mindset’ imperative for the client hiring the outsourcing team: As early on as possible, your outsourcing Project Leader should have an opportunity to become embedded, virtually, with the existing, internal technical team. That person should build a close working rapport with all members of the internal team, get to know them, and understand how they like to communicate. Your outsourcing Project Leader is the most critical point person on the team, and as such should be the primary conduit for information flow. Best outcomes result when internal teams looks on the Project Leader, and all his or her team members, as colleagues — and valuable extensions of their own internal teams, and treat them as such.
For more insights into this ‘partnership’ mindset and framework, we invite you to take a look at the Daitan Group White Paper: Software Development Outsourcing: Partner or Provider?