Agile principles in Drupal client projects

Agile development processes can greatly help your Drupal client projects. Agile in a nutshell is a highly collaborative process the uses feedback to make constant adjustments to the project. Often people equate SCRUM with Agile, but that would be a mistake. You can have SCRUM teams that never truly deeply embrace Agile ideas. You can have Agile teams who don’t follow SCRUM.

At the heart of any Agile team is the Agile Manifesto:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Individuals and interactions over processes and tools

With Drupal projects, your have many choices of great tools and processes to use. Don’t let these things become your focus. Focus on building great teams including your clients. Tools and processes are important but not as important as the interactions and shared understand that develops in the team.

Working software over comprehensive documentation

Many Drupal projects include configurations and site building tasks using existing modules. This begs the question, how much documentation do you need to write? You should produce “just enough” for the team to be clear and not more. These can be everything from full Software Requirements Specifications (SRS) to a small collection of user stories. It really depends on the needs of the team.

Customer collaboration over contract negotiation

Don’t forget that when we speak of team in Agile development, we include the customer and everyone involved on the project. This attitude creates strong groups including of developers, testers, project manager, and clients working together to create the best website possible. Creating a collaborative environment should be the priority.

Responding to change over following a plan

All of this collaboration creates increased visibility for everyone involved in the project. This gives the opportunity for new innovations and ideas to emerge as everyone has developed a shared understanding of the full view of the project. If you blindly follow the plan, you will not be able to capitalize on new and emerging knowledge over the course of the project.

Drupal developers can greatly benefit from embracing Agile development ideas. Think about how to structure your projects around shared knowledge, learning, collaborations and clients.