Conhecer a tecnologia é apenas uma parte do processo de entrega de software. Por mais importante que esta parte seja, sozinha ela não é capaz de garantir o alvo do desenvolvimento que é entregar software de valor para o cliente. As outras partes envolvidas são: construção do time; comunicação com cliente, usuário ou especialista de negócio; gerenciamento das filas de tarefas; abordagem para descoberta de funcionalidade; etc. Todo este conjunto de coisas envolvidas no processo de desenvolvimento fazem parte de uma disciplina chamada Engenharia de Software.
Para a ThoughtWorks, as habilidades relacionadas a Excelência em Engenharia de Software são extremamente relevantes. Aqui vão algumas dicas de como você pode fazer para se desenvolver nelas:
O Extreme Programming é uma metodologia ágil que foca na entrega de software com qualidade e em pequenas partes, visando obter feedback constante dos usuários para melhorar o produto.
O XP defende 5 valores básicos de onde derivam seus princípios e práticas:
- Comunicação: o principal problema no desenvolvimento de software não é a tecnologia, mas a comunicação entre todos do time e seus stakeholders. O XP defende que todos são parte do processo de software e devem se comunicar constantemente.
- Coragem: Não esconder a verdade sobre o estado do projeto ou criar planos para justificar falhas. Todos do time trabalham juntos e se adaptam a mudanças quando elas aparecem.
- Feedback: Entregar software funcionando a cada iteração e ouvir atentamente ao que os usuários precisam de verdade. O processo é planejado em torno das discussões do projeto ao invés de fazer o projeto se adaptar ao processo.
- Respeito: Todos no time contribuem para o projeto respeitando e sendo respeitados.
- Simplicidade: O time faz o que precisa ser feito e nada mais. Isso permite maximizar o valor produzido, caminhando com pequenos passos e mitigando riscos.
Tendo em mente esses cinco valores, confira os recursos abaixo para entender mais sobre os princípios e práticas do XP.