Ainda pautados nos valores propostos pelo Manifesto Ágil foram forjados os 12 princípios da agilidade, que estão detalhados a seguir:
Resumo gráfico dos princípios:
Princípio 1 - Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado.
Não significa que tudo que o cliente pedir será feito e sim que as entregas serão priorizadas com a participação dele e entregues de forma constante, preferencialmente, após cada Sprint. Para que isso ocorra, naturalmente, a interface com o cliente deve ser priorizada, de acordo com terceiro valor: Colaboração com o Cliente mais que Negociação de Contratos.
Princípio 2 - Mudanças nos requisitos são bem-vindas, mesmo tardiamente, no desenvolvimento.
Times ágeis veem as mudanças como vantagem competitiva. O time deve ter entendimento que as mudanças vão ocorrer mais cedo ou tarde durante o desenvolvimento do produto e que devem ser bem recebidas, analisadas, negociadas, incluídas na pauta da próxima reunião de planejamento da Sprint e desenvolvidas em um processo fluído e sem interrupções.
Princípio 3 - Entregar frequentemente software funcionando, de poucas semanas a poucos meses, com preferência à menor escala de tempo.
Usualmente as Sprints duram de 1 a 4 semanas para garantir que os problemas sejam corrigidos e as mudanças incorporadas ao planejamento mais rapidamente, assim é reduzindo os riscos de Projetos. Eventos time-boxed serão abordados nos próximos tópicos.
Princípio 4 - Pessoas de negócio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto.
É fortemente recomendado que o Time Scrum esteja no mesmo ambiente de trabalho para facilitar a comunicação entre todos e que deve ser o mesmo time do início ao fim do projeto. Esse é mais um princípio que enfatiza a importância da comunicação constante e contato entre a equipe.
Princípio 5 - Construa projetos em torno de indivíduos motivados. Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho.
Manter o ambiente produtivo e dar suporte aos demais do Time Scrum é uma obrigação de todos os envolvidos, principalmente do Scrum Master, que deve empregar muito diálogo e ferramentas de percepção da ambiência, como o Calendário Niko-Niko, verificações comportamentais, etc., e apoiar todos a contornar os conflitos que porventura apareçam, para garantir que o caminho do Time ao objetivo do Projeto não seja obstruído.
Princípio 6 - O método mais eficiente e eficaz de transmitir informações para e entre uma equipe de desenvolvimento é através de conversa face a face.
O Framework Scrum enfatiza que devem ocorrer reuniões diárias para alinhamento do que está ocorrendo durante a execução das tarefas, reuniões com todos do time antes e após cada Sprint para garantir homogeneização das informações, transparência e fortalecer na comunicação.
Princípio 7 - Software funcionando é a medida primária de progresso.
Deve realizar Sprints com entregas constantes e incrementais de valor para cliente e que, preferencialmente, possuam alguma funcionalidade para mostrar durante a Reunião de Revisão da Sprint.
👁🗨 Não se utiliza as métricas de avanço tradicionais, onde o avanço de progresso é baseado no sentimento do Time de Desenvolvimento. Não utilize status de progresso "quase pronto, só falta testar" ou "98,5% desenvolvido". No Scrum utiliza-se o conceito bem simples: “Em andamento” ou “Concluído”. Somente tarefas com status "Concluído" deve ser considerado para gerar os gráficos de progresso. Não existe meio termo, assim dará uma visão mais real do que está pronto e o que falta ser concluído.
Princípio 8 - Os processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente.
O ritmo de trabalho é essencial para alcançar o sucesso do projeto. O Time Scrum deve manter um ritmo que seja adequado para mantê-los saudáveis e produzindo do início ao final do projeto.
Princípio 9 - Contínua atenção à excelência técnica e bom design aumenta a agilidade.
É importante que o Time seja focado na Qualidade, com objetivo claro que devem realizar entregas de alta qualidade no primeiro release, assim evita desperdício e retrabalho, aumenta agilidade e garante satisfação do cliente com incrementos funcionais.
Princípio 10 - Simplicidade -- a arte de maximizar a quantidade de trabalho não realizado -- é essencial.
O esforço deve ser direcionado às tarefas que realmente agregarão valor. Neste momento a negociação entre o Dono do Produto e Cliente é fundamental para garantir que tudo que esteja na Backlog do Produto seja realmente relevante ao projeto, retirando todo trabalho que não agregue, evitando assim que a equipe trabalhe em tarefas que não entregarão valor ao cliente.
Princípio 11 - As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis.
O Time de Desenvolvimento gerencia suas tarefas, não deve possuir um líder ou gerente de projeto que centraliza as informações e as distribui entre os membros do time. No Scrum todos Desenvolvedores têm o mesmo nível hierárquico e a obrigação de buscar entender o que deve ser feito, autodesenvolver-se e ajudar os demais com foco no objetivo do projeto.
No framework Scrum existe uma nova definição: Times auto-gerenciáveis, que será detalhada mais a frente.
Princípio 12 - Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento de acordo.
Normalmente realizada na Reunião de Retrospectiva da Sprint a equipe discute o que deu certo o que não ocorreu conforme esperado e define ações com intuito de alcançar uma melhoria contínua.
Comments