tech·nic·al·ly agile class·i·fic·at·ion

Engineering Practices: Driving Technical Excellence for Agile Delivery

Foundational techniques and methodologies that drive technical excellence, continuous improvement, and reliable software delivery.

The foundation of Agile: clean code, automation, and test-first development.

Image
https://nkdagility.com/resources/engineering-practices/
Subscribe

Overview

Engineering Practices encompass a set of foundational techniques and methodologies that ensure the delivery of high-quality software in an Agile environment. These practices include clean code principles, automation, and test-first development, which collectively enhance the reliability and maintainability of software products. By embedding these practices into the development lifecycle, teams can achieve a predictable and sustainable flow of value to customers.

The significance of Engineering Practices lies in their ability to foster a culture of technical excellence and continuous improvement. They enable teams to respond swiftly to changing requirements while minimising technical debt, thus ensuring that the software remains adaptable and robust over time. This systemic approach not only enhances collaboration among cross-functional teams but also aligns technical efforts with business objectives, driving overall organisational agility.

Moreover, Engineering Practices support the implementation of Continuous Integration and Continuous Delivery (CI/CD) pipelines, which streamline the deployment process and reduce lead times. By prioritising quality at every stage of development, these practices empower teams to innovate confidently, ensuring that each release meets customer expectations and contributes to long-term success. The integration of these practices into daily workflows cultivates an environment where learning and experimentation thrive, ultimately leading to higher levels of team motivation and performance.

Learn More about Engineering Practices

Signals

Do More Staging Environments Really Reduce Deployment Risk

Adding more staging environments does not reduce deployment risk; true safety comes from automated testing, continuous integration, and quality engineering practices.
Tags

Test First Development

Test First is a practice that defines success before implementation. It supports manual and automated testing, with a strong preference for automation to improve flow and quality.
Videos

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, speed, and consistency.
Signals

Velocity isn’t how many story points a team burns down

Velocity measures how quickly teams turn ideas into value, using build, test, deploy, and feedback times—not just story points—to track real delivery speed.
Videos

Building a culture of Quality

Explores how fostering a culture of quality and engineering excellence across teams leads to better, safer products, highlighting the impact of leadership and shared values.
Tags

Continuous Integration

Ensure fast, reliable development with Continuous Integration (CI). Merge code frequently, detect errors early, and maintain a healthy codebase.
Blog

You are doing it wrong if you are not using test first

Explains how adopting test-first practices in software development improves quality, reduces bugs, and enables confident continuous delivery by validating requirements early.
Videos

Transform Your Software Architecture: The Game-Changing Impact of TDD and Pair Programming

Explores how test-driven development and pair programming improve software architecture, code quality, team skills, and long-term productivity by reducing complexity and errors.
Blog

Automated Testing in a modern application lifecycle

Explains the role of automated testing in modern software development, covering types, integration, benefits, challenges, and tools for maintaining code quality.
Signals

Technical debt isn’t just messy code

Technical debt includes slow feedback, fragile systems, and manual processes that hinder progress. Addressing it early with automation and testing reduces long-term costs.
Tags

Continuous Delivery

Continuous Delivery is the practice of frequently delivering small increments of valuable product directly to real users, enabling rapid feedback, validation, and continuous improvement from the very first iteration.
Signals

Scrum Masters are not glorified meeting schedulers

Scrum Masters must have technical and business expertise to guide teams, improve code quality, and drive real agility—not just schedule meetings. Coding skills are essential.
Videos

How to Tackle Technical Debt Without Halting Progress: Smarter Ways to Keep Your Team Moving Forward

Struggling with technical debt? Discover practical ways to tackle legacy systems, boost team morale, and deliver value—without grinding to a halt.
Signals

Engineering can fix technical debt, but leadership has to invest in it

Technical debt requires leadership investment to resolve; without support for automation and quality improvements, continuous delivery is not achievable for engineering teams.
Engineering-Notes

Building a Resilient Token Server: Engineering for Flow, Fault Tolerance, and Speed

Explains how to engineer a robust, fault-tolerant token counting server using FastAPI and PowerShell, covering error handling, retries, fallbacks, and resilient workflows.
Blog

Your Evolving Definition of Done

Explains how the Definition of Done evolves in Scrum, aligning team practices with organisational standards to ensure consistent quality, compliance, and business value delivery.
Videos

The Power of Technical Excellence in Agile Development

Explores how technical excellence in Agile development reduces risk, prevents technical debt, and boosts product quality and delivery speed through strong engineering standards.
Blog

A better way than staggered iterations for delivery

Explains why staggered iterations harm software delivery, increasing technical debt, and recommends cross-functional teams, test-first, and working software each sprint.
Blog

Stop Promoting Branches

Explains why promoting code through multiple branches slows delivery, increases risk, and suggests GitHub Flow or Release Flow as simpler, safer alternatives for deployment.
Blog

Great Scrum Masters Need Technical, Business, and Organisational Mastery

Scrum Masters are most effective when they combine leadership skills with technical, business, and organisational mastery to support teams, Product Owners, and change.
Tags

