Infelizmente, o conteúdo desta página não está disponível no idioma selecionado.

Conheça o Goals by KeepSolid 3.0!
Obtenha a versão atualizada agora mesmo pela metade do preço
Conheça também a nova integração do Google Agenda

Extreme Programming

What is Extreme Programming?

Extreme Programming (XP) is an agile framework that focuses on developing a higher quality software while improving the quality of life for the development team. It is a set of specific engineering practices that require developers to go beyond their usual capabilities.

Extreme Programming practices

Learn the definition of Extreme Programming

The core of XP is the interconnected practices listed below that reinforce one another and together aim at eliminating risks associated with software development. Here are the original twelve practices that can be separated into four clusters:

Feedback

  • Test-driven development, which goes from writing a failing automated test to developing code to make test pass and rerunning the test;
  • The Planning Game – a meeting where the team and the stakeholders together discuss and approve the product’s features;
  • Pair programming – when all software is developed by two people working at the same machine;
  • Onsite customer, meaning that the end customer is always present to answer the team’s questions and set or readjust priorities.

Continuous process

  • Small releases, which means the product progresses by frequent and small incremental updates;
  • Refactoring, which removes unnecessary functions to increase code coherency and decouple elements;
  • Continuous Integration – a practice where all updates to code are immediately automatically tested when they are merged to a central repository, which reveals and fixes all issues faster.

Code understanding

  • System Metaphor – a simple design that provides the basic structure and the naming conventions for classes and methods and ensures that the design is simply to understand;
  • Simple Design, which implies removing any revealed complexity to achieve the simplest software design that works;
  • Collective Code Ownership – the whole team’s responsibility for the system design means that every team member can review and update code;
  • Coding Standard - using the same formats and styles in writing code so that all team members can easily read, share, and refactor code.

Working conditions

  • 40-hour week, which promotes a healthy work-life balance and prevents developers from burnout. 

Extreme Programming values

Extreme Programming relies on five key values:

Communication - XP emphasizes the importance of face to face discussion between the team and the customer using a white board or other drawing tools.

Simplicity – XP aims at avoiding waste and keeping the system design as simple as possible so as to maintain, support, and revise it with ease.

Feedback – feedback helps the team to identify areas for improvement in their product and working practices.

Courage – meaning a preference for action “in the face of fear”, for example stop doing something that doesn’t work and look for something else, or simply accept negative feedback and apply changes.

Respect – mutual respect is a foundation for effective communication in the team, giving and accepting feedback and cooperation to find the simplest solution.

When XP is the most beneficial

Extreme Programming is the ideal framework for development teams that work in the following environment:

  •  experience dynamically changing requirements or work with customers that are unsure of their needs;

  • face risks related in using new technology at fixed-time projects;

  • work in small teams (between 2 and 12 members);

  • use technologies that allow for automated unit and functional tests;

  •  can work closely with customers.

If the team is up for extensive collaboration and continuous development, extreme programming might be a great adaptable model.

 

Stay on top of Business Goals

Set Goals, Plan Strategy, Involve Your Team, and Achieve Big Results. Manage the future with our Leading Goal Management Software

Todos os direitos reservados