XP EXTREME PROGRAMMING

Slides:



Advertisements
Apresentações semelhantes
Metodologia R/XP.
Advertisements

Gerenciamento de Projetos
Uma metodologia inovadora…
D.O. ( Escola do Desenvolvimento Organizacional )
Modelos de Ciclo de Vida
Engenharia de Software
Técnicas de Teste de Software
Análise e Projeto de Sistemas I
Adriano Teixeira João Vide Luís Silva Maria Pedroto
Rational Unified Process(RUP)
Extreme Programming(XP)
Desenvolvimento ágil: eXtreme Programming vs SCRUM Tiago Rodrigues de Mello CCO-230 – ENGENHARIA DE SOFTWARE / 2010.
Mitos e Problemas Relacionados ao Software
Modelos de processo de software:
Extreme Programming Walfredo Cirne Universidade Federal da Paraíba.
Processo Desenvolvimento de Software Tradicional
Programação eXtrema Desenvolvendo Software com Qualidade e Agilidade
FDD.
Mid-market server campaign – thru partner presentation: Apenas para o apresentador: não mostrar Orador: Parceiro Título da apresentação: Damos-lhe o poder.
Alunos: Artulanez Souza Iony Melo
Chapter 1 Agile in a Nutshell (Ágil em uma casca de noz)
Test-Driven Development
Métodos Ágeis Agile Modeling, ou AG
Processo de Software Prof. Dr. rer. nat. Daniel D. Abdala
Extreme Programming.
Técnicas e Projeto de Sistemas
Engenharia de Software
Fundamentos de Engenharia de SW
Avaliação Experimental de Técnicas Ágeis de Desenvolvimento
Implantando SCRUM na Simplestec Equipe Tributária
Test Driven Development Nazareno Andrade Baseado no material do prof. Hyggo Almeida.
Engenharia de Software
Engenharia de Software
Test Driven Development por Johann Gomes e Thaís Moura.
Desenvolvimento Rápido de Aplicação (RAD)
Processo de Desenvolvimento de Software
Gerência de Configuração - GC
ENGENHARIA DE SOFTWARE
Engenharia de Software
Visão Geral sobre o XP – eXtreme Programming
XPRecife Madson Menezes Costa Ricardo de Oliveira Cavalcanti.
PSBD II Projeto de Sistemas de Banco de Dados II
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
Visão Geral sobre o XP – eXtreme Programming
Plano de Manutenção <RedMan>
eXtreme Programming Metodologia XP
Engenharia de Software
Profª. Selma Maria da Silva
SCRUM Processo de Desenvolvimento de Software
Engenharia de Software
“A Evolução de XP” segundo Kent Beck – Parte 1 O que mudou nesses 5 anos? Danilo Toshiaki Sato
Metodologias Ágeis Para o Desenvolvimento de Software
Métodos Ágeis e Programação Extrema (XP)
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína ANA PAULA LIMA.
1 Programação eXtrema uma solução radical Seminário de Engenharia de Software Fabio Kon Departamento de Ciência da Computação 15 de maio de 2001.
Gestão da Configuração do Software
Extreme Programming João Gabriel Pedro Ramos Renan Santos.
1 Linguagens de Programação Pedro Lopes 2010/2011.
Análise e Projeto de Sistemas Orientados a Objetos - Métodos Ágeis – Extreme Programming Rogério Lacerda
EXtreme Programming Grupo Pará.
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína XP (EXTREME PROGRAMMING) Pós-Graduação em Engenharia de Software Metodologias.
Testes (verificação e validação)
Erton W. Vieira Metodologias Ágeis, Qualidade de Software e Design Centrado no usuário: Pontos de Interação Erton W. Vieira.
Extreme Programming Alexandre Nodari.
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
O uso de XP em uma Organização CMM 2 Renata Endriss
EXtreme Programming Eduardo Aranha.
SCRUM Development Process Universidade Federal de Pernambuco Lenylda Albuquerque
Joaquim Oliveira Grupo de Estudos em Processos 25/06/2002 Comparação entre Metodologias de Desenvolvimento.
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
Transcrição da apresentação:

XP EXTREME PROGRAMMING Fábio Carvalho nº 3838 Cláudio Custódio nº 3768

EXTREME PROGRAMMING Nesta apresentação vamos abordar: O que é XP? Seus valores Práticas Papeis ( roles)

