A few years ago, I was working for a fortune 100 company. I was responsible leading technology projects such as application development. At the time, our policy was to execute development work internally with our homegrown technical team. After exhaustive requirements gathering, projects were handed to our developers for build-out.
Over 50% of the cases, the delivered product was either delayed, lacked quality, or worse – deviated significantly from the requirements. Upon delivery, the painful change request processes began. I think you know the rest of the story… Can you remember what it was like?
This type of trend continued at the company until we began collaborating with partners.
Now, there is an important difference between building internal development teams and collaborating with a partner. Collaborating with a partner is like hiring an extension to your team without the difficult of scaling or losing control of your project. In order to successfully collaborate with a partner, you need to ensure following:
- Specialized Skills: This is why you are establishing a partnership in the first place. If the project involves .NET technology, DO NOT hire a team of generic web developers. You must assess your potential partner’s skills on the subject. This is easy. Before committing to an agreement, let them work on a small module. That will demonstrate their competence.
- Never lose control: Always include and watch for intermediate milestones such as interactive wire-frames, coded assets, demos of modules or features, before complete product delivery.
- Communication model: This is probably the most critical. You and your partner must agree on a communication model that works for both parties. The communication model must NOT be limited to weekly status calls and occasional email exchanges, but must dive into RACI matrices, SLA on support, change control process, cost and time tracking, project plans, etc.
Once you establish the above ground rules, you will reduce significant risk, and will begin reap the benefits of collaborating with a partner. Working with a savvy partner is often more valuable than hiring your own team, and here is why:
- Industry/Technology expertise: Consulting with multiple clients across industries often gives your partner an edge and a good grasp of the latest technology and industry trends. This information can benefit you and your team.
- Utilize existing team: Even after hiring rockstar employees, it takes some time for the team to mature and deliver highest quality solutions. Hiring and collaborating with a partner will skip this process and accelerate you towards faster product development.
- Developers are hard to motivate: It takes an effort to motivate A-players. You need to consistently invest in training, development events, coaching, etc. And, if you fall short, you will have a high employee turnover rate. By collaborating with your partner, this is one less thing to worry about.
- Ease of expansion and contraction: Due to unforeseen circumstances, it is always easier to add or minimize your partner resources, rather than firing your own employees.
- Low overheads: By hiring a partner, you can drastically decrease your overheard such as insurance cost, office space, license fees, and payroll taxes.
Now you are ready to replace your overwhelming experience of building homegrown development teams with that of “collaborating with a sound partner”. Once you are able to find a partner that fits your needs, and successfully establish the ground rules, you will realize how advantageous it is to have an extended team to rely on.