In my post “Four Categories of AI Solutions”, I categorized AI solutions by their level of innovation and complexity. Building on that framework, I’ve been thinking about how AI-assisted programming tools fit into this model—particularly the trade-off between speed and precision in software development.
Mapping Speed and Precision
The diagram below illustrates how tasks can be plotted along axes of speed and precision. As you move towards higher precision (e.g., creating backend services or system programming), speed naturally decreases, as does the immediate value AI tools provide. Conversely, low-precision tasks—like generating boilerplate code for frontend applications—enable high speed and provide quick wins.
![](https://i0.wp.com/birkholm-buch.dk/wp-content/uploads/2024/12/image.png?resize=676%2C487&ssl=1)
Dave Farley in a recent video seems to align with this observation. The speakers noted that AI tools excel at accelerating well-defined and repetitive tasks, like building a simple mobile app or prototyping a frontend interface. These tasks fall into Category 1 of my model: low complexity, high-speed solutions.
However, the further you move into Category 3+4—solutions requiring precision and contextual understanding—the less impactful these tools become. For instance, when my team uses GitHub Copilot for backend development, only about 20% of its suggested code is accepted. The rest lacks the precision or nuanced understanding needed for high-stakes backend systems.
The Speed-Precision Trade-Off
The interview also highlighted a critical concern: AI’s emphasis on generating code quickly can erode the incremental approach central to traditional programming. In precision-driven tasks, small, deliberate steps are essential to ensure reliability and minimize risk. By generating large amounts of code at once, AI tools risk losing this careful craftsmanship.
Yet this trade-off isn’t a flaw—it’s a characteristic of how these tools are designed. AI’s value lies in accelerating the routine and freeing up developers to focus on higher-order problems. For precision tasks, AI becomes an assistant rather than a solution, helping analyze systems, identify bugs, or suggest improvements.
The Four Categories Revisited
This balancing act between speed and precision ties directly into the “Four Categories of AI Solutions”:
- Category 1: High-speed, low-precision tasks like prototyping and boilerplate generation. AI tools thrive here.
- Category 2: Moderately complex applications, where AI can augment human effort but requires careful validation.
- Category 3: High-precision, low-speed systems programming or backend development. AI contributes less here, serving more as an analysis tool.
- Category 4: Novel, cutting-edge AI applications requiring custom-built solutions.
As we develop software with AI, understanding where these tools provide the most value—and where their limitations begin—is critical. For now, AI tools may help us write code faster, but when it comes to precision, the human touch remains irreplaceable.