XP, o que é? (1) É uma forma de desenvolver software eficiente, de baixo risco, flexível, previsível, cientifica, e divertidamente. Esta metodologia distingue-se das outras por: avaliação concreta e continuada de ciclos curtos desde o inicio. abordagem incremental do planeamento, que surge rapidamente com um plano da evolução do projecto ao longo da sua vida. capacidade de agendar de forma flexível a implementação de funcionalidades, conforme as necessidades comerciais. confiança em testes escritos sumariamente por programadores e clientes para monitorizar o progresso de desenvolvimento, para permitir a evolução do sistema, e detectar os defeitos prematuramente.

XP, o que é? (2) confiança na comunicação oral, testes e código fonte para comunicar a estrutura e intenção do sistema. confiança no processo de desenho evolucionário que dura tanto como o sistema irá durar. confiança na estreita colaboração de programadores vulgares. confiança em práticas que funcionam tanto com os instintos a curto prazo dos programadores como com os interesses a longo prazo do projecto.

XP, o que é? (3) XP é feito para se aplicar em projectos que podem ser concebidos por equipas de dois a dez programadores, que não estarão constrangidos pelo ambiente de computação existente, e onde a razoável tarefa de executar testes se pode executar na fracção de um dia.

Valores (1) Simplicidade: Um código simples permite reagir às mudanças com maior agilidade que um código complexo, e também está menos sujeito a falhas quando for modificado. Mas simplificar um código complexo é um trabalho duro. O valor da comunicação: XP prima a comunicação nas trocas de impressão breves e concisas e na programação a dois. Preferindo sempre chat a eMail, telefonemas a chat, conversar pessoalmente a telefonemas, trabalhar na mesma sala a ter salas isoladas, trabalhar em conjunto a analisar o produto final.

Valores (2) Coragem: É preciso coragem para: apontar um problema no projecto, parar quando está cansado, pedir ajuda quando necessário, simplificar código que já está a funcionar, dizer ao cliente que não será possível implementar um requisito no prazo estimado, fazer alterações no processo de desenvolvimento. Ou seja, seguir o procedimento mais correcto mesmo que este tenha menos aceitação por parte da equipa. Feedback (avaliação): o feedback é como um “tratamento” para o perigo do optimismo na programação. O feedback trabalha em diferentes escalas temporais. Com os testes efectuados ao sistema pelos programadores está-se a receber feedback acerca do estado do sistema. O feedback provem tanto dos clientes como da equipa de desenvolvimento do sistema.

Valores (3) Feedback

Práticas (1) O jogo do planeamento: determinar rapidamente o âmbito do novo lançamento combinando as prioridades do negócio e as estimativas técnicas. Manter o plano actual. Lançamentos pequenos: lançar um programa simples em pouco tempo, e depois lançar pequenas novas versões ciclicamente. Metáfora: conduzir todo o desenvolvimento com a partilha de uma simples “história” sobre como todo o sistema funciona. Projecção simples: deve-se manter o sistema o mais simples possível. Testes: os programadores escrevem testes continuamente, que devem correr sem problemas para continuar. Os clientes escrevem testes para demonstrar que certas funcionalidades estão prontas.

Práticas (2) Refactoring: os programadores reestruturam o sistema sem alterar o seu comportamento para tirar duplicações, melhorar a comunicação, simplificar ou adicionar flexibilidade. Programação aos pares: todo o código é escrito com duas pessoas numa máquina. Propriedade colectiva: qualquer um pode mudar qualquer código em qualquer lugar no sistema e em qualquer altura. Integração continua: integrar e construir o sistema muitas vezes por dia, cada vez que uma tarefa é terminada. Semana de 40 horas: nunca trabalhar mais de 40 horas por semana.

Práticas (3) Cliente “local”: incluir um utilizador do sistema na equipa, disponível em qualquer altura para tirar duvidas. Escrever código segundo padrões: escrever todo o código segundo padrões de modo a haver uma melhor comunicação através do código.

Papéis das pessoas ( Roles) Programador: é quem implementa o código. Cliente: o cliente sabe o que pretende da aplicação, é ele que tem de influenciar o desenvolvimento do projecto sem o “controlar”. Testador: está focado no cliente, vai ajudá-lo a escolher e escrever testes funcionais. Tracker: localiza os sinais vitais do projecto (metas) uma ou duas vezes por semana e garante que todos estejam bem cientes dos mesmos. Coach: tem que notar quando as pessoas se estão a desviar do processo de equipa e traze-los de volta á atenção da equipa. Consultor: fornece sabedoria técnica quando a equipa precisa. Manager: deve transmitir coragem á equipa, confiança, e ocasionalmente alguma insistência para que façam aquilo a que se propuseram.

Coclusão Todas a metodologias se baseiam no medo, o medo do projecto falhar devido a vários factores, e XP não é excepção, apenas ajuda a evitar essas falhas.

Bibliografia: - Extreme Programing explained Beck, Kent - www.xispe.com.br