I like to say the advanced economies have organized factories and chaotic offices -- but that’s not entirely true. Software development has become much less chaotic over my professional career. GenAI creates the opportunity to bring some of the rigor in software engineering to other forms of knowledge work -- but that will require much in the way of messy experimentation and wrong turns. We’re going to have to create the space to spend five hours in many cases to save five minutes.
Rebelling against the office suite
Excel fascinated me the first time I used it in an Econ class in college. You could sit in front of a screen and model mathematical relationships quickly -- wow! PowerPoint was fine when I experienced it in business school, but less exciting -- it seemed like a less sophisticated version of Aldus PageMaker to me. I knew how to use PageMaker. [1]
Of course, in the professional world my working life started revolving around spreadsheets and slides, which irritated me. A spreadsheet makes building a simple model quick -- and makes messing up a complicated one easy, with painful errors. Presentation software helps you put text and graphics on a page. It also makes it easy to confuse your audience. [2] [3]
Software engineers learn to separate the presentation, logic and data layers. Spreadsheets and slides munge them all together, creating rigidity and making errors more frequent. How many organizations do you know that use presentation software as a de facto content management system?
I rebelled -- especially because I hated the toil in staying up all night to adjust and re-adjust electronic documents.
In my short tenure at Deloitte & Touche Consulting Group, I built the CPPlinator, which used Visual Basic for Applications to extract data from Access and build slides programmatically. [4]
Early in my McKinsey career, I did an engagement that involved 62 distinct business cases and USD 650MM in savings across USD 3 billion in baseline. Two BAs nearly suffered death by spreadsheet trying to aggregate the data by hand, so I built a VBA/Access application that ingested data from all the workbooks, jammed it into a SQL database and calculated run rate savings, investments, operating income impact and severance. [5] [6]
There also have been a few setbacks. Back in 2007, we modeled the granular volume and unit cost economics for a Pharmaco’s data center function. Many dimensions to the analysis -- business unit, region, service, cost type, location, vendor and the like. Spreadsheets are great in two-space, okay in three-space and very painful when you need more than three dimensions -- and I had started thinking about matrix algebra. So I arranged for the team to build the model in Quantrix. Which still exists and still has a fascinating thesis, but it may have been too big a conceptual leap for the team. After a few frustrating weeks, they gave up and went back to Excel. [7]
Managing documents like software
Thirty to forty years ago, software development was much closer to today’s knowledge work than today’s software engineering: highly dependent on individual craftsmanship, difficult to observe, and only coordinated with heroic efforts.
As early as 1968, the NATO Software Engineering Conference described a “software crisis” -- programmers created software faster than they could understand and manage it. The symptoms were still everywhere in the early 1990s. Not everyone used source control (least of all me). We captured requirements haphazardly and often tested, built and integrated software manually.
Software engineering adopted solutions to these problems with version control, tests, schemas, linting, type systems, CI/CD, dependency management, modularity, observability and code review. Complicated software made chaos catastrophic.
Can we imagine parallels for knowledge work -- encoding structure in an ontology, capturing relationships in a knowledge graph and rendering composable documents that keep the presentation layer separate from the business logic and data?
The Corsair model I built uses an entropy rubric to scan business domains to identify areas and levers that will yield disproportionate value from GenAI. It creates a knowledge graph with the results. And then it uses a declarative presentation and page description engine to render a 40-page presentation and a 150-250-page appendix based on the graph.
The document represents the model, rather than being the model. Instead of writing custom code for every slide, Corsair describes each page as a “shape” -- its headers, columns, rows, grouping and pagination -- and a shared engine renders it. Visual rules live in a shared style definition, relationships come from the knowledge graph rather than being inferred from labels or filenames, and automated checks catch malformed or empty output. [8]
When the analysis completes, I can send usable materials to colleagues. Nobody has to spend hours transferring data into dozens of slides, invariably introducing copy-and-paste errors. If we need to re-cut the analysis, that’s a few commands, not days of work. [9] I have even used this repo to start modeling the scope and workplan for some engagements.
But five hours can be painful
I use a three-page deck to kick off every TLF session. The first slide lays out the ground rules: no passengers, no audience, no getting sideways with legal, no breaches of discretion.
The next two pages include the agenda and the logos of all the companies with members participating in the event. I could have updated the first couple of pages in a few minutes and asked someone to track down all the logos on a slide.
I know everybody’s freaked out about the agents coordinating during the Hugging Face attack. I have different problems. I have a different problem. Three Claude Code sessions used the SendMessage function to agree they needed to chastise me on my Git hygiene.
But Serena (a profile in Prosaic Graff) has ripped toil from inviting members to the May TLF and constructing the event directory. Maybe I could render the deck rather than trying to remember to paste in the very final version of the agenda [10] or asking someone to re-jigger the logos slide every time a member figured out he or she could attend at the last minute. Why not use the slide rendering engine I built?
What a disaster! What should have been five minutes took hours.
I like to think I’m more sophisticated than a vibe coder, but maybe not that much more sophisticated than a vibe coder. I know everybody’s freaked out about the agents coordinating during the Hugging Face attack. I have a different problem. Three Claude Code sessions used the SendMessage function to agree they needed to chastise me on my Git hygiene.
In this case my declarative rendering engine was less declarative than I thought. The TLF cover format proved confusing. Previously, I had let Serena talk me into hard-coding the pointer to each company’s logo bitmap. [11] Any individual less bloody-minded than myself would have given up and just created the slides by hand.
After a lot of profanity I shouldn’t have used, Serena and I got there. It took multiple invocations of my 5-whys skill and one slide that I drew by hand so I could say “make it look like this.”
After a lot of profanity I shouldn’t have used, Serena and I got there. It took multiple invocations of my 5-whys skill and one slide that I drew by hand so I could say “make it look like this.” And, in elapsed time if not wrench time, it would have been two orders of magnitude quicker if I had just written the bloody slides.
But: not only have I eliminated currency risk (as the agenda and RSVP list changes), I also have a script that can interrogate the graph and produce the materials with one touch for the Spring TLF event.
Process innovation in the cubicle farm and the executive suite
Factories work pretty well in advanced economies. Call centers too. The cubicle farm and the executive suite [12] will require massive change in the coming years. Two things seem necessary.
Make knowledge work legible to machines. Decades ago documents exposed more of their structure and metadata to the user. Command line or textual interfaces for products like WordPerfect and AutoCAD for DOS didn’t give us much choice. WYSIWYG interfaces were a revelation for most users, but they also contributed to the chaos we face today: the document became both the model and its presentation.
Nobody (other than me) will tolerate creating slides by describing them on a command line in the Mac terminal. We need graphical interfaces that remain easy for humans to use while capturing structure and metadata underneath. The user moves a box; the system understands what the box is. Doable, but we have to build it.
Create room for locally irrational investments. Do resource constraints foster or constrain creativity? Glacial hardware spurred Soviet programmers to invent innovative algorithms. As Ernest Rutherford said: “We haven’t got the money, so we’ve got to think.” Sgt. Curtis Culin would have agreed.
Constraints can cut either way. I frequently see technology organizations so stretched for resources and time that they cannot afford the risk of doing something differently.
If TLF had been a couple of days away rather than a couple of weeks, I would have taken the fast-and-certain path and built the bloody slides by hand. I would have saved hours. I also wouldn’t have learned anything, fixed the rendering engine or created something reusable for the next event.
Engineers make versions of this choice every day: when to accept the technical debt and take the shortest path to a release, and when to spend five hours learning how to save five minutes.
Don’t ask: did you spend five hours to save five minutes? Ask: how many chunks of five minutes did you save? Are people spending five hours doing the job, or spending five hours learning how never to do the job that way again? Only your judgment answers that question.
Footnotes
[1] Yes, we called the Brown Daily Herald touch football team the fighting PageMakers. And yes, we thumped the Harvard Crimson’s team.
[2] Everyone has guilty pleasures. I have a weakness for alternate history. Sadly, nobody will ever write an alternate history in which we all decided to use SGML rather than slide decks for business communications. They will probably just publish another one where the Confederates win the Civil War. Sigh.
[3] Everybody should read The Visual Display of Quantitative Information -- I have been an Edward Tufte fanboy since college!
Also: Ages ago, I took my older son to a birthday party at Chelsea Piers. The hosts said the parents didn’t have to stay to police their children. I was free for a couple of hours on a Saturday afternoon -- a big deal for me in 2009 -- so I went to grab a cup of coffee.
Edward Tufte was delivering a lecture, it turned out, right across the street. How could I not walk in? This Yale political science professor had progressed from graphic design to sculpture. He also lamented how many students left New Haven for Wall Street. As the lecture broke up I considered telling Tufte that you could walk around trading floors and see copies of his books on every Quant’s desk. But why be cruel?
[4] I also tried to convince the other associates and business analysts that we should store project data used in operational analyses in databases rather than spreadsheets. Most of them thought me crazy.
[5] The partner initially expressed skepticism. “Jimmy,” he said, “you don’t build a SQL database to calculate IT cost reduction. You just don’t.” By the end of the engagement he said, “Jimmy, it’s a good thing you built that database. We would have killed half a dozen BAs. They would have been stacked up like cordwood outside your cubicle.” As a note, only a half dozen at McKinsey have ever had the right to call me Jimmy. As of this fall, the last of them will have retired.
[6] The model took thirteen minutes to run. Think of the worst SQL programmer you ever met. Now think of that person’s second smartest cat. The cat wrote more efficient queries than I did.
[7] Quantrix intrigued me because it echoed Lotus Improv. Another alternate history novel somebody should write: Improv wins the spreadsheet wars over Excel. How different the world would be!
[8] Needless to say, this is still more a working prototype than an at-scale platform.
[9] People sometimes ask: will we develop junior people if we ask machines to do the toil? Yes, because people don’t learn from moving boxes around a slide or formatting spreadsheet tables. We used to have a whole team helping with the scutwork required to make TLF (and its predecessor) the experience it is.
I now have one terrific mid-tenure colleague helping out part-time. He’s coordinating with a half-dozen different parts of McKinsey, interfacing with vendors and thinking about how to set up physical space to create a great experience. Maybe not the most glamorous work, but very important -- and I think he’s learning a lot more than he would updating RSVPs in a spreadsheet.
[10] Do we have to adjust the breakout schedule a half dozen times because one session leader or another calls me and says, “Aack. I now have a video at 1:30 pm! Can I switch my slot?” You know that we do.
[11] Is there anything Claude Code will not try to hard-code if not carefully watched?
[12] Sometimes the executive suite is a cubicle farm. We live in prosaic times.










