Why Drupal is an Agile CMS?

Recently I was reading the article "Why Choose Drupal" written by Steve Cowie, Operations Director of Code Enigma and noticed one of the reasons he chose Drupal as a software platform was the "gradual, Japanese Kaizen style" of the platform. This means Drupal's development style is highly Agile, he even points out that Saïd Business School, University of Oxford chose to use Drupal for building their website because of the following Drupal principles:

  • aggressively   open architecture and standards  
  • modules that are bolted together not welded
  • flexibility as a necessity
  • vendor independence
  • development guidelines
    • continuous improvement
    • reusable tools all web based
    • rapid prototypes

All this made me realize that Agile Kanban principles resemble with Drupal principles.

So now I would like to share with you my opinion on why Drupal is an Agile software platform. I will do it by comparing and finding similarities between Drupal and Agile Kanban principles.

  • First Drupal principle is flexibility, and nature of Agile is flexibility.
  • Drupal's open-source principle resembles Agile's principle of self-organized teams built on best architectures, requirements, design and development.
  • Drupal development team continuously works on upgrade and improvement of their product, moving this CMS to be mobile and tablet-ready, provide support for social media and add more and more great features into it. Kanban is well-known for its continuous improvement main principle as well.
  • Modularity, extensibility and maintainability in Drupal code, as well as quality coding borders with the continuos attention to technical excellence and working software from Agile Kanban side.
  • Collaboration is a very important and massive part of both Drupal and Agile Kanban. Drupal values teamwork, innovation and openness in their community, and it goes well with the daily collaboration between business people and developers just as face-to-face conversation as the best form of bringing information to and from development team from Agile Kanban principles.

Furthermore, when you are developing on Drupal, it is very convenient to create stories from the development process on the Agile Kanban boards. Each part of the Drupal development cycle follows the way from the planning any new feature, finding all the needed information and sources to develop it, actual development, QA and release of the Drupal feature. That reminds me structure and view of the Agile Kanban board.

And of course, almost forgot, Drupal is a very demanding CMS, and it requires a lot of attention while developing any feature, webpage or module. That means that you cannot do more than a certain limit of development tasks. And it reminds us of what? Yes, it reminds us of the "Limit of Work in Progress" we know so well from Kanban.

And at last, one cannot start development of the feature if some important module was not created previously or some research and investigation were not done before. That means that "Just-in-time" principle of Kanban works pretty well when you are developing on Drupal. You can start programming only when you have resources, modules and platform ready for further development.

So, in general, these are enough reasons for me to consider Drupal an Agile CMS. If you would like to add more reasons or arguments on why this statement is worthy of attention, your comments are welcome!

Credits for the image: http://drupal.org