I read the article on what is the real purpose and have similar feelings and talk about my own ideas.
Agile thinking is the four agile statements and twelve basic principles, which are abstract and boring. It is like the famous "see mountains, see mountains, see water or water". People who have never experienced this kind of experience cannot understand and understand its meaning in any way, those who have such experiences will lament the profound and profound nature of Buddha. Scrum, XP, FDD, and so on are agile practices. They are some specific and visible things, but they also have their own focuses, and their response to agility is relatively one-sided.
So what is the relationship between declarations, principles, and practices? The Declaration is actually the core idea. It illustrates what kind of thinking approach agility is. However, this is really abstract. One hundred people may have one hundred kinds of understandings. Therefore, we have added 12 basic principles and guidelines for guiding your work, when you are doing one thing and are not sure which method is correct, you can refer to the principle to see if it is against the principle. But the principle is also very abstract. Even if everyone follows the same principle, there may be various methods. Of course, these methods are also highly efficient and inefficient. The agile practices that are now popular are actually proven to be efficient methods or best practices. From these practices, it is better to start from scratch.
Learning agility should begin with practice, but it cannot be limited to practice. Scrum is so popular because it has a appetite for management. Scrum also provides support at the organizational level, but not at the development level. On the contrary, XP attaches great importance to development practices. TDD, pair, and CI are all practices related to development. Therefore, agile practices have their own characteristics and focus on each other. However, we also need to see that although the two are different, they are still descendants of the dragon, so these practices follow the twelve basic principles and four agile declarations in their bones, this is why they can be called Agile practices. Therefore, the twelve basic principles must be taken into account in the specific application of agile practices. If this rule is violated, it would be a case of agility. It would be hard to think about failure without having to make it an empty table.
After you master some agile practices, you have to find a way to improve the system. The world is always changing. The methods that work yesterday may not work today, and other people may work there, it may not work for you. Therefore, you must select and modify agile practices based on your own situation to form practical methods with your own characteristics. When building a method with its own characteristics, we need to check whether twelve basic principles and agile declarations have been followed.
When you gradually define the process as needed and constantly summarize and improve the process, you will gradually forget the twelve principles, because it is too much to back up, and you can basically follow them in the same way if you forget them. Congratulations, you have understood agility, And the agile declaration can guide your behavior, even your mind is agile, and agile declaration is not important.
Is agility the goal? Is agility always better than agility? Why should I be agile?
Agility is not an aim. Our purpose is to create excellent software. What is an excellent software? It has correct functions, is easy to maintain, is easy to modify, can bring value to customers, and can contribute to the progress of human civilization. There is a saying: no matter the black cat or the white cat, it is a good cat to catch the mouse. The same is true for software development. No matter what method you use, you only need to create excellent software.
Agility is now the cat with a high efficiency. agility is used to increase the probability of catching a mouse. Sooner or later, a more powerful cat will appear to replace the cat; various agile methods are the tricks for mouse consumption. For some mouse consumption, the tricks are easy to use. Therefore, appropriate tricks should be adopted based on specific problems.
After talking about so much agility, do I have to use it? Do I have to learn it? Not necessarily, agility is not a silver bullet. It cannot solve all the problems. In fact, it is not as agile in some environments. But if you do not learn it, how do you know when it can be used to increase productivity and when it will not be used to avoid failure?
Agility or. NET is neither an aim, but a means or an optional method or tool. Focusing on the value of software and Building Excellent Software is the ultimate goal.