In the first edition of Extreme Programming Explained Kent Beck described four values of XP — communication, simplicity, feedback and courage — which I adopted for AM. At the time I felt that there was something missing, and decided to add a fifth one, humility. Then, in the second edition of Extreme Programming Explained Kent added a fifth value, respect. Respect and humility are two sides of the same coin, in my opinion.The five values of Agile Modeling (AM) are:
Communication. Models promote communication between your team and your stakeholders as well as between developers on your team.
Simplicity. It’s important that developers understand that models are critical for simplifying both software and the software process” it’s much easier to explore an idea, and improve upon it as your understanding increases, by drawing a diagram or two instead of writing tens or even hundreds of lines of code.
Feedback. Kent Beck says it best in Extreme Programming Explained: “Optimism is an occupational hazard of programming, feedback is the treatment.” By communicating your ideas through diagrams, you quickly gain feedback, enabling you to act on that advice.
Courage. Courage is important because you need to make important decisions and be able to change direction by either discarding or refactoring your work when some of your decisions prove inadequate.
Humility. The best developers have the humility to recognize that they don’t know everything, that their fellow developers, their customers, and in fact all stakeholders also have their own areas of expertise and have value to add to an initiative. An effective approach is to assume that everyone involved with your team has equal value and therefore should be treated with respect. Huet Landry suggests the concept of “Other Esteem”, instead of “Self Esteem”, where you treat the opinions of others as if they have more value than yours. With this approach your first reaction to another’s idea will be most positive.