Extreme Programming (XP)

Documentos relacionados
Extreme Programming: Valores e Práticas

XP EXTREME PROGRAMMING. AGO106 - Gestão

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Vinícius Manhães Teles prefácio de Kent Beck colaborações especiais de Kent Beck e Robert Mee

Sistemas de Automação de Escritório (OAS) e Sistemas de Trabalho de Conhecimento (KWS)

Programação extrema (XP)

Casos de Uso e Diagrama de Casos de Uso

Extreme Programming. Projeto de. Desenvolvimento. Software. Prof.: Ari Oliveira

5 Metodologia Informações e ferramentas:

Gestão da Manutenção em Micro e Pequenas Empresas

Sistemas de Suporte à Decisão (DSS)

1 Amintas engenharia

Sistemas de Suporte Executivo (ESS)

Métodos Ágeis e Programação Extrema (XP)

O USO DAS TIC EM EDUCAÇÃO MUSICAL NO 2º CICLO DO ENSINO BÁSICO NOS DISTRITOS DE VILA REAL E BRAGANÇA

Sumário. 2 Índice Remissivo 19

Distribuições de Estatísticas Amostrais e Teorema Central do Limite

PROJETO E ANÁLISES DE EXPERIMENTOS (PAE) PROJETO FATORIAL 2 k COMPLETO E REPLICADO. Dr. Sivaldo Leite Correia

Processos Ágeis de Desenvolvimento de Software

DETERMINANDO A SIGNIFICÂNCIA ESTATÍSTICA PARA AS DIFERENÇAS ENTRE MÉDIAS

O teste de McNemar. A tabela 2x2. Depois - Antes

Programação Extrema na Prática

Processos de Software

RESOLUÇÃO DAS QUESTÕES DE MATEMÁTICA FINANCEIRA

Realizando a integração do mainframe. Por que os desenvolvedores (DevOps) empresariais deveriam assumir o controle das aplicações legadas Agora!

Amplificador Monolítico CMOS para Sinais a 1GHz, com Ganho Controlado Digitalmente

Problema de Fluxo de Custo Mínimo

Problemas Sobre Correlacionamento

Desenvolvimento Ágil de Software. Prof. Edjandir Corrêa Costa

Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos

PROJETO DE MECANISMOS DE 4 BARRAS PARA OBTER UMA TRAJETÓRIA DESEJADA COM AUXÍLIO COMPUTACIONAL

CRONOGRAMA DOS MÓDULOS E CURSOS REGULARES EM OFERTA NO SEGUNDO SEMESTRE DE 2013

Metodologia Orientada a Objetos Mínima

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

5. ANÁLISE DE SISTEMAS DA CONFIABILIADE DE SISTEMAS SÉRIE-PARALELO

Escolhendo um Modelo de Ciclo de Vida

EXPLORANDO OS NÚMEROS FIGURADOS POR MEIO DE ATIVIDADES INVESTIGATIVAS

Módulo de Testes da GP. Ferramenta de Gestão de Testes

Mas o que deixou de ser abordado na grande generalidade desses cursos foi o estudo dos produtos infinitos, mesmo que só no caso numérico real.

Estatística. Estatística II - Administração. Prof. Dr. Marcelo Tavares. Distribuições de amostragem. Estatística Descritiva X Estatística Inferencial

2 Processos Ágeis Scrum

Modelos de Gestão de Projetos

Capítulo 5- Introdução à Inferência estatística.

Princípios e práticas de extremme Programming

ORIENTAÇÃO A OBJETOS

CE071 - ANÁLISE DE REGRESSÃO LINEAR Prof a Suely Ruiz Giolo

SP 01/11/90 NT 127/90. Metodologia para cálculo de Volantes/Folhetos. Eng.º Orlírio de Souza Tourinho Neto. Objetivo

Capítulo 5 Confiabilidade de Sistemas Série-Paralelo e Mistos

CAPÍTULO 8 - Noções de técnicas de amostragem

Transcrição:

Extreme Programmig (XP)

Situação da área de desevolvimeto do software Sociedade demada grade quatidade de sistemas/aplicações software complexo, sistemas distribuídos, heterogêeos requisitos mutates (todo dia, mês, ao) Mas, ifelizmete, ão há gete suficiete para desevolver tato software com qualidade... 2

Problemas Com metodologias de desevolvimeto Supõem que é possível prever o futuro Pouca iteração com os clietes Êfase em burocracias (documetos, formulários, processos, cotroles rígidos, etc.) Avaliação do progresso baseado a evolução da burocracia e ão do código Com software Grade quatidade de erros Falta de flexibilidade 3

