This article is about how one can lead by being an enabler of experimentation and innovation without exerting authority or imposing mandates.

When Generative AI tools exploded into the software engineering landscape, the reaction across my teams did not really mirror what was happening in the broader industry.

The hype didn’t really inspire my engineers to explore and adopt these tools. Their negative past experience with Gen AI tools made them conclude that it was a waste of time.

So although I was excited and hyped about experimenting with GenAI tools, my team didn’t really share that excitement.

The other side of this is that there was genuine delivery pressure and hence they didn’t really have the head-space to think about experimenting with something that they felt was already a waste of time. Imagine having signed delivery SLAs with clients and hence negotiating scope was not an option without significant monetary consequences! So the question of adopting something new in the middle was difficult.

The overall feeling was that the hype is good for the vendors but it wasn’t going to bring us any good. The first part of that belief is absolutely true. But if we find the right use-cases, i.e. the things that we would rather let someone else do, we could potentially get GenAI tools to handle these effectively! Imagine that! All the tasks that drain you, done by autonomous agents while you are free to do the things you love! That was the best case vision I had in mind.

So I realised that neither a mandate from the top nor ad-hoc fiddling would lead to sustainable value - our ROI on AI. I knew that my team would appreciate it if they got the time, at work, to test and prove their hypotheses of various GenAI use-cases themselves. To maintain our standard of engineering craftsmanship and hit our ambitious delivery and throughput goals, we first needed dedicated time to experiment and validate the impact of these tools.

So I set out to build something to enable this with the sponsorship of the higher echelon of Engineering Leadership.

The Scientific Method

Rather than asking my engineers to forcefully “use more AI” alongside tight delivery deadlines, I got to formalise and implement a dedicated space and structure:

  • A Protected Cadence (“the second Thursday of a 2-week-sprint”): One dedicated day per sprint specifically for GenAI experimentation and learning. This gave engineers protected time, and it cushioned the pressure of delivery and provided the psychological safety needed to explore without fear of falling behind. Although it provided cushioning, there were times when some engineers had to skip this experimentation to get on with delivery for the sake of deadlines. This was a delicate compromise. But those few engineers who focussed on delivery, helped the rest of the engineers have the dedicated time.
  • A Hypothesis-Driven Logging: Every experiment started with a clear hypothesis - a statement predicting the expected outcome of the experiment. Using a shared hypothesis template, engineers defined what they were testing, the tools involved (such as Claude Code, GitHub Copilot, Gemini, or Rovo), and specific evaluation metrics.
  • I avoided measuring success purely by “time saved”. Instead, I wanted the evaluation to give us a holistic view of the impact of GenAI Tools:
    • Correctness & Accuracy: Did it produce working, compliant code/output?
    • Adherence to Architectural Standards: Did it match our conventions and avoid hidden tech debt?
    • Cognitive Load: Was the prompt-engineering and verification effort worth the outcome?
  • A “Show & Tell”: In each sprint at the end of the dedicated experimentation day, we reserved time for team members to share what they tried, demo it and categorize it under Adopt, Trial, or Discard.

When I look back, maybe I could have invented a metric to consolidate the various dimensions and give a unified score for the impact. But I didn’t follow that path. You could though.

Discovering the High-Leverage use-cases for GenAI

Could GenAI make my life more difficult?

So I did my thing of applying the principle of context-not-control and getting out of the way of smart engineers after giving them the outcome we were aiming for with the ring-fenced time for it.

What happened thereafter was a real treat! The team applied GenAI to broadly the following areas:

  • Complex Architecture & Flow Discovery: Using AI agents to parse legacy repositories and produce granular flow diagrams (e.g. mapping charging calculation flows with Excalidraw skills) to de-risk refactoring efforts. This had a huge impact on the newer engineers who joined the domain and team. They were finally able to understand the workings of the system, which they had only a high level understanding of.
  • Contextual Documentation & Runbook Synthesis: Generating operational runbooks from incidents/bugs, PRs, and team discussions to streamline cross-timezone handovers.
  • Technical Discovery & Prototyping: Accelerating discovery by breaking down complex technical requirements into PRD drafts and building quick reference Proof of Concepts, i.e. user interfaces to help demo a functionality was a big winner.
  • Sharing what one learned: Through regular Show and Tells and a shared “Skills Scratch Pad”, engineers began sharing reusable prompts, tool skills, and CLI tricks across squads.

