Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê?



Documentos relacionados
Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

O Processo Unificado

Desenvolvimento Ágil de Software

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta Rafael Reimberg Vinicius Quaiato

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Comparativo entre Processos Ágeis. Daniel Ferreira

Com metodologias de desenvolvimento

Engenharia de Software I. Aula 15: Metodologias Ágeis. Prof. Márcio D. Puntel

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Engenharia de Software II

MÉTODO ÁGIL XP (EXTREME PROGRAMMING)

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp

Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis

Ouvir o cliente e reconhecer o problema: ingredientes essenciais à gestão de projetos

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução.

INTRODUÇÃO AOS MÉTODOS ÁGEIS

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM)

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Organização da Informação Projeto Final. extreme Programming

Processos de Software

Apresentar os conceitos básicos da metodologia de desenvolvimento Processo Unificado, utilizando como aporte o Processo Unificado Rational RUP

Alexandre Lima Guilherme Melo Joeldson Costa Marcelo Guedes

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com

Introdução ao Processo Unificado (PU)

SCRUM: UM MÉTODO ÁGIL. Cleviton Monteiro

METODOLOGIA ÁGIL. Lílian Simão Oliveira

Prof. Me. Marcos Echevarria

Modelos de Processo (métodos)

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades

SCRUM. Otimizando projetos. Adilson Taub Júnior tecproit.com.br

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE

O modelo unificado de processo. O Rational Unified Process, RUP.

Resumo artigo Agile Modeling- Overview

development Teresa Maciel DEINFO/UFRPE

Géssica Talita. Márcia Verônica. Prof.: Edmilson

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

Engenharia de Software II

Programação Extrema. Luis Fernando Machado. Engenharia de Software

RUP Rational Unified Process

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Engenharia de Software

Os Desafios da Segurança no Desenvolvimento com Métodos Ágeis. OWASP Education Project. The OWASP Foundation

extreme Programming extreme Programming (XP) Metodologia Ágil Partes do XP Communication (comunicação) 1. Valores do XP

Agilidade -foco no. por Yóris Linhares

ANEXO 07 CICLO DE DESENVOLVIMENTO ÁGIL PROCERGS

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

3 Qualidade de Software

Classificação de Sistemas: Sistemas Empresariais

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

MANIFESTO ÁGIL. Esses conceitos aproximam-se melhor com a forma que pequenas e médias organizações trabalham e respondem à mudanças.

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

Rational Unified Process

PROJETO CEMEA. Um trabalho educacional

Engenharia de Software

Capítulo 1. Extreme Programming: visão geral

A Disciplina Gerência de Projetos

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Resolução da lista de exercícios de casos de uso

Wesley Torres Galindo

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES

Gerenciamento de Projetos Modulo III Grupo de Processos

Guia Projectlab para Métodos Agéis

Conceito e Processo do Planejamento Estratégico

Jonas de Souza H2W SYSTEMS

Wesley Torres Galindo.

Engenharia de Software II

phpcollab Versão 2.4

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Desenvolvendo Software Livre com Programação extrema

Profa. Dra. Ana Paula Gonçalves Serra

PROVA DISCURSIVA (P )

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

Curso de Especialização em Tecnologia da Informação. Engenharia de Software

Engenharia de Software II

Processo de Desenvolvimento Unificado

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

SCRUM. Fabrício Sousa

Aula 2 Introdução ao Scrum

Metodologias Ágeis. Aécio Costa

Uma introdução ao SCRUM. Evandro João Agnes

Programação Orientada a Testes Rodrigo Rebouças de Almeida


Método Aldeia de Projetos

Qualidade de Software

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

P4-MPS.BR - Prova de Conhecimento do Processo de Aquisição do MPS.BR

SCRUM Gerência de Projetos Ágil. Prof. Elias Ferreira

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza

Gerenciamento de Projetos Modulo IX Qualidade

Gestão de Projetos com Scrum

