XP-eXtreme-Programming-Feedback-LoopseXtreme Programming (XP) is an Agile methodology that takes software development to the extreme by truly embracing best practices while focusing on extreme quality and extreme responsiveness to changing customer requirements. Although eXtreme Programming (XP) can be used as a standalone Agile methodology for very seasoned teams, it truly brings great value when used to expand Scrum or other Agile methodologies. Starting with very simple approaches like Scrum or Kanban to provide the right level of structure for managing the flow of the work, eXtreme Programming (XP) and its focus on best practices truly help teams reach higher maturity levels.

For a gentle introduction to XP by Don Wells, visit extremeprogramming.org. According to Ron Jeffries at xprogramming.com, a leading XP practitioner, XP can be summarized as “a discipline of software development based on values of simplicity, communication, feedback, courage, and respect. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation.

For a gentle introduction to XP by Don Wells, make sure to visit extremeprogramming.org. According to Ron Jeffries at xprogramming.com, a leading XP practitioner, XP can be summarized as “a discipline of software development based on values of simplicity, communication, feedback, courage, and respect. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation.

The Rules of eXtreme Programming (XP)

Planning

  • User Stories User stories are written.
  • Release planning creates the release schedule.
  • Make frequent small releases.
  • The project is divided into iterations.
  • Iteration planning starts each iteration.

Managing

  • Give the team a dedicated open work space.
  • Set a sustainable pace.
  • A stand-up meeting starts each day.
  • The Project Velocity is measured.
  • Move people around.
  • Fix XP when it breaks.

Designing

  • Simplicity.
  • Choose a system metaphor.
  • Use Class, Responsibilities, and Collaboration (CRC) cards for design sessions.
  • Create spike solutions to reduce risk.
  • No functionality is added early.
  • Refactor whenever and wherever possible.

Coding

  • The customer is always available.
  • Code must be written to agreed standards.
  • Code the unit test first.
  • All production code is pair programmed.
  • Only one pair integrates code at a time.
  • Integrate often.
  • Set up a dedicated integration computer.
  • Use collective ownership.

Testing

  • All code must have unit tests.
  • All code must pass all unit tests before it can be released.
  • When a bug is found tests are created.
  • Acceptance tests are run often and the score is published.

Are you ready to unleash your full potential with Kanban?

Start your journey of self-development with your Personal Kanban, or set up a Portfolio Kanban system to visualize your ideal workflow.
Leverage our team of Kanban experts and receive our Kanban email educational series.

No credit card. No contract. No risk.
Yes, it’s that easy to get focused and achieve all your goals.
We call it… Getting into the Kanban Zone.