Why Working Software is One of the Primary Principles of Agile

Why is working software one of the primary principles of Agile?

Because when we deliver something that was asked for we may or may not have gotten it right.

I know from my experiences the vision that someone has in their mind about how something should work doesn’t always align with what the development team has delivered.

Working software provides value to the development process by providing feedback — you asked for this now I delivered it. Now you provide feedback — I asked for this but it isn’t working exactly the way I wanted to.

Agile accepts changing requirements as part of continual interaction between the customer(end-user) and the development team. This is what we mean by accepting change as part of Agile.

Instead, this mindset is often I think taken as, I provided a large business requirements document that you must work from and commit to upfront, but at any time late in the project, I can change my mind about what I want and no matter the impact it causes you told me Agile accepts change.

If that is your idea of accepting changing requirements late in the game, then you are playing the wrong game.

If your organization isn’t changing their engagement model to support these continual interactions between your users (or their proxy PO and business leadership) and development team and instead saves any interaction until near the end of the project, then all you have successfully done is shorten the cycles by which you are working in Waterfall, delivering your large project in 2-week increments and waiting until the end to review what the team has delivered and at that point telling us we didn’t get it right.

There is a reason that most of the Agile frameworks provide varying levels of engagement, from the team up to leadership. The Agile Manifesto Principles expressly identify the value that can be delivered by having a high level of engagement — ‘Business people and developers must work together daily throughout the project.’

So if you are already working in Agile or considering adopting Agile as your delivery model then you must change the way you engage with the process if you want to have real success in your Agile adoption.

I still see too many organizations that have very little engagement with reviewing the work that their teams are delivering which means that we end up having a disconnect between the requesting and delivery process, which will cause lower productivity and quality while delivering lower levels of value.

Pragmatic Agilst who has lead many organizations on their Agile Journey. Key areas of focus include Portfolio Mgt, Quality and DevOps/Automation

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

CS371p Spring 2021 (Week 12)

Serial Communication on ESP32

Deploy multi-container service on AWS LightSail

#8: Clutching at pipelines

Extending Resources


Web Scraping: The Basics of Evading Detection

My Open Source Documentation Stack

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Michael Connolly

Michael Connolly

Pragmatic Agilst who has lead many organizations on their Agile Journey. Key areas of focus include Portfolio Mgt, Quality and DevOps/Automation

More from Medium

Not like this …

Are You Development Organization A or B?

So, You Think You’re Doing Agile?

Post it notes arranged into swimlanes on a board

Crystal clear — how increasing your transparency will super-charge your agile process