Projetos de desenvolvimento de software podem ser divertidos, produtivos e até mesmo desafiadores. Além disso, podem agregar valor de forma consistente a um negócio e mantê-lo sob controle. A Programação eXtrema (XP) foi concebida e desenvolvida para abordar as necessidades específicas do desenvolvimento de software conduzido por equipes pequenas diante de requisitos vagos e instáveis. Sua adoção ainda é controversa porque desafia muitos dogmas convencionais, incluindo o pressuposto de que os custos das modificações em um software obrigatoriamente aumentam de forma drástica ao longo do tempo. A XP reconhece que os projetos precisam dedicar-se à obtenção desta redução nos custos e tirar vantagem daquilo que foi economizado. Além disso, defende a não especialização dos membros do time (todos participam de todas as atividades, em pares e com sistema de rodízio dos pares), o desenvolvimento de infra-estruturas e frameworks durante o desenvolvimento da aplicação, e a comunicação face a face ou por meio de testes eficientes e código cuidadosamente escrito.