Processo de Desenvolvimento de Software Aula 10
CONTEÚDO DA AULA ON-LINE 1. Processo de desenvolvimento Ágil. Método Ágil: É um conjunto de diretrizes e metodologias que cria uma estrutura conceitual para desenvolver projetos de desenvolvimento de software. Baseado em um manifesto criado por programadores veteranos, e que já tinham passado por inúmeras experiências diferentes no campo de desenvolvimento de software, o Manifesto Ágil (http://www.agilemanifesto.org/) tem como foco as pessoas e não as ferramentas. Método XP: Também conhecido como eXtreme Programming, é um método que pertence a metodologia ágil de desenvolvimento de software. Baseado em 4 valores (comunicação, simplicidade, feedback e coragem) o modelo propõem uma serie de praticas focados em pessoas, ou seja, na equipe de desenvolvimento. Algumas praticas do método XP: - Reuniões em pé: Utilizados par anão perder o foco no assunto. - Programação em par: Formado por uma dupla, no papel de iniciante e do instrutor, Como utilizam um único computador, o código passa automaticamente pelo crivo de duas pessoas. - Testes de aceitação: Testes com validação do cliente. - Pequenas versões: Pequenas versões aceitas pelo cliente ajudam na aceitação do programa completo - Ritmo Sustentável: Utilizar o tempo de trabalho dentro do especificado. Sem horas adicionais. ( 40 horas por semana ) - Padrão de codificação: Estabelecimento de regras de código de programa. - Posse coletiva: O código fonte não pertence a ninguém, é de todos e todos podem utilizá-lo sem necessidade de permissão. Método Scrum: Metodologia que tem como filosofia o manifesto ágil. Possui papel bem definido para as atividades durante todo o processo. Uma vez levantados as questões a serem trabalhadas, é determinado um período de tempo para a realização de um determinado requisito. Durante esse intervalo são feitas reuniões diárias para acompanhamento do andamento das atividades. Características do modelo Scrum. Product Backlog – Lista de itens das quais o cliente deseja que sejam implementados. Sprint Backlog – Analise feita do Product Backlog. Cada requisito é analisado, interpretado e informado a equipe como será implementado. Sprint – Período definido para cada finalização de requisito.
Scrum – Reunião diária para analise de andamento do projeto Scrum Máster – Responsável por coordenar o Scrum e ajudar a atender os impedimentos que possam ocorrer, na tentativa de não estourar o Sprint
Product Backlog
Reunião Diária
Sprint Sprint Backlog
Fim do Sprint
2. Processo Unificado. RUP – Também conhecido como Rational Unified Process, é um processo que faz parte da engenharia de software. Ele é baseado em disciplinas, onde cada uma distribui tarefas e responsabilidades para os envolvidos no desenvolvimento do software. Essas disciplinas são semelhantes as que estudamos anteriormente: - Modelagem de negócios - Requisitos - Analise ou Design - Implementação. - Teste - Implantação Ainda no RUP, existem 3 disciplinas que servem para suporte e apoio ao ambiente. - Configuração e Mudanças – Onde acompanha as mudanças, configurações e status/medições, onde são armazenados e que servirão de base para o andamento do projeto. - Projeto – Abrange questões como gestão de pessoas, orçamento, contratos. - Ambiente – Atividades que dão suporte à equipe de desenvolvimento, como os itens de IT, servidores, ferramentas. Essas disciplinas têm suas responsabilidades e funções variadas, dependendo da fase que se encontra o projeto. No processo RUP o tempo esta dividido em 4 fases.
- Concepção ou Iniciação: Tem como objetivo dar ênfase ao escopo do sistema como um todo. - Elaboração:Tem como função dar ênfase no design ou arquitetura do produto. - Construção: Tem como objetivo verificar o andamento do projeto, e suas atividades. - Transição: Tem como função dar ênfase na implementação do sistema. Ao longo das fases, o projeto sofre diversas iterações e as disciplinas tem diferentes responsabilidades durante o projeto.
Fonte: http://www.wthreex.com/rup/portugues/index.htm
EXERCÍCIOS 1. Qual das funções abaixo NÃO faz parte do Scrum Master? ( ) Responsável por coordenar a reunião diária de andamento do projeto. ( ) Facilitar o dia a dia da equipe, eliminando o que esta atrapalhando no andamento do projeto. ( ) Garantir que as punições impostas à equipe da qual ele chefia, sejam executadas, ( ) Manter a equipe unida pregando os valores do Scrum. 2. Marque a única alternativa abaixo que não representa uma fase no processo unificado. ( ) Elaboração.
( ) Teste. ( ) Construção. ( ) Transição.
SAIBA MAIS Manifesto desenvolvimento ágil de software: http://www.agilemanifesto.org/iso/ptbr/ RUP: http://www.wthreex.com/rup/portugues/index.htm XP: http://pt.wikipedia.org/wiki/Programação_extrema