O documento discute as metodologias ágeis de desenvolvimento de software, como o Extreme Programming (XP). Apresenta os princípios do XP, como programação em par, TDD, refatoração, integração contínua e feedback constante do cliente. Também aborda outros temas relacionados como a motivação dos programadores, a metáfora da fábrica de software e o Manifesto Ágil.
8. Não há um único
desenvolvimento, sendo
em tecnologia ou
metodologias de
gerenciamento que
prometa uma melhoria de
uma ordem de grandeza em
uma década de
produtividade.
10. Complexidade
Essência do software
“programar não é apenas
um comportamento humano;
é comportamento humano
complexo.” Gerald Weinberg
11. Conformidade
sistemas de software não
costumam existir em
conformidade com
princípios fundamentais
e estáveis.
12. Maleabilidade
“Software, por sua vez, é apenas
pensamento, o que o torna
infinitamente maleável.”
Fred Brooks
13. Invisibilidade
“Esta falta não apenas retarda o
processo de design dentro de
uma mente, como também
prejudica severamente a
comunicação entre mentes
diferentes.” Fred Brooks
21. Trabalhador do
conhecimento
Permitir que os próprios trabalhadores
se auto-gerenciem;
Assegurar que os trabalhadores tenham
a oportunidade de inovar;
Aprendizado e ensino contínuo;
Qualidade é um fator tão o mais
importante que a quantidade;
Os trabalhadores do conhecimento
precisam ser tratados como “ativos” e
não como “custo”;
22. Motivação para um
programador
A satisfação de montar coisas;
A satisfação de montar coisas que são
úteis para outras pessoas;
O fascínio de montar objetos que se
assemelham a quebra-cabeças;
A satisfação de estar sempre
aprendendo coisas não repetitivas;
O prazer de trabalhar em um meio tão
maleável – pensamento puro – que,
apesar de maleável, existe, se move e
trabalha de uma forma diferente dos
objetos do mundo físico;
23. Lean
Eliminar desperdícios;
Amplificar o aprendizado;
Adiar decisões ao máximo;
Entregar o mais rapidamente
possível;
Delegar poder à equipe;
Incorporar integridade;
Ver o todo;
25. Manifesto Ágil
Indivíduos e interações ao invés de
processos e ferramentas;
Software funcionando ao invés de
documentação abrangente;
Colaboração com o cliente ao invés
de negociação de contratos e
Responder a mudanças ao invés de
seguir um plano.