documentxp

Post on 05-Jul-2015

585 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Paulo MouraWeb Developerstudiosecret.com.br/blogtasafo.wordpres.com

Extreme Programming

Por quê?

Projetos que não são entregues no prazo.

Gastos que superam orçamento.

Funcionalidades que não ajudam o usuário.

Baixa qualidade dos sistemas.

Isso a 40 anos atrás

Não há um único desenvolvimento, sendo em tecnologia ou metodologias de gerenciamento que prometa uma melhoria de uma ordem de grandeza em uma década de produtividade.

NO SILVER BULLET

Complexidade

Essência do software

“programar não é apenasum comportamento humano; é comportamento humano complexo.” Gerald Weinberg

Conformidade

sistemas de software não costumam existir em conformidade comprincípios fundamentais e estáveis.

Maleabilidade

“Software, por sua vez, é apenas pensamento, o que o torna infinitamente maleável.”Fred Brooks

Invisibilidade

“Esta falta não apenas retarda o processo de design dentro de uma mente, como também prejudica severamente a comunicação entre mentes diferentes.” Fred Brooks

Inexistência de princípios básicos

Rápida evolução tecnológica

Baixo custo de manufatura

METÁFORAS

Fábricas de software

Frederick Taylor

Trabalhador do conhecimento

Permitir que os próprios trabalhadores se auto-gerenciem;

Assegurar que os trabalhadores tenham a oportunidade de inovar;

Aprendizado e ensino contínuo; Qualidade é um fator tão o mais

importante que a quantidade; Os trabalhadores do conhecimento

precisam ser tratados como “ativos” e não como “custo”;

Motivação para um programador

A satisfação de montar coisas; A satisfação de montar coisas que são

úteis para outras pessoas; O fascínio de montar objetos que se

assemelham a quebra-cabeças; A satisfação de estar sempre

aprendendo coisas não repetitivas; O prazer de trabalhar em um meio tão

maleável – pensamento puro – que, apesar de maleável, existe, se move e trabalha de uma forma diferente dos objetos do mundo físico;

Lean

Eliminar desperdícios; Amplificar o aprendizado; Adiar decisões ao máximo; Entregar o mais rapidamente

possível; Delegar poder à equipe; Incorporar integridade; Ver o todo;

RUP

Manifesto Ágil

Indivíduos e interações ao invés de processos e ferramentas;Software funcionando ao invés de documentação abrangente;Colaboração com o cliente ao invés de negociação de contratos eResponder a mudanças ao invés de seguir um plano.

Extreme Programming

RefatoraçãoProgramação em parMudanças rápidasFeedback constatante do clienteTestes automatizados

Programação em Par

TDD

Refactoring

TDD

Cliente Presente

Design Iterativo e Incremental

Stand up meeting

Código Coletivo

Integração Contínua

Coragem

Coragem

Obrigado

@paulociecomppaulociecomp@gmail.comstudiosecret.com.br/blog

Links interessantes:http://improveit.com.br/xp

tasafo.org

top related