As part of our Agile & SCRUM training, we are increasingly getting into a discussion about Non-IT agile and agility as a whole (rather than agile SW product development). I’ve done research, but there doesn’t seem to be anything like universal agile principles in the world. The last step in formulating the principles to be followed seems to be the Agile Manifesto and its 12 principles. But this is material from 2001 created by SW developers about SW development. The amendment from 2005 “PM declaration of interdependence”, intended for better project management of agile software development (which itself sounds quite strange), is not a great benefit in this context either. In 2009, another manifesto was issued, this time the Software Craftsmanship Manifesto – and thus again a matter about SW development.
However, agility today is far from just SW product development and it is not just SCRUM. It is a much wider area nowdays, and certain guidelines and directions could be useful for anyone who needs to orientate themselves in a given issue. In fact, the “value” is not directly mentioned in the 12 principles of agile manifesto, but it is a very important aspect in my opinion. And also, frankly, I’m tired of discussing over and over again that, for example, the principle “Working software is the primary measure of progress” can be abstracted in any environment. So I would like to take the first step and, let’s say in the first beta version, formulate universal agile principles. As a starting point for the wider discussion that I expect ;). So let’s do it!
Universal agile principles for all fields and applications:
Business value is our primary concern;
Collaboration and the most frequent communication on a personal basis is essential;
We accept environmental variability and change as an opportunity to deliver better value;
Quick feedback and transparency are essential for the right course of action;
Sustainability and stability must be consciously managed;
Only a real team delivers excellent performance.
That was fast, wasn’t it? But so that it would not be “just” another “manifesto”, let’s take a look at what I wanted to say in more detail.
Universal agile principles with commentary
Business value is our primary concern
- Value is what counts. Value for the customer (user) means clear benefits, meeting needs. An output that does not benefit the customer is of no value to him. E.g. The established construction site of the construction company has no value for a family who wants to move into a new house. The house (or its usable part) has it.
- Whether we are developing a product, providing a service or taking care of a system, we can deliver value.
- We provide customers (users) with well-functioning results and outputs that solve their needs and problems. As good as possible.
- Even part of the intended functionality or product or service (eg a prototype) can bring great value.
- We try to deliver value continuously and quickly (which will also help us with feedback).
- The delivered value, or what really works and benefits the customer, is the primary measure of progress (the set up database server or the established construction site has no value for the customer).
Collaboration and the most frequent communication on a personal basis is essential
- We achieve the best results through daily personal cooperation.
- We maximally support the possibility of a personal meeting, if this is not possible, teleconferencing or telephone is always better than email.
- We avoid communication via “tickets in the system” (which does not mean that the result of the interaction is not recorded appropriately).
- Cooperation is at the highest possible level not only in the team, but also with the customer and other surroundings – stakeholders. With the key ones best on a daily basis.
We accept environmental variability and change as an opportunity to deliver better value
- The change is part of product development or project implementation and we fully accept it.
- We welcome change as an opportunity to make things better and deliver better value to the customer. Even in the advanced phase of implementation.
- Even within the team, we constantly strive to reflect on, change and improve our way of working and cooperating, eg in the form of retrospectives.
Quick feedback and transparency are essential for the right course of action
- By delivering value on an ongoing basis and as often as possible (days and weeks rather than months), we gain real feedback, validation of whether our assumptions are correct and whether we are moving in the right direction.
- The more often we deliver part of the value and get feedback on it, the lower the risk of unnecessary work or the need for reworking and repairs.
- Frequent feedback also increases the predictability of further development and reduces the risk of meeting deadlines or expectations.
- Experimenting is the most effective and fastest way to learn and adapt in a dynamic and complex environment. E.g. the first drawing of the kitchen layout in several variants will show us where to go and where not to (empiricism).
- Transparency and visibility (for all involved) of what is currently being worked on, what is going on, etc. (eg in the form of KANBAN) is very important.
Sustainability, quality and stability must be consciously managed
- We strive for a sustainable, stable pace of work, which will allow better predictability of development. We also consciously plan time for repairs, planning further iterations, self-development and other operations, so that these activities do not grow uncontrollably and do not block the productive parts of the work.
- We constantly pay attention to technical perfection and good design. So we will not accumulate the so-called technical debt. For example, if we do not do the distribution of technical networks on the land properly and with documentation, but simply stretch it somehow quickly, we will greatly complicate any future interventions.
- In this context, a broad consensus on what DONE means is very important.
- Simplicity of design is essential for sustainability. Let’s not make too complicated solutions that will be difficult to adapt later.
Only a real team delivers excellent performance
- Although it is possible to work independently, the best results are created in self-managed, cross-functional and the most stable teams. E.g. a team of people grouped around one product line of 3D printers, consisting of a designer, constructor, technologist, HW designer, SW developer and production man. So we try to gradually create such.
- A real team is built on motivated individuals who need to be trusted. If this is not the case, it is necessary to move towards this state.
- The most committed teams and individuals build on the principles of autonomy, mastery and purpose: People must see a meaningful reason in their actions, be able to apply their skills and be free to do so in their way.
- In addition to setting the direction, management should primarily create an environment for the creation and development of self-organized teams.
- It is much more effective to create great teams and then assign them work than to create a team around a new job (order, project,…).
What next with Universal agile principles?
Already at the beginning of the article, I stated that I consider the above-mentioned universal agile principles in this form to be a beta version, the starting point for further discussion. I will therefore be happy for any comments and suggestions aimed at making the deed a useful tool. Whether for functioning agile teams and organizations or for those who are not yet very familiar with the environment.
Note: The article and universal agile principles were slightly modified on 16.02.2021.