23
Chrysler Comprehensive Compensation System C3

Chrysler c3 project

Embed Size (px)

Citation preview

Page 1: Chrysler c3 project

Chrysler Comprehensive Compensation

System

C3

Page 2: Chrysler c3 project

C3Objetivo:

Unificar vários sistemas de pagamento em um [1]

Motivação:

Diminuição do retrabalho gerado pela descentralização dos sistemas de folha de pagamento [7]

Page 3: Chrysler c3 project

C3Situação:

• Sistemas com 20 anos de idade [7]• Input via cartão perfurado [7]• COBOL [1]

Page 4: Chrysler c3 project

C3Responsáveis:

Tom Hadfield (Diretor de Sistemas de Folha de Pagamento) sob a supervisão de Susan Unger (CIO) [3]

Meta:

Gerar a folha de pagamento de 86.000 funcionários [3]

Page 5: Chrysler c3 project

C31993:

Início do Projeto [1]

1995:

Início efetivo da implementação (2 anos para iniciar o desenvolvimento)

Martin Fowler foi contratado como consultor "part time" para melhoria de performance

Page 6: Chrysler c3 project

C3Tecnologia:

Smalltalk com GemStone [3]

"Gemstone" fornece um "ecossistema" para desenvolvimento distribuído, multiusuário e transacional, usando a linguagem Smalltalk, numa arquitetura cliente/servidor de três camadas e acesso à base de dados relacionais [4]

Page 7: Chrysler c3 project

C31996:

Nenhum contracheque impresso até essa data [1]

Kent Beck:

• Chamado como consultor para melhorias de performance (assim como Fowler) [5]

• Tornou-se "líder técnico" (Head Coach)• Chama Ron Jeffries para trabalhar no projeto [3][6]

Page 8: Chrysler c3 project

C3Kent Beck, Ron Jeffries e

posteriormente Ward Cunningham tornariam-se os

criadores do XP [3]

"O XP foi criado por desenvolvedores para desenvolvedores!" [8]

Page 9: Chrysler c3 project

C31996 (cont.):

"Just made the whole thing up in two weeks (XP), marker in hand at the whiteboard." (Kent Beck) [8]

O grupo focou apenas naquilo que agregava valor ao cliente, descartando o resto

Page 10: Chrysler c3 project

C31997:

O c3 entra em produção gerando a folha de pagamento de 10.000 funcionários [1]. O sistema abrangia o "Executive System", pagando gerentes e técnicos mensalmente [7]

Novas entregas menores, em iterações curtas, foram realizadas no ano que se seguiu [8]

Page 11: Chrysler c3 project

C3

Este resultado promissor serviu de propulsor para técnicas de

desenvolvimento que norteiam o eXtreme Programming. A teoria desta metodologia surgiu mais tarde,

graças ao sucesso da prática.

Page 12: Chrysler c3 project

C31999:

O projeto é cancelado sem conseguir alcançar a meta dos 86.000 contracheques [1]

Motivo:

Saída do principal detentor dos requisitos e canal de comunicação com o cliente

Page 13: Chrysler c3 project

C3

"XP não é garantia de sucesso" (Martin Fowler) [1]

Page 14: Chrysler c3 project

C3

mas...

Page 15: Chrysler c3 project

C3

Parte do grupo de desenvolvedores do c3, ainda na Chrysler, foi usado

para o desenvolvimento de um "portal de software" [1]

Page 16: Chrysler c3 project

C3

Durante o ano de 2002, apenas 1 (um!!!) bug foi encontrado em

produção [1]

Page 17: Chrysler c3 project

C3

A média da frequência dos "releases" para produção era de apenas 2

(duas) semanas [1]

Page 18: Chrysler c3 project

C3

Graças às práticas do XP, seus projetos são conhecidos como "Very

Low Defect Projects"

(Projetos com baixíssima taxa de defeitos). [2]

Page 19: Chrysler c3 project

C3The C3 Team at Chrysler Corporation:

Ann Anderson, Ralph Beattie, Kent Beck, David Bryant, Marie DeArment, Martin Fowler, Margaret Fronczak, Rich Garzaniti, Dennis Gore, Brian Hacker, Chet Hendrickson, Ron Jeffries, Doug Joppie, David Kim, Paul Kowalsky, Debbie Mueller, Tom Murasky, Richard Nutter, Adrian Pantea, and Don Thomas

Page 20: Chrysler c3 project

Técnicas utilizadas no projeto C3

• Fazer “a coisa” o mais simples possível• Refatoração de código• Integração contínua• O cliente faz parte do time• Requisitos simplificados (história do usuário)• Planejamento baseado em iterações• Estimativa feita pelo time• Estimativa baseada em história do usuário• Testes implementados antes da codificação• Testes unitários e funcionais• Programação em pares• Reuniões diárias de forma simples e com todo time

Page 21: Chrysler c3 project
Page 22: Chrysler c3 project

C3Referências:

[1] C3 - Martin Fowler (http://martinfowler.com/bliki/C3.html)

[2] VeryLowDefectProjectMartin - Fowler, Janeiro de 2004 ( http://martinfowler.com/bliki/VeryLowDefectProject.html)

[3] Chrysler Comprehensive Compensation System - Wikipedia, Novembro de 2011 (http://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compensation_System)

[4] GemStone Programming Guide - GemStone Systems, Inc , Julho de 1996 (http://www.laputan.org/pub/sag/GPG.PDF)

Page 23: Chrysler c3 project

C3Referências (cont.):

[5] Chrysler Comprehensive Compensation - Kent Beck, (http://c2.com/cgi/wiki?ChryslerComprehensiveCompensation)

[6] Ron Jeffries - (http://c2.com/cgi/wiki?RonJeffries)

[7] Case Study: Chrysler Goes to “Extremes” - The C3 Team at Chrysler Corporation, Outubro de 1998 - (http://xprogramming.com/publications/dc9810cs.pdf)

[8] Sams Teach Yourself Extreme Programming in 24 Hours - Stewart Baird (http://vapvarun.com/study/softE/teach%20yourself%20extreme%20programming%20in%2024%20hours/0-672-32441-5_2fch02lev1sec1.htm)