Agile Principles Forgotten
Many of my potential clients ask if I am experienced with Agile. It seems like an unnecessary question, as I can no longer find a software development team that claims they are waterfall, or say that they are not Agile. With the dozens of Agile teams as I have worked on, I have never seen 2 that implement Agile alike. There is a good reason for this. Agile is not a carbon copy system. It is a standard set of principles used to create processes specific to the needs of each product and team.
I have noticed that over the years, there are several principles of Agile that seem to be forgotten or lost. For example:
"The most efficient and effective method of conveying information to and within a development team is face-to-face conversation."
This is not too surprising, as we computer nerds really don't seek out face-to-face interactions. And since Covid, it is way too easy to keep that video icon crossed out to hide our faces. Yet does the principle still hold true? I think it does. So I thought it would be a good time to step back, and see what other principles might be fading, and could use a reboot into the industry.
Which of these do you think might be fading? Which do you think are strong points of the industry?
Here is a link to the original manifesto, and a list of the 12 original principles to review. What do you think?:
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals.
Give them the environment and support they need, and trust them to get the job done.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development.
The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Continuous attention to technical excellence and good design enhances agility.
Simplicity--the art of maximizing the amount of work not done--is essential.
The best architectures, requirements, and designs emerge from self-organizing teams.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.