How to adopt AI into your software delivery - 6 principles to guide success
Artificial intelligence is radically changing how we develop software and the speed at which we deliver value. For engineering leaders, the challenge is no longer should we but how do we adopt it effectively.
If you are about to roll AI tools out across your teams in the hope that your engineers will all become 10x overnight without addressing existing systemic issues, then in all likelihood, you will be setting yourself up for a fall.
Adopting AI into your existing processes is not simply a question of throwing the tools at your people and hoping for the best. Yes, it can amplify your team’s skills, accelerate delivery and reduce the time to value, but if you're not careful, it will also magnify bad habits, degrade quality and erode critical thinking.
The difference lies in how effectively you integrate new ways of working with existing best practices. Here are six principles to guide you on your way.
1. Baseline - focus on core competencies
People with a strong understanding of their jobs use AI more effectively. If your teams are struggling with doing the simple things well, AI won’t make things any better. If anything, it will make things worse by accelerating the amount of poor choices, technical debt and flaws in your codebase. Remember, AI amplifies ability and inability.
AI will help your people move faster, but moving faster requires more discipline, more automation, more pairing, more checks, and more balances - not less. Investing in AI tools requires that you also invest more in your people and processes. Start by giving them the baseline skills to drive AI, not just ride it.
2. Mindset - think for yourself
AI is not an authority or a substitute for judgement, human creativity or critical thinking. It can assist with all three, but it works best when used in a human-centred way, to enhance our abilities, not replace them.
The danger in throwing too much 'thinking' at the machine is that your team's own critical thinking skills diminish over time. AI can help our thinking and act as a valuable partner, but we must not become passengers in the process. AI can also get things wrong.
Instead, use it to offload 'menial' tasks (e.g. coding) and to guide your decision-making, but don't let it become a crutch.
“Anyone not using AI is a fool. Anyone who only uses AI is a fraud.” Gregor Hohpe
Every team member needs to find the right balance between when to think and when to offload. At first, they'll want to offload everything. If they have any sense, they'll pull themselves back from the brink soon after. In finding an equilibrium, they must remain accountable for their decision-making and stay in control of the wheel at all times.
3. Measure - what matters
Adopting any new technology - especially one as powerful as AI - should never be done blindly or without understanding its broader impact. AI is no exception; in fact, it demands even greater scrutiny. While AI may be transforming how we write software, it hasn’t changed how we measure good engineering. The core metrics still apply and must remain central to your adoption strategy:
- Quality: Is application stability and code quality dropping as a result of adoption?
- Velocity: Are you delivering customer value faster, not just coding faster?
- Experience: Are your developers happier or are the tools adding unnecessary friction?
Any drop in these is a potential red flag that AI is not quite having the intended impact and that interventions may be required. Use these metrics as your compass and recalibrate as needed.
4. Context - mileages will vary
There is no universal “right way” to use AI. The balance between machine and human control will vary by context and industry. The greater the potential risks, the more we need to remain in control. Think of it as a sliding scale.
Low-risk tooling and throw-away applications that can be churned out quickly and present zero business risk will require little oversight. Complex, mission-critical systems will continue to require deep human involvement and understanding.
There is no one-size way of building these two extremes, so cut your cloth accordingly. Embrace it openly where speed and experimentation matter more than structure, but stay in control where accuracy, reliability, and long-term maintainability are critical.
5. Optimise - the entire system, not just coding
Writing code is only one step in the software delivery lifecycle. If your requirements capture, security reviews, testing procedures, or any one of the umpteen other activities required to deliver great software are constrained, then producing code faster won’t lead to faster overall delivery.
The hardest part of developing software is not coding. It's people, process, requirements... the messy, collaborative skills required to feed the machine. Focus on optimising the entire system of work, not just one activity within it. Otherwise, you risk applying AI to the wrong constraint and wondering why delivery hasn't improved. As the trope goes, coding is not the bottleneck.
6. Share - build an internal community
We are still in the early days of AI-enabled software delivery. The tools are evolving rapidly, and everyone is learning as they go. Most of us are still at that forming/storming/norming stage, figuring out our relationship with the technology.
But it takes time. You can’t just switch the tooling on and expect everyone to be magically proficient from day one. You need to build an internal mind share of how to get the most from these tools - the patterns and techniques that enable engineers to fly.
Start with the folks who drive your engineering culture. Their insights and lessons will be invaluable and need to be shared intentionally and freely. Equally, the whole team should be exploring this new frontier, willing to share what works, and critically evaluate what doesn’t.
Adopting without fear
Your goal with AI adoption isn’t to replace what makes us good engineers. It is to enhance your teams’ core capabilities and to free them to focus on what matters — designing better systems, solving harder problems and creating better user experiences.
But to succeed, teams must learn how to balance the competing tensions of offloading and staying in control. Adoption must remain human-centred and tailored to your specific context and objectives. Get that balance right, and your teams will thrive.