Software Development encompasses the techniques and methodologies employed to engineer high-quality software solutions that meet user needs and business objectives. It is a systematic approach that integrates various practices, including Agile, Lean, and DevOps, to enhance collaboration, efficiency, and adaptability within teams. This concept is crucial as it enables organisations to deliver value predictably and sustainably, fostering a culture of continuous improvement and responsiveness to change.
By focusing on iterative development, teams can quickly adapt to feedback and evolving requirements, ensuring that the software remains relevant and effective. The emphasis on automation, testing, and integration within Software Development practices reduces the risk of defects and accelerates delivery cycles, allowing for frequent releases that enhance customer satisfaction. Moreover, it promotes a holistic view of the software lifecycle, encouraging cross-functional collaboration and knowledge sharing among team members.
This long-term, systemic approach not only improves the quality of the software produced but also cultivates an environment where innovation thrives, enabling organisations to remain competitive in a rapidly changing market. The integration of evidence-based management principles further supports informed decision-making, ensuring that teams can navigate complexity and uncertainty effectively. By prioritising these practices, organisations can achieve a sustainable competitive advantage through enhanced software development capabilities that align with their strategic goals and customer expectations.
The strongest work on Software Development — ranked by substance, not recency. How this is ranked
Telling People What to Do Is Not Leadership. It’s a Failure of System Design
Explores why real leadership means designing systems that enable team autonomy, flow, and accountability, rather than relying on …
Stop Building Silos. Start Building Systems
Explains how fragmented automation and tool silos harm software delivery, and advocates for unified engineering systems and platform …
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 …
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 …
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 …
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 …
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 …
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 …
Telling People What to Do Is Not Leadership. It’s a Failure of System Design
Explores why real leadership means designing systems that enable team autonomy, flow, and accountability, rather than relying on …
Stop Building Silos. Start Building Systems
Explains how fragmented automation and tool silos harm software delivery, and advocates for unified engineering systems and platform …
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 …
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 …
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 …
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 …
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 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 …
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 …
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 …
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 …
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 …
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 …
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 …
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 …
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 …
Detecting Agile BS
The Scrum Guide (February 2010)
The Evidence-Based Management Guide 2020: Improving Value Delivery under Conditions of Uncertainty
694 resources, newest first
Why Measuring Individual Cycle Time is Killing Your Flow (And What to Do Instead)
Measuring individual cycle time in Kanban misleads teams, hides real bottlenecks, and harms flow. Focus on system-wide metrics like PCE, …
If software is not delivered, it is not valuable
Undelivered software provides no value. Frequent, iterative releases reduce risk, cost, and failure, enabling faster learning and real user …
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 …
Mastering Sustainable Scaling: Overcoming Product Development Challenges with Naked Agility
Learn how to overcome scaling challenges in product development by reducing technical debt, improving team alignment, and building …
A two-day Scrum Master certification doesn’t make you a Scrum Master
Practical experience is essential for effective Scrum Masters; certification alone is insufficient. True expertise comes from guiding teams, …
Embrace Simplicity: How to Transform Complexity into Continuous Delivery Success
Explains how simplifying complex software and committing to change enables continuous delivery, highlighting the need for cultural shift, …
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 …
Mastering the Art of Scaling Agile: Strategies to Maintain Agility Across Multiple Teams
Learn effective strategies for scaling agile across multiple teams, managing dependencies, avoiding common pitfalls, and maintaining agility …
Best Branching Strategies for Development Teams Explained
Explains why environment-based branching slows development, and recommends using feature flags and progressive rollouts for simpler, faster, …
Scaling Smart: How to Tackle Technical Debt for Sustainable Growth
Learn how unmanaged technical debt can hinder growth, and discover strategies like sustainable architecture, DevOps, and automation to scale …
Scrum is built on empiricism, transparency, inspection, and adaptation
Explains why consistent delivery of usable increments is essential in Scrum, highlighting the Scrum Master's accountability for ensuring …
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 …
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 …
Why the Concept of a "Junior Scrum Master" is a Misguided Myth
Explains why the Scrum Master role requires experience and competence, debunking the myth of a "junior" Scrum Master and highlighting the …
What Makes an Effective Scrum Master Beyond Meeting Facilitation
Explores key qualities of an effective Scrum Master, focusing on team empowerment, backlog management, collaboration, and removing …
Deploying Windows OS Directly to Production: Then vs Now
Explains how Windows OS updates shifted from infrequent, risky releases to safe, staged rollouts using ring-based deployment and real-time …
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 …
Why Using a Blocked Column in Azure DevOps Is a Mistake
Explains why a “Blocked” column in Azure DevOps hinders workflow, and suggests using tags and tracking to manage blocked work more …
How Top Scrum Masters Are Selected by Their Teams
Explains how Scrum Masters are naturally chosen by teams based on trust, experience, and leadership, highlighting the importance of peer …
The fastest way to cripple a Scrum Team? Hire the wrong Scrum Master
Hiring an unqualified Scrum Master limits team growth, reduces agility, and hinders value delivery. Effective Scrum Masters drive change, …
Would you hire a Junior CISO? A Junior Financial Director
Scrum Masters require proven expertise, not entry-level skills. Hiring juniors in this role risks team performance and agile success; …
There Is No Such Thing as a "Junior" Scrum Master
Argues that the Scrum Master role requires proven mastery and real-world experience, not entry-level skills or certifications, and should be …
Hiring a Scrum Master is hard
Finding a skilled Scrum Master is challenging; true effectiveness requires deep Scrum knowledge, coaching ability, and alignment with your …
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 …
Challenging Misconceptions About Behaviour in Agile Teams
Explores common misconceptions about Agile teams, clarifying that true agility demands discipline, planning, and professionalism, not chaos …
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 …
Testing in Production Maximises Quality and Value
Explains how audience-based deployment and testing in production enable faster feedback, safer rollouts, and higher software quality by …
Every delay increases the risk of failure
Delaying software releases increases failure risk. Frequent, small releases improve success rates, adaptability, and recovery, as shown by …
Without Delivery, There Is No Value
Value in software is only realised through delivery. Frequent releases validate assumptions, reduce risk, and enable rapid feedback, …
Git Flow should have died years ago
Explains why Git Flow is outdated for modern software, highlighting its drawbacks and recommending simpler workflows like GitHub Flow for …