Shift Left Strategy

A Shift-Left Strategy brings testing, security, and compliance earlier in development, reducing defects, accelerating feedback, and improving quality for faster, more reliable delivery.
Blog

Definition of Done - Objective vs Subjective

Explains the difference between subjective goals and the objective Definition of Done in Scrum, highlighting how clear, measurable criteria ensure consistent product quality.
Videos

Technical Debt Management for Long-Term Quality

Explains how managing and repaying technical debt improves software quality, delivery speed, and long-term value by addressing both known and unknown code issues.
Blog

Avoid the pick-n-mix branching anti-pattern

Explains the risks of the pick-n-mix branching anti-pattern in source control, its impact on code quality, and recommends feature branching and toggles for stability.
Videos

The Hidden Costs of Poor Quality Code—and How to Turn It Into a Superpower

Explores the financial, productivity, and reputational impacts of poor-quality code, and offers practical steps to turn code quality into a competitive advantage.
Blog

Getting started with a modern source control system and DevOps

Learn key practices for adopting modern source control and DevOps, including automation, release pipelines, and team collaboration to improve software delivery quality.
Videos

Embracing Automation: The Key to Transforming Your Development Process and Boosting Confidence

Explores how automation in testing, deployment, and validation streamlines development, reduces technical debt, and builds confidence for teams and customers alike.
Blog

Getting started with a Definition of Done (DoD)

Explains how to create, apply, and improve a Definition of Done (DoD) in Scrum to ensure software quality, transparency, and consistent delivery of working increments.
Blog

Building a release pipeline with Release Management with Visual Studio 2013

Explains how to set up a scalable release pipeline using Release Management in Visual Studio 2013, covering continuous release, feedback environments, and DevOps practices.
Blog

Quality enablement to achieve predictable delivery

Explains how defining quality standards, acceptance criteria, and automation in software delivery leads to predictable outcomes, fewer bugs, and improved team performance.
Blog

Professional Scrum Developer (.NET) Training in London

Intensive five-day course for software developers covering Scrum, Visual Studio 2010, .NET, and Agile practices through hands-on team sprints and real-world case studies.
Videos

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 consistent, rapid feedback loops.
Blog

Quality enablement with Visual Studio 2012

Explores how Visual Studio 2012 supports continuous quality enablement, automated testing, and rapid delivery in modern software development for higher user satisfaction.
Blog

Standard Environments for Automated Deployment and Testing

Explains how to set up and use Standard Environments in Visual Studio 2012 TFS for automated software deployment and testing, enabling consistent, repeatable pipelines.
Signals

Executives want predictability

Lack of a clear, enforced Definition of Done leads to hidden risks, unreliable forecasts, and eroded trust in delivery, undermining predictability and organisational confidence.
Signals

There a common belief that rollback is the ultimate safety net

Rollback is often riskier than rolling forward, especially for stateful apps. Safer deployment relies on progressive delivery and fail-forward strategies, not reversals.
Signals

Branch promotion is a relic of slow, manual software delivery

Explains why modern software teams avoid branch promotion, using continuous integration, feature flags, and production-like testing to streamline delivery and reduce risk.
Videos

Why a Shared Definition of Done Is the Secret to Consistent, Predictable Quality in Agile Teams

Struggling with inconsistent delivery? Discover why a shared definition of done is key to predictable, high-quality results your teams—and stakeholders—can trust.
Tags

Acceptance Test Driven Development

