Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Aula 9 – Metodologias Ágeis Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Engenharias tradicionais valorizam o projetos ANTES de construir Engenharias tradicionais não enxergam o processo de desenvolvimento de SW como ele é: requisitos mudam sempre. Necessidade: metodologia que permita alteração frequente do SW sem afetar a sua qualidade Um grupo de desenvolvedores busca um processo menos burocrático e mais prático. CONTEXTO DO ESTADO DA ARTE EM ENHENHARIA DE SW Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE CONTEXTO DO ESTADO DA ARTE EM ENHENHARIA DE SW REALIDADE Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE CONTEXTO DO ESTADO DA ARTE EM ENHENHARIA DE SW DESEJO DAS METODOLOGIAS ÁGEIS Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Princípios comuns Mais baseado no trabalho cooperativo do que no formalismo e na documentação escrita. Baseado num manifesto (Manifesto Ágil), criado por desenvolvedores experientes, que dizem: Estamos descobrindo maneiras melhores de desenvolver software, fazendo-os nós mesmos e ajudando aos outros a fazerem o mesmo Foco em pessoas e não em ferramentas Mudança nos valores PROCESSOS OU METODOS ÁGEIS Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE OS VALORES EXPRESSO NO MANIFESTO ÁGIL Valoriza-se: Indivíduos e interações mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos Responder a mudanças mais que seguir um plano Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ATITUTES QUE DEVEM ESTAR PRESENTES Nossa maior prioridade é satisfazer o cliente Entregas rápidas e de SW útil Mudanças nos requisitos são bem-vindas, mesmo tardiamente Entregar frequentemente software funcionando – na menor escala de tempo possível. Pessoas de negócio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto. – colaboração próxima e diária Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ATITUTES QUE DEVEM ESTAR PRESENTES Construa projetos em torno de indivíduos motivados. Dê a eles o ambiente e o suporte necessário O método mais eficiente e eficaz de transmitir informações para e entre uma equipe de desenvolvimento é através de conversa – comunicação face a face Software funcionando é a medida primária de progresso Atenção contínua a excelência técnica e ao bom desenho. Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ATITUTES QUE DEVEM ESTAR PRESENTES Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE AS CRÍTICAS MAIS FREQUENTES Faltam-lhes estrutura e documentação necessárias Requerem desenvolvedores muito experientes e disciplinados Costumam resultar em desenho insuficiente Requerem mudança cultural muito grande Dificultam negociações contratuais Podem ser ineficientes se as alterações de requisitos forem frequentes Dificultam as estimativas de esforços, custos e prazos. Mostram dificuldade de tratamento dos requisitos não funcionais. Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE XP= eXtreme Programming. Baseado em 5 valores Comunicação, Coragem (para lidar c/ mudança requisito) Feedback, Respeito (entre membros da equipe) Simplicidade (fazer o necessário). O MÉTODO ÁGIL: XP Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Jogo do Planejamento O desenvolvimento é divido em liberações (iterações) Desenvolvedores estimam o esforço Cliente define escopo e prazo, com base na estimativa do desenvolvedor. E implementado o que esta no escopo Um iteração compreende um grupo de funções chamadas de estórias de usuário (variante do caso de uso) Liberações pequenas – iterações duram de 1 a 3 semanas. Maximo> 1 mês Desenho simples: comunicação ao programador e testes Desenvolvimento orientado a testes: desenvolvedores (testes de unidade) e usuário (teste de aceitação) O MÉTODO ÁGIL: XP Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Programação em Pares – escrito por 2 programadores na mesma estação de trabalho. Propriedade coletiva – todo programador pode alterar qualquer código, sempre que necessário. Cliente local: um representante fica disponível, no local. Semana de 40 horas: proibido horas extras O MÉTODO ÁGIL: XP Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE MÉTODO ÁGIL: SCRUM O Scrum é um processo de desenvolvimento iterativo e incremental para gerenciamento de projetos e desenvolvimento ágil de software Uso: trabalhos complexos, onde não há previsão exata do que se pretende desenvolver O projeto é dividido em ciclos (sprints) O sprint é a iteração, no caso do SCRUM Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE MÉTODO ÁGIL: SCRUM O SCRUM parte do princípio que nem todas as características do produto são conhecidas na análise e que provavelmente os requisito mudarão com tempo Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE MÉTODO ÁGIL: SCRUM Papéis desempenhados o ScrumMaster, que mantém os processos (normalmente no lugar de um gerente de projeto); o Proprietário do Produto, ou Product Owner, que representa os stakeholders e o negócio; a Equipe, ou Team, um grupo multifuncional que fazem a análise, projeto, implementação, teste etc. Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE MÉTODO ÁGIL: SCRUM O SPRINT é a unidade básica de desenvolvimento do SCRUM. Duração de 1 semana a 1 mês Antes de cada Sprint há uma reunião de planejamento Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE MÉTODO ÁGIL: SCRUM Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE METODOLOGIA ÁGIL: SCRUM Product Backlog Lista com Funcionalidades a serem implementadas. Os itens podem estar divididos em uma ou mais tarefas divisão do trabalho Pode ser alterado a qualquer momento. Sprint Backlog Requisitos sub conjunto de Product Backlog Análise dos requisitos para informar equipe como será implementado no próximo sprint Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE METODOLOGIA ÁGIL: SCRUM Sprint Período para finalização de cada requisito Reunião diária Reunião diária para análise de andamento do status do projeto. Rápida, 15 min. Mesmo local e horários, todos os dias Reunião de Planejamento do SPRINT Selecionar o trabalho Preparar o Sprint Backlog Reunião de revisão da sprint Previsto x realizado Demonstrar (se completo) aos stakeholders. Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE METODOLOGIA ÁGIL: SCRUM Scrum Master coordenador (não estourar o sprint) Metodologias Ágeis – Aula 9 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PRINCIPAIS CONCEITOS APRESENTADOS NA AULA. Contexto do estado da arte de desenvolvimento As deficiências O Manifesto Ágil As metodologias àgeis O XP O SCRUM
Compartilhar