Projeto SIAC 2.0: Uma aplicação do framework Demoiselle para o desenvolvimento de Sistema de Informações Acadêmicas da UFBA (SIAC)

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

NORMA ISO/IEC Isac Aguiar isacaguiar.com.br

Manifesto Ágil - Princípios

Scrum How it works. Há quatro grupos com papéis bem definidos:

Transcrição:

Significado de XP? Extreme Programming (Programação Extrema). Ideal para que tipo de empresa (equipe): pequena, média, grande? Pequenas e Médias. Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê? Sim. O desenvolvimento do XP é iterativo, ou seja, e feito em diversas iterações. Além disto, o processo recomenda a presença constante do cliente, desta forma a descoberta de detalhes de um requisito é constante e como o software é feito em versões é possível inserir as mudanças sem muito prejuízo. Quais são os principais valores propostos pelo XP? Comunicação, simplicidade, feedback e coragem. Cite os principais princípios que norteiam o desenvolvimento de um software utilizando XP? FeedBack rápido: ou seja, os módulos tem que ser rapidamente projetados e implementados para serem apresentados ao cliente. Presumir simplicidade: o software tem que ser simples, ter apenas o que é necessário. Mudanças incrementais: as mudanças que se mostrarem necessárias devem ser inseridas em versões futuras do software. Abraçar Mudança: mudanças não são recusadas, tem que ser feitas, desta forma precisamos desenvolver de modo que facilite inserir tais mudanças. Trabalho de Qualidade: atender as necessidades do usuário e entregar um software com uma taxa adequada de erros lógicos. Boas práticas propostas: Programação em Pares (Pair Programming): Duas pessoas são responsáveis pelo papel de uma. Enquanto um programador esta desenvolvendo o outro analisa o problema e identifica possíveis falhas que possa surgir. Geralmente um é iniciante e outro experiente. Desenvolvimento Orientado a Testes (Test Driven Development): Recomenda pensar nos possíveis problemas e criar teste para os

mesmo, após isto a codificação é inicializada. Garante a qualidade do projeto, substitui em partes a Análise e projeto. Reuniões em pé (Stand-up Meeting): Reuniões rápidas, as pessoas se encontram abordam tarefas realizadas e definem próximas tarefas. Este processo todo é feito em pé, como se fosse um momento de descontração. Posse Coletiva (Collective Ownership): O código desenvolvido não tem dono, constantemente é trocado entre as equipes. O código desenvolvido por minha equipe esta semana poderá ser mantido e evoluído por outra equipe na próxima semana. Integração Contínua (Continuous Integration): Quando um novo modulo é finalizado a sua instalação e integração deve ser imediata. Pequenas Versões (Small Releases): A cada semana um conjunto restrito de funcionalidades é feita, pois desta forma o cliente, sempre terá contado com uma parte usável do sistema. Jogo de Planejamento (Planning Game): O desenvolvimento é feito em iterações semanais. No inicio da semana, Desenvolvedores e cliente reúnem-se para priorizar as funcionalidades. Metáfora (Metaphor): Criar um vocabulário próprio e adequado para a comunicação entre cliente e desenvolvedor. Um desenvolvedor não tem capacidade de conhecer todas as nomenclaturas de todas as áreas que ele desenvolver. Desta forma para facilitar a memorização utiliza-se metáforas. Projeto Simples (Simple Design): Desenvolver apenas o necessário no momento, caso a única informação necessária sobre o livro seja o seu nome em um primeiro momento considere apenas ela. Time Coeso (Whole Team): Criar afinidade e comprometimento entre os clientes e a equipe de desenvolvimento. Testes de Aceitação (Customer Tests): O cliente ajuda a projetar os testes do sistema, pois ele tem uma visão mais detalhada do sistema. Ritmo Sustentável (Sustainable Pace): Respeitar as limitações dos desenvolvedores, buscar um ritmo de trabalho saudável (40 horas/semana, 8 horas/dia), sem horas extras. Só devem ser permitidas quando forem essenciais para manter a produtividade da equipe. Padrões de Codificação (Coding Standards): Padrões bem definidos de codificação, todos programam do mesmo modo, sem vícios, no mesmo formato. Desta forma, o código irá aparentar ter sido desenvolvido pela mesma pessoa.

