XP, Kanban and TDD

By Juan Rodríguez

What is XP?

Extreme Programming (Kent Beck) is an agile project management methodology that supports frequent releases in short development cycles.

Values of XP methodology

Rules of XP methodology

What is Kanban? 

Kanban is a work management system design to help you visualize your work, limit work in progress and maximize efficiency, which we call workflow.

Taiichi Ohno (Toyota manufacturing system).

看板 - visual signal

Kanban principles

  1. Starts with what you do now.
  2. Respects current roles and responsibilities (exactly the way that they are today).
  3. Encourages acts of leaderships from all levels.
  4. Agree to Pursue Incremental, Evolutionary Change.

Kanban board

 

Kanban method (manufacturing process into software) .

David Anderson

Personal Kanban

 

Only two rules: Visualize your work and limit WIP.

Jim Benson and Tonianne deMaría

Kanban digital boards

What is TDD? 

Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle.

The act of writing a unit test is more an act of design than of verification.  It is also more an act of documentation than of verification.  The act of writing a unit test closes a remarkable number of feedback loops, the least of which is the one pertaining to verification of function (Robert C. Martin, 2002).

TDD = Refactoring + TFD

One view is the goal of TDD is specification and not validation (Martin, Newkirk, and Kess 2003).

The Steps of test-first development (TFD).

The two levels of TDD

  • Acceptance TDD (ATDD) is also called Behavior Driven Development (BDD).
  • Developer TDD: Sometimes inaccurately referred to as a unit test.

Overview of testing on agile project teams

XP, Kanban, TDD

By Juan Rodriguez

XP, Kanban, TDD

Agile methodologies

  • 1,000