Agency engagements should have an exit strategy.
At Subatomic, we target longer term engagements where we have an opportunity to partner with our clients. We think this lets us deeply understand a client's business and give deeper guidance over an auditable period of time. For us, that period is around 18 to 24 months divided into thirds, with defined goals for each period. This approach varies from other agencies where the engagement is more focused on either "up and out" MVP development or ongoing maintenance/support with no definable end. Our opinion is neither of these approaches fully sets up startups for success and are more designed to maximize profit models at the agency side.
The Short Term Approach
The overwhelming majority of dev shops or agencies have an "up and out" approach meaning they want to churn through projects in three to six months, giving limited direction or feedback and simply implementing whatever they're asked to by the client. How can any agency fully understand the problem area in such a short amount of time? I once worked with an experienced CFO who said it took him a year minimum just to get his head around what the job should look like once getting started at a new startup.
Short term engagements like this do not sufficiently provide the context for anyone, consultants or otherwise, to grasp what the company is trying to accomplish or what the pain points of the end users are and it causes them to fall back on flawed tactics like waterfall development. The waterfall style of project management means your team will likely go into a room with a scope of work for 4 months without asking questions of the client during the engagement period, then present a product which no longer meets the requirements since the use case has inevitably changed during that time.
Many agencies approaching projects from this perspective tend to be 'code farms' meaning they quickly churn out client projects which forces an amount of tech debt, cut corners in the code or missing tests. All of these issues reduce the reliability and maintainability of the end product.
The No End in Sight Engagement
During my time working on Subatomic, working in other agencies or engaging agencies at the various startups I've spent time at, I've encountered another agency methodology I'm calling the "No End In Sight" engagement. Keep in mind, these engagement types are not necessarily mutually exclusive. Often times, agency engagements can start off with a quick, haphazard approach then lead into maintenance agreements where the agency positions themselves as the fastest/best/easiest way to get continued support on the product.
Would you believe in my competitive research for Subatomic, I've spoken to other agencies who provide fractional CTO services and when they've had clients move on to full time CTOs, they actually said "well, good luck with that!" To me, those kinds of sentiments, spoken to clients or even in private, do not convey a sense of confidence in their abilities. Point being, agencies operating in that mindset don't have their client's best interests in mind. Their objective is to keep clients relying on their services as long as possible in order to increase their bottom line.
Setting Up Clients For Success
Imagine a consultancy who doesn't just get you an MVP you can deliver to market but also gives you the tools to succeed after the engagement is over. That's our approach at Subatomic. We believe the appropriate engagement period should be around 18-24 months with clear objectives along the way.
The first six to eight months of an agency engagement should be gaining context for the problems that the client is trying to solve for in the world and identifying areas that should be improved or mitigated as soon as possible. A client always has a reason for engaging an agency and this time is spent listening to the needs and helping implement solutions. Often, these initial months are spent auditing existing infrastructures, adding tests to code or critical features with time-bound commitments or mitigating security issues.
The next third of the engagement should focus more on what the longer term goals of the company are. An agency should analyze the KPIs of the client and the size and shortcomings of the team to identify areas that need additional development. Perhaps there are features in the roadmap which need building out or the engineering or product team need additional staffing. A quality consultancy should lead in the identification of these needs and help their clients reach these goals, once agreed upon with the client.
Most of the clients we work with at Subatomic do not have CTOs on staff already. Our goal is to hire engineers for our clients or train existing teams to eventually take on that role - this starts in this period. It is not sustainable and should not be expected that a startup should contract with a consultancy with no end date.
In the final portion of the engagement, we continue the work of building a sustainable, healthy engineering and product culture in our client's companies. Beyond continuing product and engineering work, we focus on training an existing engineering team member to take over the CTO role or if that is not possible, placing a CTO who can carry on the work after we've left. Around the end of the beginning of this period of the engagement, the work of a good consultancy should and frequently does result in large, visible funding rounds from quality investors, which makes all of this continued work possible. Further, we believe it is an agency's responsibility to deliver processes, policies and other documentation to their clients that are built with the consensus of their clients at the end of an engagement which serve as a reference for existing staff and training materials for new team members as the company grows.
When Our Clients Win, That's All That Matters
In summary, an agency's role should be focused on the needs of their clients, even if that means sacrificing the bottom line of the agency. The purpose of working with an agency or consultancy should be to further the business operations of a client company and we believe partnering at a deep level with clients over an 18-24 month period gives the highest degree of success for the startups we work with. Triaging issues and rapid iteration paired with culture building and proper hand-off sets startups up for success long after the engagement is over.