RUP: Foi uma adaptação de qual outro processo? Do processo unificado(up), o RUP foi criado pela Rational, adaptando as suas necessidades. A Rational foi comprada pela IBM, atualmente a IBM chama o processo como IRUP. O RUP recomenda a utilização de UML e Orientação a Objeto? uso do RUP. Sim, estas duas tecnologias são essenciais para o bom Ele é recomendado para grandes projetos? Sim, grandes projetos permitem uma estrutura na qual dá para utilizar todo o potencial do RUP. E para pequenos? Completamente não, ele pode ser adaptado as estas outras situações. O processo é caro, desta forma para ser viável é necessária esta adaptação. Quais boas práticas de desenvolvimento este modelo propões? Desenvolvimento iterativo Gerência de requisitos Arquitetura em componentes Modelagem visual do software Verificação da qualidade de software Controle de alterações de requisitos Expliquem a figura abaixo?

O RUP divide o processo de desenvolvimento em 4 fases básicas, cada uma destas fases podem ter várias subfases(iterações): Iniciação: Nesta fase o foco e definir com uma precisão o escopo do projeto, planejando todo o restante do projeto. Ocorre em apenas uma iteração Elaboração: Nesta fase é feito a análise e o projeto do software, detalhando as funcionalidades e eliminando possíveis problemas. Podem ocorrer várias iterações, mas geralmente duas é suficiente. Construção: Nesta fase o projeto é convertido em produto. Existem diversas iterações, onde em cada iteração novas funcionalidades são implementadas. Transição: Fase de implantação e configuração do software. Cada uma destas fases apresenta diversas disciplinas(tarefas), que terão +ou- importância dependendo da fase. - Modelagem do negocio, acontece em quase todas as fases, entretanto é essencial na concepção, pois permite definir como é o negocio onde o software estará inserido. - Requisito: Identificação das necessidades do sistema, definição de quais requisitos são essencial, definição de prioridades entre eles. Ocorre muito na fase de concepção e Elaboração - Análise e projeto: as necessidades são analisadas, detalhando como elas são e projetando soluções para elas. Ocorre principalmente na elaboração. - Implementação: Ocorre principalmente na construção, onde esta atividade transforma o projeto em código.

- Teste: valida todo o projeto(projeto e código), ocorre em todo o período, um pouco mais ao fim da construção. - Implantação: Ocorre nas ultimas iterações da construção e na Transição. Atividades de gerencia(projeto, configuração e ambiente) ocorrem em todas as fases. SCRUM O Scrum pode ser utilizado em qualquer engenharia? Sim, ele foi criado para a indústria automobilística. O Scrum pode ser utilizado em qualquer engenharia? Sim, ele foi criado para a indústria automobilística. O que são os conceitos sprint e backlog? São, respectivamente, as interações necessárias e os requisitos que devem ser atendidos. Existe o conceito de reuniões em Pé? Sim, é recomendadas reuniões rápidas e eficientes. Deve existir algum chefe para cada equipe? Não, elas devem ser auto-organizadas, entretanto aparece o papel de scrum máster, que seria um tipo de tutor para resolver problemas que surjam. Deve existir algum chefe para cada equipe? Não, elas devem ser auto-organizadas, entretanto aparece o papel de scrum máster, que seria um tipo de tutor para resolver problemas que surjam. Cite algumas características? Cliente sempre presente.

Entregas rápidas Não ignorar problemas e procurar soluções sem ficar culpando. Propõem desenvolver soluções viáveis em 4 semanas. Qual a principal diferença entre Xp e Scrum? Na verdade são complementares, onde o Scrum aprofunda nas atividades de gerencia de projeto e o XP define melhor o processo de desenvolvimento.