O projeto C3 da Chrysler visava unificar sistemas de pagamento usando Smalltalk e GemStone, gerando a folha de pagamento de funcionários. Consultores como Kent Beck e Ron Jeffries introduziram técnicas ágeis como XP que melhoraram o projeto, porém ele acabou cancelado quando o principal detentor de requisitos saiu.
2. C3
Objetivo:
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]
3. C3
Situação:
• Sistemas com 20 anos de idade [7]
• Input via cartão perfurado [7]
• COBOL [1]
4. C3
Responsá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]
5. C3
1993:
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
6. C3
Tecnologia:
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]
7. C3
1996:
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]
8. C3
Kent Beck, Ron Jeffries e
posteriormente Ward
Cunningham tornariam-se os
criadores do XP [3]
"O XP foi criado por desenvolvedores para desenvolvedores!" [8]
9. C3
1996 (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
10. C3
1997:
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]
11. 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.
12. C3
1999:
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
13. C3
"XP não é garantia de sucesso"
(Martin Fowler) [1]
15. C3
Parte do grupo de desenvolvedores
do c3, ainda na Chrysler, foi usado
para o desenvolvimento de um
"portal de software" [1]
16. C3
Durante o ano de 2002, apenas 1
(um!!!) bug foi encontrado em
produção [1]
17. C3
A média da frequência dos "releases"
para produção era de apenas 2
(duas) semanas [1]
18. 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]
19. C3
The 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
20. 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
21.
22. C3
Referê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)
23. C3
Referê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)