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
Stop Building Silos. Start Building Systems
Explains how fragmented automation and tool silos harm software delivery, and advocates for unified engineering systems and platform …
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 …
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 …
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 …
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 …
Your Evolving Definition of Done
Explains how the Definition of Done evolves in Scrum, aligning team practices with organisational standards to ensure consistent quality, …
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 …
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 …
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 …
Stop Building Silos. Start Building Systems
Explains how fragmented automation and tool silos harm software delivery, and advocates for unified engineering systems and platform …
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 …
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 …
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 …
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 …
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 …
Your Evolving Definition of Done
Explains how the Definition of Done evolves in Scrum, aligning team practices with organisational standards to ensure consistent quality, …
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 …
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 …
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 …
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 …
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 …
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 …
How to Evolve Your Definition of Done: Start Small, Grow Smarter, and Build Lasting Momentum
Unlock a smarter Definition of Done, start small, evolve standards, and build team momentum without overwhelm. Discover how progress drives …
Stop Firefighting Bugs: Why Shifting Left Saves Time, Money, and Your Reputation
Stop firefighting late-stage bugs, discover how shifting left saves time, money, and reputation by building quality in from the start. Learn …
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 …
70 resources, newest first
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 …