Como resolver esse impasse? Melhores Tecologias Padrões de Projeto (reutilização de idéias) Compoetes (reutilização de código) Middleware (aumeta a abstração) Melhores Metodologias Métodos Ágeis outras... 4

Metodologias de desevolvimeto de software OO Tradicioais Comuidade de Egeharia de Software IEEE/ACM ICSE p.ex. Caregie-Mello SEI RUP, CMM, etc. Ágeis Comuidade de POO ACM OOPSLA p.ex. Johso @ Illiois, Beck, Cockbur, Jeffries, Cuigham XP, Crystal, Scrum, etc. 5

Métodos Ágeis de Desevolvimeto de Software Movimeto iiciado por programadores experietes e cosultores em desevolvimeto de software. Questioam e se opõem a uma série de mitos/práticas adotadas em abordages tradicioais de Egeharia de Software e Gerêcia de Projetos. Maifesto Ágil: Assiado por 17 desevolvedores em Utah em fevereiro/2001. 6

O Maifesto do Desevolvimeto Ágil de Software 1. Idivíduos e iterações são mais importates que processos e ferrametas. 2. Software fucioado é mais importate do que documetação completa e detalhada. 3. Colaboração com o cliete é mais importate do que egociação de cotratos. 4. Adaptação a mudaças é mais importate do que seguir o plao iicial. 7

Pricípios do Maifesto Ágil Objetivo: satisfazer o cliete etregado, rapidamete e com freqüêcia, sistemas com algum valor. Etregar versões fucioais em prazos curtos. Estar preparado para requisitos mutates. Pessoal de egócios e desevolvedores jutos. Troca de iformações através de coversas diretas. 8

Programação extrema Metodologia de desevolvimeto de software aperfeiçoada os últimos 5 aos. Gahou otoriedade a partir da OOPSLA 2000 (Coferece O Object-Orieted Programmig). Nome pricipal: Ket Beck. 9

Visão geral Processo de desevolvimeto de software voltado para: Projetos cujos requisitos são vagos e mudam com freqüêcia Desevolvimeto de sistemas orietados a objetos Equipes pequeas, de 2 até 12 programadores Projetos de 1 a 36 meses De 1000 a 250.000 lihas de código Desevolvimeto icremetal (ou iterativo) Orgaizado em toro de um cojuto de valores e práticas para assegurar que o cliete receba um alto retoro do ivestimeto em software 10

Valores do XP Feedback: o cliete aprede com o sistema que utiliza e re-avalia as suas ecessidades, gerado feedback para equipe de desevolvimeto Comuicação: permite que todos os detalhes do projeto sejam tratados com a ateção e a agilidade que merecem Simplicidade: implemetar apeas aquilo que é suficiete para ateder a ecessidade do cliete Coragem: a equipe precisa ser corajosa e acreditar que, utilizado as práticas e valores do XP, será capaz de fazer o software evoluir com seguraça e agilidade 11

Práticas do XP Cliete Presete Jogo do Plaejameto Stad Up Meetig Programação em Par Desevolvimeto Guiado pelos Testes Refactorig Código Coletivo Código Padroizado Desig Simples Metáfora Ritmo Sustetável Itegração Cotíua Releases Curtos 12

Características da equipe Gerete de Projeto: resposável pelos assutos admiistrativos do projeto Coach: resposável técico do projeto Aalista de Teste: resposável por ajudar o cliete a escrever os testes de aceitação Redator Técico: ajuda a equipe de desevolvimeto a documetar o sistema Desevolvedor: aalisa, projeta e codifica o sistema 13

Desafios do desevolvimeto de software Modelo tradicioal Aálise a equipe faz o levatameto dos requisitos e busca compreedê-los detalhadamete Projeto com base a aálise a equipe projeta a arquitetura do sistema Implemetação a equipe se baseia a arquitetura e a aálise para implemetar as diversas partes do software Teste para verificar se o sistema atede às ecessidades especificadas pelo usuário, a equipe testa o software e faz as correções ecessárias Implatação o sistema é colocado em produção e os usuários fiais passam a utilizá-lo Mauteção até o fim da sua vida, o software poderá sofrer alterações por diversas razões, tais como correção e iclusão de ovas fucioalidades 14

Modelo em cascata (Wisto Royce, 1970) 15

Premissas Básicas do Modelo Tradicioal É ecessário fazer uma aálise de requisitos profuda e detalhada ates de projetar a arquitetura do sistema. É ecessário fazer um estudo miucioso e elaborar uma descrição detalhada da arquitetura ates de começar a implemetá-la. É ecessário testar o sistema completamete ates de madar a versão fial para o cliete. 16

