Extreme Programming values are the primary guidelines to be used whenever it is not clear how to resolve the particular situation. Value of simplicity calls for looking for the simplest working solution first and improving it later only the need arises. This value is based on the assumption that requirements and many other things in software are changing so often and are so imprecise until done that it is rarely worth to implement things supposed to be helpful at some point in the future. By that moment there are good chances that improved understanding of the subject area and solution would call for a very different approach.
Examples of applying the value of simplicity could be
- preferring paper prototypes over the diagrams carefully charted on a PC;
- developing one feature at a time. Whenever possible with the customer evaluating when the feature is already good enough for him;
- preferring live conversation to the extensive emailing;
- etc.
Primary XP practices directly supporting the value of simplicity
- Sit Together - make it easy to use the simplest way of communication - live discussion
- Whole Team - make it easy to reach the specialist in any relevant area
- Informative Workspace - make it as easy to update the project status as to move a card on the wall
- Stories - document the requirements in the simplest possible "concept-like" way and refine them together with the customer later
- Weekly Cycle - develop in short iterations so that ready-to-use functionality would be created step by step
- Incremental Design - simple design first, refactoring later, improvements on demand
- Test-First Programming and Continuous Integration - with the comprehensive set of automated tests make it easy to improve the software design on demand
Corollary XP practices directly supporting the value of simplicity
- Real Customer Involvement - there is no simpler way to refine the requirement, than to show customer what you understood and to ask for his opinion on it
- Incremental Deployment and Daily Deployment - deliver one small step at a time
This page is a part of the Extreme Programming overview
Bookmark/Search this post with:
About the Author: As the Editor-in-Chief for AgileSoftwareDevelopment.com, Artem is charged with overseeing the direction for content, advertising, and the overall management of the site. Nowadays in his day life, Artem is a product manager in a global telecommunication company where he leads the development of a product developed in extremely distributed environment. Artem has been applying Agile and researching Agile since 2005. Contact Artem
Comments
Post new comment