When talking about the differences between scrum (or kanban) and agile development, the motor and steering wheel of a car can be a useful analogy.
When your team is working to write requirements, write code, test, and deploy releases of your software - they probably follow a development process like scrum or kanban to get work done.
This work can be thought of as the motor of the car that propels the software product forward, changing or adding new features to it.
However software companies sell products in a changing market - competitors can force us to change, customers can force us to change, and our own team members can discover information that forces us to change.
This is when the leadership of a software team especially need to trust their other team members to make changes.
Each time the team makes one of these changes to respond to unplanned events, they are being agile.
Being agile in software development is like using the steering wheel of the car.
When things change, the direction of the features needs to be turned so the "power" of the engine is focused on something different.
In software development, we steer the car by putting new product backlog items (or kanban tickets) at a high priority to make satisfying our customer important.
Customers won’t buy a software product when we've built everything WE think they want - but only what THEY accept.
In this video, I share some thoughts around this analogy and how you might use it to ask this question next time you're making a software development process decision:
"Is this practice going to help, or hurt our team's ability to ‘steer’ the direction of work to be done?"
Or listen as a podcast:
🔔 Subscribe for 90+ videos on healthy software development