Problemas do modelo em cascata Iflexível divisão do projeto em estágios distitos Isso tora difícil respoder a mudaças os requisitos do cliete Portato, este modelo somete é apropriado quado os requisitos forem bem compreedidos 17

O que está por trás deste modelo? Custo de mudaças requisitos deseho testes aálise implemetação produção 18

Desevolvimeto Ágil Utilizam o desevolvimeto iterativo (em espiral) 19

Premissas do Desevolvimeto Ágil Satisfazer o cliete etregado rapidamete e com freqüêcia, sistemas com algum valor Etregar versões fucioais em prazos curtos Estar preparado para requisitos mutates Pessoal de egócios e desevolvedores devem trabalhar jutos Troca de iformações através de coversas diretas O cliete aprede ao logo do desevolvimeto, à medida que é capaz de maipular o sistema Este apredizado pode ser utilizado para realimetar o processo de desevolvimeto 20

O que está por trás deste modelo? Custo de mudaças tempo 21

Mais sobre os valores do XP Feedback Comuicação Simplicidade Coragem 22

Feedback Realimetação que o cliete forece à equipe de desevolvimeto quado: aprede algo ovo sobre o sistema aprede mais sobre os requisitos aprede mais sobre a forma como os requisitos foram implemetados Realimetação que os desevolvedores forecem ao cliete quado: apresetam estimativas apotam riscos técicos sugerem alterativas de desig 23

Comuicação Para que o feedback exista em um projeto de software, é ecessário que a comuicação esteja presete de forma muito itesa Compoetes da equipe e o cliete precisam trocar idéias e iformações para que o software gahe forma e atija os objetivos desejados 24

Comuicação Formas de comuicar uma idéia para outra pessoa Coversar face-a-face Telefoe E-mail Mesages istatâeas Etc Comuicação face-a-face: iterlocutor leva em cota o coteúdo da fala, gestos, expressão facial, tom de voz etc Existe uma riqueza de elemetos que facilitam a compreesão da ossa mesagem, além de uma diâmica que viabiliza questioametos e respostas 25

Comuicação XP procura explorar a comuicação direta etre as pessoas, de modo a dimiuir as falhas de comuicação e evitar retrabalhos desecessários, frutos dessas falhas No XP documetos são usados pricipalmete para registrar o trabalho que já foi executado, ao ivés de discutirem exaustivamete o que deverá ser feito A explicação sobre o que precisa ser feito é forecida pessoalmete face-a-face 26

Simplicidade Deve-se desevolver a fucioalidade requerida APENAS COM O SUFICIENTE para que o cliete teha o seu pedido atedido e possa validar se foi atedido da forma como gostaria Trabalho especulativo é evitado: aquele executado utilizado-se premissas sobre as quais ão se tem total certeza Overegieerig também é evitada: criar uma solução excessivamete sofisticada para um dado problema 27

Coragem Adoção do XP exige que a equipe de desevolvimeto teha coragem para: Desevolver o software de forma icremetal: uma alteração poderá iserir erro aquiloque viha fucioado até etão. Mater o sistema simples: a equipe precisa acreditar que será capaz de icorporar possíveis ecessidades futuras que ela já visualiza o presete, mas que ão foram especificadas pelo cliete. Permitir que o cliete priorize as fucioalidades: o XP as fucioalidades são especificadas através de estórias. Fazer os desevolvedores trabalharem em par. Ivestir tempo em refactorig: melhorar a qualidade do código do sistema, sem alterar a fucioalidade que ele implemeta 28

Coragem Ivestir tempo em testes automatizados. Estimar as estórias a preseça do cliete. Expor o código a todos os membros da equipe: o desevolvedor precisa ter humildade e sereidade para tratar evetuais críticas como um apredizado que o ajudará a melhorar o seu código. Itegrar o sistema diversas vezes ao dia. Adotar um ritmo sustetável: para obter grades saltos de produtividade, os desevolvedores devem começar cada dia de trabalho bem dispostos, criativos, atetos e motivados a fazer um software de alta qualidade. 29

Coragem Abrir mão de documetações que servem como defesa: muitas equipes de desevolvimeto jogam para ão perder. Partem da premissa que o projeto passará por vários problemas será ecessário precaver com todo o tipo de documetação para isetar a equipe de qualquer resposabilidade. Propor cotratos de escopo variável: permite que a equipe icorpore o apredizado do cliete a forma de mudaças o software. Propor a adoção de um processo ovo. 30