Drive high-quality software development with Acceptance Test Driven Development (ATDD). Define clear, testable acceptance criteria before implementation to ensure alignment with business needs.
    Tags

    Internal Developer Platform

    An Internal Developer Platform streamlines development processes, enabling teams to build, test, and deploy applications efficiently within a controlled environment.
    Tags

    Technical Excellence

    Technical Excellence encompasses engineering practices and methodologies that enhance agility, improve code quality, and enable continuous delivery.
    Tags

    GitHub

    GitHub is a platform for version control and collaboration, offering tools for code hosting, CI/CD, project management, and team collaboration.
    Videos

    Stop Paying the Hidden Costs of Weak Delivery: Why a Strong Definition of Done Transforms Your Team’s Results

    Stop paying the hidden costs of weak delivery. Discover how a strong, shared definition of done builds trust, quality, and real agility in your team.
    Signals

    There no such thing as "good" technical debt

    Technical debt always harms productivity and system stability. Ignoring it leads to inefficiency and risk, making it essential to address rather than accept or normalise.
    Videos

    The Crucible of Learning: Transforming Organizational Effectiveness Through DevOps

    Explores how DevOps transformation, refactoring, and ownership reduce technical debt, streamline development, and boost efficiency, team satisfaction, and business value.
    Blog

    Professional Scrum teams build software that works

    Professional Scrum Teams prioritise software quality, accountability, and continuous improvement, ensuring each release is reliable, defect-free, and delivers real value.
    Videos

    Navigating Technical Debt: How to Transform Challenges into Opportunities for Quality and Efficiency

    Explains how managing technical debt and distinguishing it from poor quality can boost product efficiency, reduce costs, and support sustainable software development.
    Signals

    Rethinking Dev-Test-Staging-Production Pipelines for Safety

    Explores why traditional Dev-Test-Staging-Production pipelines fall short and highlights audience-based deployment for safer, faster feedback in real production environments.
    Tags

    Behaviour Driven Development

    Align development with business goals using Behaviour Driven Development (BDD). Improve collaboration and create clear, testable requirements.
      Blog

      The Insufficiency of Scrum is a fallacy

      Scrum alone does not cause project failure; lacking strong engineering practices and effective retrospectives leads to technical debt and poor Agile outcomes.
      Blog

      The Sprint is a container for Planning and not necessarily for Delivery

      Explains how Scrum Sprints are primarily for planning, not fixed delivery, and discusses aligning delivery schedules, continuous deployment, and improving software quality.
      Videos

      Unlocking Code Quality: The Transformative Power of Frequent Deployments

      Explores how frequent code deployments improve code quality, reduce technical debt, enable faster feedback, and support iterative, user-focused software development.
      Signals

      Staging Environments Do Not Prevent Production Failures

      Staging environments can’t fully replicate production, often leading to false confidence. Real risk reduction comes from safe, incremental releases to actual users.
      Videos

      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 releases in dynamic environments.
      Videos

      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 examples and practical insights.
      Blog

      Unit Testing against the Team Foundation Server 2012 API

      Explains how to unit test applications against the Team Foundation Server 2012 API, focusing on handling authentication for automated and unattended test scenarios.
      Blog

      Solution: Testing Web Services with MSTest on Team Foundation Build Services 2010

      Explains how to configure MSTest for automated testing of web services on Team Foundation Build Services 2010, including handling dynamic server ports and build environments.
      Blog

      Does test-driven development speed up development?

      Explores whether test-driven development (TDD) accelerates software delivery by reducing complexity, rework, and design flaws, and improving adaptability and productivity.
      Signals

      Why Organisations Believe Their Software Is Too Complex for CD

      Many organisations cite software complexity as a barrier to continuous delivery, but real obstacles are technical debt and lack of investment in quality and automation.
      Signals

      Why Engineering Teams Use Staging Environments for Risk Reduction

      Explores how staging environments aim to reduce risk in software development, their hidden costs, and modern alternatives like feature flags and progressive rollouts.
      Blog

      Fragile by Design: The Cost of Pretending to Be Resilient

      Explores how poor engineering, shallow product thinking, and organisational denial lead to fragile systems, stressing that true resilience requires rigorous, real-world testing.
      Course

      Continuous Delivery Using Azure DevOps Services Training

      This two-day course provides students with the DevOps principles and related hands-on practices to work better as a team, scale their agility, share and integrate their work, and deliver working software continuously in order to enable faster delivery of value and receive early and valuable feedback.
      Course

      Applying Professional Scrum for Software Development (APS-SD) with Certification

      Experience APS-SD: Hands-on Scrum training for delivering quality software. Gain practical skills in Agile, DevOps, and Scrum principles. Free PSD I certification exam included. Enhance your software development expertise.
      Videos

      Code Reviews for Quality Assurance

      Explores code review practices for quality assurance, highlighting automation, pull requests, and early defect detection to ensure high-quality, reliable software delivery.

      Connect with Martin Hinshelwood

      If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

      Concepts


      Categories


      Tags

      GitHub (4)
      Scaling (15)
      Windows (97)

      Our Happy Clients​

      We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

      New Signature Logo

      New Signature

      Alignment Healthcare Logo

      Alignment Healthcare

      Qualco Logo

      Qualco

      Freadom Logo

      Freadom

      Epic Games Logo

      Epic Games

      Higher Education Statistics Agency Logo

      Higher Education Statistics Agency

      SuperControl Logo

      SuperControl

      Schlumberger Logo

      Schlumberger

      YearUp.org Logo

      YearUp.org

      ALS Life Sciences Logo

      ALS Life Sciences

      Brandes Investment Partners L.P. Logo

      Brandes Investment Partners L.P.

      Ericson Logo

      Ericson

      Jack Links Logo

      Jack Links

      Akaditi Logo

      Akaditi

      ProgramUtvikling Logo

      ProgramUtvikling

      Trayport Logo

      Trayport

      Slaughter and May Logo

      Slaughter and May

      Milliman Logo

      Milliman

      Washington Department of Enterprise Services Logo

      Washington Department of Enterprise Services

      Washington Department of Transport Logo

      Washington Department of Transport

      New Hampshire Supreme Court Logo

      New Hampshire Supreme Court

      Royal Air Force Logo

      Royal Air Force

      Nottingham County Council Logo

      Nottingham County Council

      Department of Work and Pensions (UK) Logo

      Department of Work and Pensions (UK)

      Bistech Logo

      Bistech

      Freadom Logo

      Freadom

      Slaughter and May Logo

      Slaughter and May

      Deliotte Logo

      Deliotte

      NIT A/S

      Jack Links Logo

      Jack Links