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.
The strongest work on Engineering Practices — ranked by substance, not recency. How this is ranked
AI Agents Lie About Being Done
My agent reported every task complete when half the tests were missing. Call that a lie if you like. The engineering problem is that the …
Is Agile Really Just a Mindset?
Explores Agile as a disciplined system of delivery, emphasizing engineering excellence, CI/CD, observability, and system design over mindset …
Stop Building Silos. Start Building Systems
Explains how fragmented automation and tool silos harm software delivery, and advocates for unified engineering systems and platform …
How to Build for Business Resilience and Continuity
Learn key strategies for building business resilience and continuity, including observability, system decoupling, routine deployments, team …
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 …
Delivery is the only Measure of Progress in Scrum
Scrum teams must deliver working software to real users every Sprint; true progress is measured by delivery to production, not just by …
From Legacy Pain to Modern DevOps: My Proven Roadmap for Real Engineering Transformation
Transform legacy engineering with a proven, step-by-step approach, learn how to automate, adapt, and build a resilient, modern DevOps …
Engineering Excellence Isn’t Perfection: How Continuous Improvement and Fast Feedback Drive Real Agile and DevOps Success
Engineering excellence isn’t perfection, it’s continuous improvement, clean code, and fast feedback. Unlock true agility with modern Agile …
Resilience is Part of the Product, Not an Afterthought
Resilience must be designed into products from the start, not added later. Build systems to detect, contain, and recover from failures, …
AI Agents Lie About Being Done
My agent reported every task complete when half the tests were missing. Call that a lie if you like. The engineering problem is that the …
Is Agile Really Just a Mindset?
Explores Agile as a disciplined system of delivery, emphasizing engineering excellence, CI/CD, observability, and system design over mindset …
Stop Building Silos. Start Building Systems
Explains how fragmented automation and tool silos harm software delivery, and advocates for unified engineering systems and platform …
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 …
The Definition of Done is a Commitment to Quality
Defines the Definition of Done in Scrum as a clear, shared standard for quality, ensuring increments are releasable, transparent, and …
Why Topic Branches Drive High-Quality Delivery
Explains how short-lived topic branches in source control improve software quality, enable modularity, speed up integration, and support …
Stop Writing Business Logic in Stored Procedures
Explains why business logic should not be written in stored procedures, highlighting testability, maintainability, scalability, and …
Resilience is Part of the Product, Not an Afterthought
Resilience must be designed into products from the start, not added later. Build systems to detect, contain, and recover from failures, …
How to Build for Business Resilience and Continuity
Learn key strategies for building business resilience and continuity, including observability, system decoupling, routine deployments, team …
From Legacy Pain to Modern DevOps: My Proven Roadmap for Real Engineering Transformation
Transform legacy engineering with a proven, step-by-step approach, learn how to automate, adapt, and build a resilient, modern DevOps …
Engineering Excellence Isn’t Perfection: How Continuous Improvement and Fast Feedback Drive Real Agile and DevOps Success
Engineering excellence isn’t perfection, it’s continuous improvement, clean code, and fast feedback. Unlock true agility with modern Agile …
Stop Testing Quality In: How Shifting Left Builds Better Software, Faster
Stop testing quality in, start building it in. Learn how shifting left, automation, and fast feedback loops drive engineering excellence in …
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 …
Still Deploying Manually? Why Automation Is the Bare Minimum for Modern Engineering (and Your Business Survival)
Still deploying manually? Discover why automation isn’t optional, protect your business, avoid disaster, and deliver value with modern …
Unlocking Engineering Excellence: How Azure DevOps Transforms Traceability, Transparency, and the Developer Experience
Unlock engineering excellence with Azure DevOps, boost traceability, transparency, and developer experience for agile, high-performing …
Why Your Definition of “Done” Is Holding Back Quality, Agility, and Trust, And How to Raise the Bar
Is your team’s “done” really done? Discover how a clear, objective definition of done boosts quality, agility, and trust in product …
Acceptance Criteria vs Definition of Done: Why Getting This Right Builds Trust and Delivers Quality Faster
Stop confusing acceptance criteria with definition of done, learn the crucial difference to boost quality, speed, and trust in your agile …
Stop Flying Blind: Why Telemetry Belongs in Your Definition of Done
Stop flying blind after release, learn why telemetry is vital to your Definition of Done and how real feedback drives better software, …
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, …
Convert Legacy Projects and ASP.NET MVC Apps to SDK-Style with Confidence
Learn how to upgrade legacy .NET and ASP.NET MVC projects to SDK-style for easier builds, modern tooling, and future readiness, including …
81 resources, newest first
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 …
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 …
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 …
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 …
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 …
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 …
Shifting Left. Quality from the Start
Explores code review practices for quality assurance, highlighting automation, pull requests, and early defect detection to ensure …
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 …
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 …
Why Most Scrum Masters Are Failing and What They Should Know
Many Scrum Masters lack core Scrum knowledge and technical skills, leading to poor team support. Learn key competencies needed for …
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 …
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 …
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 …
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 …
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 …
Professional Scrum teams build software that works
Professional Scrum Teams prioritise software quality, accountability, and continuous improvement, ensuring each release is reliable, …
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 …
Mastering Site Reliability: Insights from Azure DevOps on Building a Resilient Live Site Culture
Explore proven strategies from Azure DevOps for building resilient, reliable software systems, covering transparency, automation, telemetry, …
Work can flow across the Sprint boundary
Explains how Scrum teams can strategically allow unfinished work to flow across Sprint boundaries, enhancing throughput, responsiveness, and …
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 …
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 …
Quality enablement to achieve predictable delivery
Explains how defining quality standards, acceptance criteria, and automation in software delivery leads to predictable outcomes, fewer bugs, …
Quality enablement with Visual Studio 2012
Explores how Visual Studio 2012 supports continuous quality enablement, automated testing, and rapid delivery in modern software development …
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 …
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 …
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 …
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 …
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, …
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 …
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 …
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 …