Tuesday, February 25, 2014

Is Agile a set of Principles or Practices?

The interactions between Agile values, principles, and practices are tightly coupled.

Agile originally started out as a revolution against rigid, dogmatic practices, but the ironic is that the way some people practice Agile has come full circle back to that rigid adherence to the mechanics of how practices are implemented and have lost sight of the original intent of Agile. So here is an interesting debate: Is agile a set of principles or practices?

An agile mindset - begins and ends with the principles and philosophies. Agile is more a philosophy, a mindset, a way of thinking - a set of principles and values.Any practices should serve the principles, philosophies and should constantly be on trial for their lives based on the principles and philosophies. The agile principles targets in terms of change such as adding value in terms of the supplementary value of practices, the maturity of the teams and management disciplines, increase in customer satisfaction etc.

Set Agile principles as guideline to develop best/next practices. Agile is historically a set of preferences and principles per the Agile Manifesto. Related practices already existed at the time of its manifestation. So it doesn’t mean you should ignore practices, but practices should be used with some amount of good common sense to fit the situation. The principles are what should guide those "good common sense decisions" about how to adapt the practices as needed to fit a given situation. 

Agile is principles, but it comes from many different groups of practices finding common ground. Principles alone aren't enough, though - you still have to produce code and to do this you'll want to use some engineering "practices" to improve agility and increase quality. So in order for a project to be truly agile, you need to follow some engineering practices, without which you cannot be Agile enough, but if you aren't Agile enough, it is not solving the entire problem. So those practices are required for an Agile Project to be truly Agile. You are not agile until your practices match your principles, as they can not be separated completely.

The interactions between Agile values, principles, and practices are tightly coupled. Understand the Agile principles first, but then to make Agile successful you'll need a set of framework practices from other areas, like Transformation/Organizational Change, Stakeholder Management, Financial Management, Risk Management etc. And without proper Stakeholder Management the Agile adventure will soon be over. However, the downfall of many framework practices is that people tend to view them as purely prescriptive. They happily adopt rituals with little understanding of why they are doing them, other than a mystical methodology calls

Practice-Principle-New Practice Cycle: Analogically, just like learning many new skills, you follow a strict and well-defined practice, at some stage you start to understand and perceive patterns, and once the patterns become intuitive, you master the principles, you can let go of the practices, and create your own practice. If you don't start with practices, you won't get there, and the more a practice goes against your nature, the more important you follow the principles, but not restricted to practices. So there is the strongest affinity between principles and practices. These connections are complex and take the time to master.

"Agile" word is not a noun but an adjective. You can have agile philosophy, agile principle, agile practices agile methods, agile development or agile management. An adjective applies a quality to the noun. If any of these nouns refers to something that is characterized by the habit of inquiring and adapting rather than predicting and controlling, it probably qualifies as agile.


Post a Comment