
I remember a time in the late 1990’s, when I was starting to hit stride, professionally-speaking and in terms of “getting the reps,” in building software, SDKs and systems.
Software development has always faced the challenge of finding the balance between: A) The independent, quasi-autonomous dynamic of the software programmer; and B) The need for all the pieces (i.e., across the software team) to fit together in a more than the sum of the parts fashion.
Enter Extreme Programming, an agile programming and development methodology that was amazing, intuitive, quirky and a bit weird, but which had its heart in right place about productivity and process.
Three precepts of Extreme Programming stood out to me at the time.
As I will explain, each really find their calling in the age of AI:
- Coding Pairs: The idea is two programmers working together as a team, each offering the other a second set of eyes, in pursuit of small, manageable bites, and orchestration by clear, transparent process.
- Continuous Integration: The idea is that the front end of the development process is an automated testing harness, where dev projects are vetted during code check-ins. This ensures adherence to consistent design structures.
- Embedded Customer: To really solve the right problem, you have to work alongside the customer, to understand their outcome goals, use cases and constraints, and optimize accordingly.
Vibe Coding: As Tweets were to Blogging
A VC friend of mine once observed that the magic of Twitter was that it made it 1,000-fold easier to be a Blogger.
Similarly, AI makes it 1,000-fold easier to: 1) Be a learned & learning thinker; 2) Pursue creative projects; and 3) Turn spreadsheet-level projects into good enough or better apps.
That’s 1,000-fold easier for any number of personal, department or companywide projects.
I am usually dismissive of any no code or low code solutions, but there are any number of use cases that are proliferating.
Here’s betting that like most disruptive technologies, there will be a continuum of “Idea Seeds,” that emerge from slop, to straw man, proof of concept, prototype and good enough or better products.
They always start by feeling like toys or parlor tricks, but then rapidly evolve to support more jobs and use cases.
Vibe Coding addresses this bucket.
Extreme Programming.AI (xpAI)
Circling back to Extreme Programming, it should be clear that the Coding Pairs model is a game changer for software developers of ALL skill levels.
Your favored Chat, Custom Harness or Dev Environment brings parallelism, co-development, coaching and insight, meaning that all programmers will be able to up their game and increase their productivity by many step orders.
Similarly, because this is an active, governed process, tests can be instrumented, integrated, automated and documented as part of the coding process, ensuring a modular-minded approach to development.
A key benefit of the xpAI model is that periodic re-factoring, based on real-time learnings, is more of a forking exercise than a surgical procedure.
No less interesting is how the Embedded Customer model scales, either formally, via a Forward Deployed Engineer (FDE) or via all of the digital touchpoints inherent in AI.
xpAI represents as big a leap to analysis, intelligence and productivity as the rise of the PC, spreadsheets and client-server.
Leave a comment