Discover more from Doing the Business
The Cybernetic Agency: New Business
A deep dive into how LLMs such as GPT can help accelerate responses to RFPs.
This is part of a short series examining the idea of the Cybernetic Agency and how teams can leverage GPT and LLMs in a digital agency.
GPT and the surge of new applications integrating with Large Language Models (LLMs) have highlighted how generative artificial intelligence will transform how we use software to get things done.
As a self-proclaimed neophiliac, I have worked with GPT since late 2021. It was effectively one of our stealth co-founders for a startup venture, and at the time felt like an ultimate life hack!
People who happily adapt to technological advances will soon discover a new work environment infiltrated by AI systems and workflows. Working with and the ability to orchestrate AI systems will be a new essential workplace skill. It will sit proudly next to “Experience with Microsoft Word and Excel” on job descriptions for years to come. Until the job is no longer required, of course. 🤖
Although the tech world is ultra-focused on AI at the moment, we are far from Crossing The Chasm with LLM applications. However, I would say we’re a long way from the work of Alan Turing and more towards the start of the “(AI) home computer” revolution. The recent advances by OpenAI and the democratisation of the tech have allowed hobbyists and early adopters to start hacking solutions together. “ChatGPT doesn’t know” sounds similar to frustrations and concerns about the limitations of earlier operating systems and desktop applications. The emergence of the “Prompt Engineer” are the people who had the time and determination (plus a magazine subscription) to spend hours programming their Commodore 64 or ZX Spectrum to make something “different” happen.
There is an innovation gold rush on, and I’ve been reflecting and thinking about how LLMs could transform how digital agencies do business, add value, and how to develop a lean McKinsey-style consultancy model to help clients select and use AI tools. And I’ve been thinking about getting some of that gold in the process.
In this post, I’ll walk through one of the most time-consuming areas of new business within an agency: responding to a Request for Proposal (RFP).
Let’s dive in. 🏊♂️
Much effort goes into qualifying, responding to RFPs, and pitching for new business. Even so, some argue that charging for pitches should be an industry standard, while others say it is necessary to demonstrate value add from the get-go.
Every opportunity is a calculated risk, a strategic use of an agency’s time and resources to win new work. There is generally no dedicated “sales team”; the agency pitch team is a motley crew of account managers, creatives, and techies -- a rag-tag coalition with the sole mission to get them to sign on the line which is dotted.
Furthermore, RFPs are notoriously challenging to write, and by virtue, the majority of them suck. A bad RFP can quickly suck the creative juices from a response, forcing an agency down a tick box-checking exercise so that they can get into the room to pitch. And yes, there will always be a gap between the requirements articulated in an RFP -- part of your job is to point them out.
A flashy proposal might get your foot in the door. Still, when the logical justification comes into play, a vague or exaggerated requirement can come back to bite you in the delivery of the project. Or rule you out of the process entirely. A proposal isn’t something you can bodge; a dodgy proposal can also set the relationship and project on a death march.
OK, so let’s picture you’ve got this email:
We invite your agency to participate in our Request for Proposal (RFP) process for Lovely Website: Design & Build.
Attached to this email is the detailed RFP document in PDF format. It outlines project requirements, evaluation criteria, and submission guidelines.
To express your interest, please confirm by this Friday.
You know John. He is in your network and promised to send you an RFP once his team has finished working on it. They’ve spent 6 months with their Chief Procurement Officer to develop a points-based evaluation criterion.
You make a call that this is worth your team’s mental calories, so you drop the PDF on the #newbusiness channel on Slack and go to work.
Thanks for reading Doing the Business! Subscribe for free to receive new posts and support my work.
There are three core elements of a proposal:
The Persuasive; this is where you win over the hearts and minds of the target audience, the decision-makers. You address the spirit and underlying purpose of the RFP head-on, supported by a thoughtful, creative approach or compelling technical solution. It provides an authentic shared vision of what life could be like if they went with your agency.
The Meat; this is where you address the detail of the RFP line by line. You logically and comprehensively provide a plan of accomplishment that handles everything in the RFP, fully costed, with timescale and delivery.
The Furniture; these “generic” slides in your proposal fill the gaps and generally form part of your ‘proposal template’ (or the latest / most appropriate proposal keynote).
Unless the audience is highly technical, the ‘persuasive’ is the most critical aspect of the proposal. Despite all the rigour and process to remove bias with scoring systems and whatnot, a client will ultimately select an agency on cultural fit, a good impression, and an authentic pitch that persuades them you’re the right agency for the job. The ‘meat’ of the proposal is the logical justification on whether to justify this or an excuse to rule you out if they didn’t like you.
It’s like choosing between an Apple and an Android phone. Customers don’t meticulously parse through the technical specifications for each device; instead, they buy into the lifestyle that each device promises.
Let’s start with the persuasive.
Tools like ChatGPT are great for researching and tossing ideas around. Loading your thoughts and elements of the RFP into ChatGPT is a very effective way of getting past writer’s block. You can give it a prompt (e.g. You are ProposalGPT. You write proposals now…) and start thinking aloud with questions you might ask yourself about the client (e.g. how does my client help people?).
For me, just getting a proposal started is often the most challenging part. And guess what; I’m writing this post to put off writing a proposal myself!
I like to think of it as putting yourself in a superposition of states; you have a finite amount of time to write the proposal, and you can use LLMs to quickly draft and explore different ideas and see what they might look like on paper without committing the time to write it.
Here is another hack/technique. You can use something like PrivateGPT or a similar LangChain-powered app to ingest your past proposals, winners or losers. You can then generate possible outlines or even an example persuasive that your team might write yourself.
The idea is not to copy and paste from the tool verbatim but to evaluate the most convincing narrative to spend your precious time on. You ultimately need to go through the thought exercise and writing process — the very act of writing changes how you think. Only after writing and revising the proposal document will you have clarity on how your team will deliver the project. And be frustrated by your team when they eventually diverge their thinking beyond the proposal you wrote (which can be good or bad). The full force of generative writing comes into play when getting into ‘the meat’ of the proposal.
Thirty minutes or so conversing with ChatGPT will give you plenty of food for thought as you get another cup of coffee before knuckling down to bash it out. Once you’ve got a first draft, you can self-evaluate quickly without drawing in other team members. You can ask your ChatGPT thread, for example, “How does this persuasive address the brief?”, “Are there any inaccuracies?”, “If John was reading this (paste in LinkedIn profile, current job description etc.) What objections might he have? What concerns have I not addressed?”
An RFP usually has an extensive list of requirements, which you can respond to directly or more broadly. These requests range from very specific (e.g. Must use CMS FIELD X and Y), where you need the technical chops to both make sense of it and then write an appropriate response, and the very broad, typically quality-related, and challenging to put an exact number on (e.g. Must be user friendly).
The first job that GPT can help with is formatting these into a table for you. I use the GPT Playground for this, as the list of requirements tends to be larger than what ChatGPT is happy to deal with.
You can also use GPT to create a response to each requirement. In your prompt, give a high-level description of the intended solution (e.g. a Shopify website that integrates with ERP System X) and other elements of the technology stack and have it write short responses to each one.
I appreciate that you need to be skilled enough to understand the responses to each requirement to discern whether the generated responses are rooted in reality and what to tweak to align them with your agency. Again, this is simply an anti-writer block trick.
Another exciting thing; you can have GPT assign relatively effort scores in the Fibonacci sequence (with a rationale!) and use this as a yardstick for breaking down the work into sub-requirements (i.e. the ‘big ticket’ requirements). You can even play your own game of planning poker! Agencies need to get things done quickly, so a large requirement might mean you need to leverage third-party tools to get the job done (e.g. rather than build this complex site search requirement, use Algolia!)
You need to be careful with this. These Fibonacci scores must be translated into actual hours and grounded in reality. Sure, it gives the non-technical person some anchorage when working on the estimate, providing them with a way of participating in technical discussions. Please don’t sacrifice your own intuition in favour of the AI gods, though (i.e. I remember the last time we tried something like this, it took 4 weeks, and it was a nightmare!)
Finally, you can self-evaluate your requirements list once you're done with it. You can quickly hone in and ask questions such as:
Does the intended response address all the requirements in the RFP?
Where is the technical risk?
What are the known unknowns?
What are the project dependencies?
For digital agencies that sell technical solutions, you typically need people who articulate your proposed technical approach. A lesson I’ve learnt over the years is that the overall solution architecture is driven by the structure of teams and the agency's strengths. If you’re not a .NET shop, you won’t win or be happy working on a .NET project. There is no point say designing a 100-strong microservices architecture when you have two cohesive platform teams. The only thing that will matter is the interaction between those two monolithic systems.
So, with that in mind, the agency owner or the management structure of your teams determines the software architecture for the solutions detailed in your proposals. This is something you should not delegate by abdication. The closer your technical solution is to reality, the faster you will deliver it.
In an RFP process, however, sometimes you’re asked questions prematurely and may be required to make architectural statements to appease the technical requirements of the prospective client. Sometimes these are harmless and well-intentioned asked. Other times, they can be an “IT power move” by a detailed oriented or controlling client.
To get these answers, you often must interrupt flow-aligned team members, technical leads or platform specialists, whose time is expensive and can be grumpy.
There are many early LangChain-based tools where you can ‘talk’ to your codebase and effectively ‘hive the minds’ of your developers. For example, the RFP might require how authentication works or if your system supports 2FAA. By talking to the tool rather than your developers, it could provide details on how exactly authentication works or how it might work to integrate with a third party using OAuth. It could give you a ballpark estimate and use commit history to evaluate the best developer to allocate the work to.
This is very much in line with the idea of a Digital Twin — simulating the process of getting estimates and technical approaches from your developers based on everything they know, every commit they’ve made, and every email or Slack exchange they’ve had. And at the same time, it allows you to maintain a solution grounded in reality and how you want to grow your company rather than the next ‘best practice’.
Similar to the Requirements List in your proposal, you need to produce a timescale for the job. You might have several ways of doing this; you might do a lot of work upfront with your studio manager to “pencil in” alongside confirmed work. Or you might be more flexible and speculative with resourcing (i.e. you’re hiring staff or freelancers after you win the gig)
In any case, you typically need a list of milestones or a high-level Gantt chart describing the overall plan. GPT can help with the leg work of getting this formatted for you. Your prompt can even provide you with a rough schedule if you provide your team’s availability and critical milestones, ask it to consider UK holidays and more.
It can save you time when you need to make changes, too. In natural language, you can get your AI assistant to reformat your schedule if things change as you proceed through the project. Or even figure out a provisional plan for the company-wide resource planner.
With the ‘proposal furniture’, much of this will come from your template. You shouldn’t be starting each one from scratch. When you review and evaluate the proposal overall, you will take out slides or swap in new ones to make them more applicable to the proposal. For example, you might need to revise your ‘rate card’ slide to use EUR instead of GBP.
I think you get the idea—the Proposal Furniture doesn’t make or break the proposal. It mainly helps deal with awkward questions and to cover your bases. You can use GPT to ensure you’ve got all the necessary Proposal Furniture and give you more confidence before you hit the magic ‘send’ button.
On the flip side, we can’t let clients go rogue and start generating 99-page RFPs using ChatGPT now -- that would most certainly cause an extinction event. I did start building a product to help people write better RFPs called RequireMate. Think OmniOutliner integrated with ChatGPT. It was a bit terrifying how quickly I could automate writing requirements for niche technology. I might rebuild it using LangChain.
Does AI eat human-centric processes for breakfast?
In this post, I’ve essentially outlined some process “hacks”. And as a solo entrepreneur and a one-man sales team, I’ve found some of these techniques valuable to produce a proposal that I know would usually take me weeks with the help of 3 or 4 other team members. I only have to convince myself adopting X and Y is a good idea.
Hopefully, this illustrates the infancy of LLM tooling and the opportunity for a new breed of SaaS tools to fundamentally change how we iterate and collaborate with AI tools on problems such as delivering a proposal. You can’t run your new business through ChatGPT, but there are some compelling use cases where generative AI can accelerate your proposal-building process.
Knowledge is vital to the growth of a digital agency. Knowledge of their niche, the tools and technology they offer as services, and the injection of new ideas they offer to clients they partner with. It is only natural then to leverage AI to access their own knowledge (i.e., to ‘hive’ that of their employees and own services) to focus on the more novel aspects and thus create new knowledge more effectively.
Proposal writing is an art. So, despite all the workflow optimisations discussed, it takes one person (and the right music) to pull it together. Due to its very nature, there will never be a turnkey solution to produce a great proposal without this person’s drive and determination. Sure, there will undoubtedly be tools to generate “good enough” proposals that might win by just turning up. And possibly help make all your pixels line up on your proposal furniture. In most cases, it won’t erase the need for an authentic voice.
Should you train everyone to be Prompt Engineers?
It would be nice, especially if you want to leverage today's raw tooling. And its probably better than misusing GPT badly, like school children cheating on a test. But like the ZX Spectrum programmers, the need for crafting clever prompts will be replaced with applications requiring less cognitive burden. We will eventually develop easy-to-use apps and provide abstractions to hive the minds of your workforce. Promoting an open mindset around leveraging AI tools to get things done is probably more important at this stage. And preparing for a world where your team works with copilots and digital twins of agency staff, past and present. 👻
OK. That’s a wrap. The next post in this series will look at the Discovery process. 🌈
Thanks a million,