When it comes to developing complex products, one of the most significant steps we can take as developers and engineering teams is to embrace automation. In my experience, this is not just a best practice; it’s essential for success. Alongside reducing the size of our backlog, essentially making our deliverables smaller so we can iterate more frequently, automation becomes a cornerstone of our development process.
The Power of Automation
Automating everything is crucial for instilling confidence in our engineering teams. Here’s what I mean by that:
-
Automated Testing: This is non-negotiable. We need to ensure that every piece of code we write is automatically tested. This not only saves time but also helps catch issues early in the development cycle.
-
Automated Deployment: Continuous deployment to production hinges on our ability to automate the deployment process. The more we can automate, the more frequently we can release updates.
-
Automated Validation: Collecting telemetry data from our products allows us to validate our assumptions and decisions automatically. This feedback loop is invaluable.
A prime example of this can be seen in the Azure DevOps team. When they transitioned to deploying their cloud version of the product, they faced significant challenges. They were accustomed to biannual releases, but suddenly, they were aiming for three releases every week. This shift required a complete overhaul of their approach to automation.
Tackling Technical Debt
The Azure DevOps team had to confront their technical debt head-on. They were dealing with poor-quality code and a testing infrastructure that was, frankly, terrible. Imagine waiting 48 hours to find out if a code change was successful! Their regression suite took even longer, up to a week. This was simply unacceptable.
To address this, they focused on reducing their cycle time, the time it takes to learn from an idea to deployment and back again. They identified their testing infrastructure as a major bottleneck. By converting long-running functional tests into short, efficient unit tests, they flipped their testing pyramid. Over four years, they transformed their testing strategy from 80,000 long-running tests to an impressive 880,000 short tests. This monumental shift reduced their feedback loop from 48 hours to just three and a half minutes.
Empowering Developers
One of the key changes they implemented was enabling developers to run command-line calls to set up the necessary components for local testing. This meant that developers could have a local copy of the system running, allowing them to test their work in real-time. This empowerment not only boosted individual confidence but also fostered a collective sense of capability within the team.
Building Customer Confidence
As we improve our internal processes, we also enhance our customers’ confidence in our product. When things go wrong, and they will, it’s crucial to own up to mistakes and rectify them swiftly. Customers who have faith in our ability to fix issues will be more forgiving when problems arise. They’ll understand that mistakes are part of the journey, especially when they see our commitment to quality and improvement.
The Importance of Quality
In complex systems like Azure DevOps, confidence must permeate every level of the organisation. Each team member needs to trust that the components they rely on from other teams will meet the necessary quality standards. This trust is built through a shared commitment to quality and attention to detail.
Conclusion: The Path to Continuous Delivery
In summary, the journey towards continuous delivery is paved with automation. There should be no room for manual testing in our processes. While we may need temporary solutions, like the Twitter sentiment bot that monitored negative feedback during deployments, these should only serve as crutches while we work towards full automation.
By pushing the boundaries of what we can automate, we not only improve our code and quality but also enhance our engagement with customers. The road may be long, but with dedication and a focus on automation, we can achieve remarkable results. Let’s keep pushing forward, embracing the challenges, and striving for excellence in everything we do.
Smart Classifications
Each classification [Concepts, Categories, & Tags] was assigned using AI-powered semantic analysis and scored across relevance, depth, and alignment. Final decisions? Still human. Always traceable. Hover to see how it applies.
What to read next
Unlocking the Future of Software Development: Why Automation is Your Key to Success
Explores how automation boosts software development by reducing errors, speeding up deployments, and ensuring consistent, high-quality …
Unlocking the True Power of Continuous Delivery: How Automation Transforms Software Development
Explains how automation in continuous delivery improves software reliability, reduces risk, and enables faster, safer deployments through …
Why Embracing Automation is Essential for Reducing Human Error in Software Development
Explores how automation in software development reduces human error, improves reliability, and streamlines workflows, using real-world …
Stop Hoping for Quality: Why Automated Pipelines Are the Only Way to Deliver with Confidence
Stop relying on memory for quality. Discover why automated pipelines beat manual checks, and how embedding quality gates ensures trust, …
Is Your Project Ecosystem Truly Agile?
Explains why true agility requires end-to-end automation and short feedback loops, not just Agile teams, to maximise value and efficiency …
Stop Hiding Behind Complexity and Start Delivering Continuously
Continuous delivery is achievable for any software, regardless of complexity. Success depends on investment in automation, quality, and …
Detecting agile theatre with real delivery signals
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
Don’t Manage Dependencies, Remove Them
Explains why dependencies are a sign of poor system design and outlines steps to eliminate them by aligning teams, clarifying ownership, and …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Why Big Bang Rewrites Fail: How Sustainable Change and Engineering Excellence Transform Legacy Systems
Ditch the Big Bang rewrite. Discover why sustainable, in-place change drives true engineering excellence and lasting transformation in your …
Are We Still Pretending Coding Was the Bottleneck?
AI exposes that coding was never the main bottleneck in software delivery; real constraints are in system flow, team practices, and …
Why Azure DevOps Wins for Governance, Security, and Scale, Right Out of the Box
Unlock seamless governance, security, and scale with Azure DevOps, integrated tooling that lets you deliver value, not just manage …
Should You Use One Project to Rule Them All in Azure DevOps?
Explores when to use a single Azure DevOps project versus multiple projects, detailing impacts on flow, visibility, governance, and team …
Stop Guessing: How to Make Work Visible and Drive Real Improvement with Azure DevOps Flow Metrics
Stop guessing, start making data-driven decisions in Azure DevOps. Discover tools, tips, and insights to make your work visible and your …
Detecting agile theatre with real delivery signals
Don’t Manage Dependencies, Remove Them
Explains why dependencies are a sign of poor system design and outlines steps to eliminate them by aligning teams, clarifying ownership, and …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Estimating Better in an Overloaded System Is a Poor Man’s Strategy
High work in progress (WIP) causes delays and unpredictability; improving estimates won’t help. Limiting WIP and focusing on flow is key to …
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
Don’t Manage Dependencies, Remove Them
Explains why dependencies are a sign of poor system design and outlines steps to eliminate them by aligning teams, clarifying ownership, and …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Kendall Guide - A System of Work for AI Adoption
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Estimating Better in an Overloaded System Is a Poor Man’s Strategy
High work in progress (WIP) causes delays and unpredictability; improving estimates won’t help. Limiting WIP and focusing on flow is key to …