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
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
One Azure DevOps Project for 1,500 People Is Not the Risky Option
Compare the coordination costs of separate Azure DevOps Projects with the governance a shared Project requires, using actual dependencies …
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 …
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 …
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 …
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 …
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
One Azure DevOps Project for 1,500 People Is Not the Risky Option
Compare the coordination costs of separate Azure DevOps Projects with the governance a shared Project requires, using actual dependencies …
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 …
AI Guardrails Are Just Polite Requests
Written rules influence an AI agent, but do not enforce compliance. My agent records and build failures show why independent checks matter, …
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 …
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 …
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 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 …
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 …
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 …
You Probably Shouldn't Build Your Own Mailchimp. Here's What It Took When I Did.
What it took to replace Mailchimp with a self-built email notification system on Azure Communication Services. The pricing model that …
How I Built an Organisational Brain to Run My Consulting Business
How schemas, routing, scoped context, source links, and independent validation let AI agents maintain an organisational brain, with a small …
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 …
Kanban Guide
Comprehensive reference outlining Kanban principles, practices, and metrics for optimising workflow, value delivery, and continuous …
Detecting Agile BS
Guidance for identifying genuine agile software development in DoD projects, including key principles, warning signs, essential tools, and …
Kanban Guide for Scrum Teams
Explains how Scrum Teams can use Kanban practices to optimise workflow, track flow metrics, and enhance transparency, efficiency, and …
Nexus Guide
Explains the Nexus framework for scaling Scrum with multiple teams, detailing roles, events, and artefacts to coordinate product delivery …
The Evidence-Based Management Guide 2020: Improving Value Delivery under Conditions of Uncertainty
Evidence-Based Management (EBM) guides organisations to improve value delivery under uncertainty by using empirical goals, measurement, and …
The Scrum Guide (November 2020)
A clear summary of Scrum’s framework, roles, events, artefacts, and values, explaining how teams use Scrum to deliver value and adapt to …
Manifesto for Agile Software Development
Outlines core Agile values and principles for software development, emphasising collaboration, adaptability, working software, customer …
720 resources, newest first
What do you do with a Work Item History Not Found Conflict Type Details
Explains how missing or non-consecutive work item revision history during TFS migrations causes conflicts, and details troubleshooting steps …
Creating a WIT Adapter for the TFS Integration Platform for a source with no history
Explains how to build a TFS Integration Platform Work Item Tracking (WIT) adapter for a source system without history, covering versioning, …
Anatomy of an Automation for the Tfs Automation Platform
Explains how to build, install, configure, and run automations for TFS, covering plugin deployment, activation, settings, UI integration, …
How might we implement the Change Iteration Automation for the Tfs Automation Platform
Explains automating the update of WIQL queries during sprint or iteration changes in the TFS Automation Platform, covering UI, …
What is the Tfs Automation Platform
A platform for automating Team Foundation Server tasks, enabling scheduled, event-driven, and on-demand workflows, with extensible package …
My first Scrum team in the wild
A real-world account of guiding a new Scrum team through their first sprint, covering estimation, story points, sprint planning, and …
Do you know about the Visual Studio 2010 Database Projects Guidance?
Guidance on using Visual Studio 2010 Database Projects, covering project management, source control, deployment automation, integration, and …
How Visual Studio 2010 and Team Foundation Server enable Compliance
Explains how Visual Studio 2010 and Team Foundation Server support compliance by enabling traceability, audit trails, and linking code …
Project of Projects with team Foundation Server 2010
Guidance on structuring projects in Team Foundation Server 2010 using Areas, Iterations, source code organisation, work item queries, and …
What to do after a servicing fails on TFS 2010
Guidance on troubleshooting failed servicing in TFS 2010, including schema version issues, recovery steps, and risks of database repair …
TFS 2010 Work Item Seed: TFS Work Item system.id at a predefined number
Explains how to use the TFS 2010 API to set the starting Work Item ID by programmatically creating and deleting items, avoiding ID conflicts …
Syncing many Dynamics AX instances to a single TFS 2010 Team Project
Explains how to configure multiple Dynamics AX instances to sync with a single TFS 2010 Team Project, streamlining source control and work …
Database corruption in TFS 2005 causes TF246017 during upgrade
Explains how database corruption in TFS 2005 can cause TF246017 errors during upgrade, and details using DBCC CHECKDB to diagnose and repair …
Team Foundation Server 2010 Event Handling with Subscribers
Explains how to create and deploy server-side event subscribers in Team Foundation Server 2010 using the ISubscriber interface to handle and …
How to deal with a stuck or infinitely queued build
Learn how to identify, troubleshoot, and resolve stuck or infinitely queued builds in Team Foundation Build, including tips for monitoring …
A change for the better #3 - SSW to Northwest Cadence
Reflects on lessons learned at SSW in software process, technology, and communication, and details a career move to an ALM consultant role …
Rangers shipped Visual Studio 2010 Database Guide
Comprehensive guidance and hands-on labs for managing, testing, and deploying Visual Studio 2010 Database projects, including source control …
Active Directory Groups not Syncing with Team Foundation Server 2010
Explains why Active Directory groups may not sync with Team Foundation Server 2010, how to diagnose sync issues, and steps to resolve …
TFS Event Handler for Team Foundation Server 2010
Explains how to create and customise event handlers for Team Foundation Server 2010, covering supported events for version control, builds, …
Changing the Team Project Collection of the Team Build Controller
Explains how to reconfigure a Team Build Controller in TFS 2010 to connect to a different Team Project Collection using the Administration …
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 …
Why you need to tag your build servers in TFS
Tagging build servers in TFS helps manage dependencies, assign builds to suitable agents, and streamline workflows across teams and regions …
Guidance: How to layout you files for an Ideal Solution
Learn best practices for organising solution and project files in version control, including folder structure, naming conventions, and …
Scrum with Team Foundation Server 2010 Done
Explains how to use Scrum with Team Foundation Server 2010 for better project management, including practical tips, presentation slides, and …
Integrate SharePoint 2010 with Team Foundation Server 2010
Step-by-step guide to integrating SharePoint 2010 with Team Foundation Server 2010, including installation, configuration, permissions, and …
Upgrading Team Foundation Server 2008 to 2010
Step-by-step guide to upgrading Team Foundation Server 2008 to 2010, covering database backup, migration, verification, compatibility, and …
Even Scrum should have detailed Task descriptions
Scrum tasks should include detailed descriptions so anyone can complete them, ensuring project continuity if team members are unavailable or …
Combining Scrum, TFS2010 and Email to keep everyone in the loop
Explains how to integrate Scrum, TFS 2010, and email to share task details, maintain history, and keep all stakeholders informed throughout …
Guidance: A Branching strategy for Scrum Teams
Explains an effective branching strategy for Scrum teams, covering best practices, common pitfalls, and step-by-step guidance for managing …
Do you know when to send a done email in Scrum?
Explains when and how to send done emails in Scrum, detailing best practices for notifying task owners and teams, and ensuring clear …
Do you have a contract between the Product Owner and the Team?
Explains the benefits of a Sprint Contract in Scrum, clarifying roles and agreements between Product Owner and Team to improve collaboration …
Upgrading from TFS 2010 RC to TFS 2010 RTM done
Step-by-step guide to upgrading from TFS 2010 RC to RTM, including backup, uninstall, install, configuration, SharePoint and build server …
Scrum for Team Foundation Server 2010
Learn how to implement Scrum practices using Team Foundation Server 2010 and Visual Studio ALM, including project planning, backlog …
Guidance - Branching for each Sprint
Explains how using a separate version control branch for each sprint in Scrum improves code stability, release management, and team …
Who broke the build?
Explains the importance of passing builds, common causes of build failures, how to identify issues and responsible users, and best practices …
Do you know the minimum builds to create on any branch?
Explains the essential three build types, Gate, CI, and Nightly, needed per branch to ensure code quality, test coverage, and collaboration …
Adventures in Scrum: Lesson 2 - For the record
Highlights the importance of clear communication and documenting disagreements in Scrum to prevent misunderstandings and failed sprints, …
Adventures in Scrum: Lesson 1 – The failed Sprint
Explores common pitfalls in early Scrum adoption, highlighting why full team involvement in sprint planning is crucial and lessons learned …
When should I use Areas in TFS instead of Team Projects in Team Foundation Server 2010
Explains when to use Areas versus Team Projects in TFS 2010, comparing benefits, drawbacks, and best practices for managing multiple …
MVVM for Dummies
Explains the MVVM pattern in WPF and Silverlight, highlighting separation of concerns, code structure, and the roles of commanding, …
Finding the problem on a partially succeeded build on Team Foundation Build Services 2010
Learn how to diagnose and resolve partially succeeded builds in Team Foundation Build Services 2010 by tracing test failures, identifying …
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 …
Solution: Getting Silverlight to build on Team Foundation Build Services 2010
Step-by-step guide to resolving build failures when compiling Silverlight 3 projects with Team Foundation Build Services 2010, including …
The Scrum Guide (November 2020)
A clear summary of Scrum’s framework, roles, events, artefacts, and values, explaining how teams use Scrum to deliver value and adapt to …
Solution - SEO permanent redirects for old URL’s?
Explains how to set up SEO-friendly permanent redirects for old URLs to new ones in ASP.NET, covering best practices and code examples for …
Wpf Ninject Dojo: The Data Provider
Explains how to use a custom NinjectDataProvider in WPF to enable dependency injection for ViewModels, improving flexibility and design-time …
Updating the Command Line Parser
Explains how to enhance a .NET command line parser to support multiple and nested commands, custom switches, and delegate-based execution …
Wpf Drag & Drop behaviour
Explains how to implement flexible drag and drop in WPF using MVVM, with customisable drop behaviour and bindable options for ItemsControls, …
Creating a Data Access layer using Unity
Learn how to build a flexible data access layer in .NET using Unity for dependency injection, interface mapping, and factory patterns with …
Log Elmah errors in Team Foundation Server
Explains how to log Elmah error reports as work items in Team Foundation Server, including attaching error logs, using templates, and …