What did we find out

Speed without correctness is just accelerated technical debt

If an AI tool saves 30 minutes in drafting code but takes 45 minutes to debug subtle edge cases, it’s not an efficiency gain. Measuring correctness, test coverage, and maintainability is vital.

Dedicated space beats ad-hoc experimentation

This was obviously necessary in the high pressure delivery environment that we were in. Engineers need slack and this was the only way to provide the headspace. Setting aside protected time turned shallow tests into deep, actionable insights.

Codifying knowledge scales the impact

An individual engineer discovering a clever prompt or CLI workflow only benefits that engineer. By documenting prompts as reusable “skills” and logging results centrally, the whole engineering organisation levels up together. This was a really powerful force multiplier.

“Discard” is a successful outcome

Proving that a specific tool or use case is not ready for production is just as valuable as finding a winning one. Celebrating “Discard” decisions saved us from pain.

Looking Ahead

Generative AI isn’t a silver bullet, but when approached with an engineering mindset—testing hypotheses, measuring outcomes, and codifying knowledge—it becomes a reliable catalyst for engineering excellence. As we continue refining our workflows to hit our delivery milestones and scale our products globally, our commitment remains the same: keep questioning, keep experimenting, and let evidence guide our toolkit.

Some Real-World Experiments and Outcomes

I thought I’d share what I felt were the most compelling outcomes from my team’s Innovation Days:

1. Architectural Safety & Preventing Outages

The “Data Migration Audit” Skill

The ProblemA database migration had shipped with 5 passing integration tests but caused two production reverts because empty objects {} broke downstream strict consumer schemas and NULLs caused silent data loss.
The ExperimentCreated a specialized migration-audit skill using SQL equivalence-class framing and full-row schema parsing (paper-only reasoning across schemas and code).
The Outcome (Big Win)When tested against the original migration, the AI surfaced all 6 findings (including 3 High-severity breakages and data-loss risks) before running any code.
TakeawayGenAI acts as semantic architectural reviewer that catches edge cases that traditional unit tests miss.

2. De-risking refactoring inLegacy Codebases

Automated Charging Flow Architecture Mapping

The ProblemThe core charging calculation flow across multiple markets was deeply layered and hard to onboard into or refactor safely.
The ExperimentFed the charging codebase into Claude with an Excalidraw skill (~100k token context) to map both high-level coordination and granular calculator execution.
The OutcomeSuccessfully generated end-to-end, visual flow diagrams and identified concrete refactoring paths that directly fed into the Charging technical roadmap.
TakeawayUsing AI to map and visualize legacy systems dramatically reduces cognitive load and accelerates technical discovery.

3. Pragmatic Realities of AI-Assisted Operations

3-Way Merge Conflict Resolution

The ProblemStale PRs with multi-branch merge conflicts are tedious and interrupt feature work.
The ExperimentTested Claude / Copilot Agent mode on synthetic 3-way merge conflicts across complex calculation logic.
The Outcome (Honest Realism)Scored ~70% accuracy / neutral time saved. The agent resolved syntax and type-checked successfully, but initially picked one branch blindly rather than “merging intents” without explicit engineer guidance.
TakeawayAI agents need human guidance. Without knowing the “why” behind conflicting branches, the agent defaults to syntactic fixes rather than semantic correctness.

4. Cultural Evolution: How Ways of Working Adapted

Redefining Pair Programming in the Agentic Era

The ProblemHow does a high-collaboration team preserve its pair programming culture when an agent writes the code?
The ExperimentPaired engineers on active epics using Live Share alongside Claude CLI and VS Code Agent Chat.
The OutcomeFound that pairing while waiting for an agent to type code was disengaging. Instead, the team redefined pairing: pair intensely on upfront architecture/prompt design and post-generation code review, while letting the agent do the asynchronous code synthesis in between.
TakeawayAI doesn’t eliminate pair programming; it shifts the human collaboration to higher-leverage design, architectural intent, and rigorous review.

