The Elusive Quest: Achieving Speed AND Quality in Software Delivery

Published on January 16, 2024
DALLE — Balancing Speed and Quality

Quality assurance is filled with difficult tradeoffs. Project managers demand faster release cycles to keep pace with market competition. Meanwhile, developers work heroically to meet aggressive deadlines that leave little room for testing.

Subscribe now

Attempting to balance these competing interests often feels like an exercise in futility. Teams sacrifice quality by taking shortcuts to deliver more quickly. The resulting issues erode customer trust and incur significant rework costs. It’s no wonder “quality” and “speed” feel mutually exclusive in practice.

But what if this conventional wisdom is flawed? What if we could deliver better software faster? To find out, we need to explore the perceived tradeoffs more deeply.

DALLE — The Iron Triangle with a few Photoshop edits

The Time-Cost-Scope Trilemma

The often cited “iron triangle” of project management states you can only fix two corners of the triangle: time, cost, and scope. Adjust one and the others must give. This frames speed and quality as a zero-sum game — reduce timelines and quality suffers.

While not untrue, the simplicity of this view obscures potential solutions. Namely, we habitually associate “cost” with development resources. But on closer inspection, QA cost factors fall into two main buckets:

Valuable Resources — Experts and Tools

DALLE — Process Improvements with Photoshop edits

Process Improvements

By increasing investment in these areas, we can reshape the tradeoffs between speed and quality.

In software, outputs don’t necessarily scale linearly with team size. Ten mediocre engineers won’t outperform one great engineer. This applies equally to quality assurance.

The right QA experts act as force multipliers — identifying issues faster, quantifying production readiness, and partnering with developers to meet schedules. Domain expertise and communication skills make them pivotal to balancing speed and quality.

Similar leverage stems from infrastructure and tools. Configuring production-parity test environments remains challenging. But doing so accurately simulates real-world conditions and avoids wasted cycles. Third party services also impart speed and resilience “baked in”.

In effect, these resources impart quality gains that outweigh their cost.

DALLE — Save Time

Spend Time Now to Save Much More Later

Herein lies the paradox — delivering faster requires investing time upfront. Continuous integration, test automation, environments, and tools won’t implement themselves. But this preparation, more than any other factor, enables accelerated delivery.

Take test automation as an example. Scripting manual test cases is tedious. Maintaining test suites even more so. But the cumulative time savings allowing engineers to focus innovation instead of rote regression testing is enormous.

Or consider infrastructure as code. Containerization solutions like Docker and Kubernetes are notoriously complex to integrate initially. However, the flexibility gains for spinning up and orchestrating test environments deliver dividends over time.

In effect, we trade slow speed now for fast speed later.

DALLE — Speed vs Quality

Reframing the Speed vs Quality Debate

If spending enables speed, why pose quality and velocity as mutually exclusive? Sometimes we become too focused on local optimization and lose sight of the broader system.

Demand for business agility continues rising — companies that deliver innovation faster gain competitive advantage. But this rests on a foundation of customer trust driven by consistent quality. Frequent software failures erode confidence, slowing adoption of new capabilities.

By taking the long view, we realize speed and quality actually reinforce each other. Faster delivery windows make more incremental testing and refinement possible. Higher quality software begets user loyalty that enables velocity.

Seen through this lens, investments to balance both aren’t tradeoffs at all. They are down payments on a cycle of continuous improvement.

DALLE — Velocity Framework

Unlocking Quality Velocity — A Framework

The speed vs quality quandary is age old. But perhaps we’ve been asking the wrong questions about how to solve it. What if superior outcomes didn’t require compromise?

The interplay of resources and process improvements outlined so far hints at a general framework for “quality velocity”:

  1. Talent and Technology — Leverage human expertise and tooling judiciously

  2. Validation Acceleration — Engineer environments and data for reliable test outputs

  3. Feedback Frequency — Modular architecture and test automation enable high cadence integrity checking

  4. Failure Prevention — Shift testing left while hardening monitoring and rollbacks

Taken together, these pillars form a system to shepherd quality at speed. Let’s explore each area further.

DALLE — Talent and Technology, Validation Acceleration

Talent and Technology

We’ve already touched on the outsized impact talented QA professionals provide. But success also relies on alignment. Unifying development and QA around shared outcomes is critical.

This partnership ethos extends to adopting complementary tools and automation. The combination of skill and software provides force multiplication. QA solution breadth now rivals traditional developer stacks — test management, environments, performance, security, and more.

The key is thoughtfulness. As with microservices, each testing component must seamlessly integrate while keeping complexity controlled. Otherwise tool overload can have the opposite effect.

Validation Acceleration

“Garbage in, garbage out” applies equally to software testing. Faulty test environments and data sabotage QA before execution begins. Getting the preconditions for validation right is crucial.

Virtualization and container technology now make simulating production cheaper and easier. Data tools like synthetic information generators and masking solutions improve test coverage and privacy compliance respectively.

Together these approaches make “realistic testing” the rule rather than exception. And realistic testing allows confident promotion of builds to staging and deployment.

DALLE — Feedback Frequency and Failure Prevention

Feedback Frequency

Agile methods stress working software over documentation. But treating development as a monolith clashes with faster delivery. Fixing bugs late in sticky big bang releases heightens cost and instability.

Instead, granular componentization enhanced by test automation provides continual verification. Architectures allowing small independent changes reduce risk. Automated regression suites provide safety nets for incremental improvement attempts.

The resulting volume of feedback opportunities compounds. Two week sprints become daily validations. Issues are caught early before cascading unpredictably. The same automation also unlocks experimentation. Ideas can be tried and refined repeatedly — quickly closing in on quality solutions.

Failure Prevention

Many equate quality with test coverage and bug fixes on the backend. But modern systems thinking recognizes it’s cheaper to prevent defects than remove them.

Shifting testing left in the software lifecycle provides exactly this. Developers craft their own unit tests driving code considered “done” when passing. Review checklists establishment minimum criteria for merge across the codebase.

In production, advanced monitoring techniques like synthetic user journeys detect problems without client impact. Sophisticated feature flags toggle functionality while empowering controlled rollbacks when needed.

Together these techniques provide systemic immunity against regressions and the resilience to overcome them gracefully.

DALLE — Delivering Velocity and Trust

Delivering Velocity and Trust

The relationship between speed and quality reaches beyond engineering. Customer adoption relies on a foundation of trust — the belief that new capabilities won’t introduce instability. This drives the need for software both innovative and consistent.

Companies solving this paradox will gain advantage. Displaying velocity while maintaining quality signals organizational competence. It fosters loyalty even in failure cases due to perceived dependability.

Meanwhile concepts like agile transformation and digital maturity will give way to “deliverability”. Because shipping software isn’t the goal, it’s merely the vehicle for driving customer and business value sustainably. And balancing quality with speed remains integral to this vision.

By investing to perfect the mechanics of quality velocity, technology leaders can focus more strategic efforts on creative solutions. The next wave of disruption awaits.