Agile project management with XP Manual

MANUAL GESTIÓN DE PROYECTOS ÁGILES

writing extensive documentation that explains in detail the behaviour of a system. Writing the documentation does not bring any concrete value to the writer, because all the value will be obtained by the one who consults the documentation in the future. In XP, detailed documentation is replaced by a set of practices that bring a lot of value to the practitioner and offer even more value than documentation to the one who receives the results in the future. In particular, XP encourages the writing of automated tests, continuous design improvement and the selection of self-explanatory code names. All of these techniques bring a lot of value to the user, because they facilitate the understanding and maintainability of the code today.

4. Self-similarity: try to apply things that work in other contexts and at different scales, because they can work as well. This applies especially to testing. You can implement tests on a daily basis on internal application modules (unit tests). But you can also implement integration and acceptance tests once a week to verify that the integration of the module and the whole system works as expected.

5. Continuous improvement: in software development nothing is perfect, but everything is "perfectible". "Perfect is the enemy of good" suggests that something reasonable now is much better than something perfect in a week's time. But we should always aim to improve and perfect that good thing we have just done. That is why one of the practices is continuous design improvement. A system should not be over-designed, but as development proceeds, its design has to be improved so that the code remains of high quality.

6. Diversity: development teams need to have different skills, experience, approaches. Only in this way will the team be able to choose the best solutions in each case. This can be a source of conflicts that need to be resolved, which is why XP has some technical practices that favour the communication spaces necessary to resolve these conflicts.

7. Reflection: Good teams not only do the work, but they are also aware of how they do the work and continuously improve the process by which they do the work. Retrospectives in scrum are a concrete practice aimed at process improvement. Having a space for self- analysis and constructive criticism greatly enhances the functioning of a team.

18

European Open Business School

Made with FlippingBook Ebook Creator