In his seminal work from 1972, The Mythical Man-month, Fred Brooks, when discussing organizing software development teams along the lines of a Surgical Team, introduced us to the concept of a programming Copilot. The proposal to organize Software Development teams in such a manner came to Brooks from his fellow IBMer Harlan Mills in his 1971 paper Chief Programmer Teams, principles, and Procedures. In the original Mills-Brooks concept of a software team, the Copilot was described as an alter-ego to the Surgeon on the team. To quote directly from the essay, the surgeon’s Copilot is someone who is able to do any part of the job, but is less experienced. In the surgical team analogy for a programming team, the Surgeon is the Chief Programmer who, as per Brooks defines the functional and performance specifications, designs the program, codes it, tests it, and writes the documentation. The Copilot is exactly that – her Copilot. Her alter-ego. While the Chief Programmer in today’s world of Scrum Teams or Squads does not alone do all that Brooks expects her to – I guess they were all 10x developers back then – the Squad or Scrum Team as a unit does so. And the Copilot, today has evolved from the Chief Programmer’s human alter-ego to the genAI coding assistant.
These genAI copilots exist beyond the programming domain. We have copilots that help us write notes, render images and videos, search the web, summarize long email threads, articles, and books – I had Google’s NotebookLM genAI tool write me up a briefing of Brook’s Mythical Man-month book and answer questions about the surgical team model before I wrote this article. GenAI and its easy-to-use Chatbots, starting with chatGPT, have brought AI from the realm of data scientists to the common man. Everyone can have their own copilot now, with more and more domain-specific copilots launching at a regular cadence.