It all seems like the logical next step. Hire the independent consultant who has been analyzing your business requirements for several months to build your next content management system. Who better to lead your organization to the CMS promise land? It doesn’t matter that building software is not their expertise, nor does it matter that they don't actually have a development staff. You like the leader, the onsite business analyst is strong, and you’ve had a great working relationship for a long time. This rosy picture plays out more often than one would think. There is no ill will or deceitful practice, it’s just a natural progression of a business relationship. But over the years we have found many pitfalls with this approach:
- Staff it and they will build ...something: If the consultant is truly “independent", they will have no interest in building a software solution. However, if they feel they can build the solution because they are leaving money on the table, they cobble together a development team made up of independent contractors and possibly partner with a small development firm that allows them to act like a general contractor, but none of the project team is an employee. This loosely organized tech team may not have the appropriate skill or bandwidth to complete the project, nor have many of them ever worked together before and they each may have different approaches and methodologies to develop the software.
- Analyzing and building are two different things: This is the "no duh" statement but often overlooked. Just because a consultant can analyze and document business and technical requirements does not mean they have the vision or skill to build a solution that meets requirements. Think architect versus carpenter. Building a custom solution can get very messy very quickly and unless the consultant has the software development discipline (i.e., Agile experience), requirements will go unmet, shortcuts will be taken, and I venture to guess the schedule will be missed.
- Where is the “independence”?: Having an independent consultant bring together and lead the development team to build a solution is a lot like asking a lawyer to pick the judge they want for their trial. Of course the lawyer will pick the judge who sides with them more often. The same is true for a consultant who brings in a development team. It’s a biased situation. No one is really creating the checks and balances to hold the development team accountable. If the consultant remained independent, there would be a separation of church and state and a better likelihood that the project would succeed.