5. Knowledge Transfer & Handover Across Timezones

Automated Runbook Generation from Slack History & Docs

The ProblemHanding over Australian EnCom services from the Global team to the AU team risked losing operational context. Writing runbooks manually was high toil.
The ExperimentQueried Slack AI across #dev-energy-commerce-core and used Atlassian Rovo to synthesize past incident discussions, PR links, and primary contacts into structured runbooks.
The Outcome & Safety LearningCreated actionable runbook drafts, while uncovering a vital security guardrail: Slack AI accesses private channels of the prompt author, requiring mandatory human review before publishing.
TakeawayGenAI can collate institutional memory for team handovers, but enterprise guardrails and verification remain essential.

6. Codifying Best Practices into Reusable “Skills”

Standardizing Agent Workflows

The ProblemAd-hoc agent workflows led to inconsistent results and high cognitive load for engineers.
The ExperimentBuilt the Copilot Feature Implementation Plan Skill (breakdown-feature-implementation), transforming Jira tickets into architecture-aware EnCom monorepo implementation plans. Institutionalized CLI efficiency practices (e.g. leveraging grep/awk to reduce token consumption, adopting 4-sentence structured prompting, and enforcing a strict “plan-first, execute-second” workflow).
The OutcomeStandardized workflows reduced friction and improved the quality of agent-generated outputs.
TakeawayCodifying best practices into reusable skills and templates creates compounding engineering leverage.

Conclusion

The team embraced GenAI where it made most sense. It helped augment our capacity. Skills had a big impact on how we triaged support and reduced cognitive load on engineers who were on support rota. Agent instructions helped ensure consistent outcomes from our AI assisted workflows.

And most importantly we learned a lot.

Before I go, I’ll leave you with something that resembles the template I used for recording our hypotheses and experiment results.

Experiment Template

FieldWhat it meant
The ProblemThe concrete pain point the experiment was aimed at, stated in business or engineering terms. E.g. “Handing over Australian Regional services from the Core team in the UK to the Australian team risked losing operational context.”
The HypothesisThe falsifiable claim being tested about a tool or workflow. E.g. “Slack AI + Rovo can synthesize past incident threads into a usable runbook faster than an engineer writing one from memory.”
The Tools UsedThe specific products and the model where applicable that was used, named precisely. E.g. Slack AI, Atlassian Rovo, GitHub Copilot, Claude Code.
Date of ExperimentWhen it was run, so results can be revisited as models and tools change quickly — what “works” today may not hold six months later.
StatusLike tracking work in JIRA, we could list hypotheses to be tested in the next innovation day or conclude if it was worth adopting or discarding. E.g. todo, in progress, in review, adopted, rejected. This turns a pile of anecdotes into a tracked backlog, e.g. “Codifying Best Practices into Skills” moving from in progress to adopted once it reduced friction team-wide.
MethodologyThe step-by-step approach taken, so someone else could rerun it. E.g. “queried Slack AI across #dev-energy-commerce-core, fed transcripts + PR links into Rovo, asked it to draft a structured runbook, then had a human review before publishing.”
Observations — AdvantagesWhat genuinely worked well or saved effort, described concretely rather than as a vibe. E.g. producing actionable runbook drafts from scattered Slack history.
Observations — Hallucinations or WastageWhere the tool made things up, went down a wrong path, or burned time/tokens without payoff. E.g. a merge conflict resolution that needed human intent the model couldn’t infer.
Results — AccuracyA number, not a feeling: % of output usable as-is, defects caught, correctness rate against a known-good baseline.
Results — The Time SavedBefore/after effort comparison, e.g. “runbook drafting went from a day of digging through Slack to under an hour of review.”
Results — UsabilityWhether the tool made the day-to-day work easier or harder once integrated, e.g. pair programming shifting from mechanical typing to architectural co-design.
Results — RiskAny new risk the GenAI tool itself introduced. E.g. Slack AI surfacing private channels of the prompt author, which meant mandatory human review became a hard guardrail before publishing anything.
Demo RecordingA link to a recording of the experiment in action, so the outcome could be judged by someone who wasn’t there — evidence over anecdote.