SlideShare a Scribd company logo
1 of 49
Download to read offline
Oh,	
  no!	
  Another	
  
 session	
  about	
  
    technical	
  
       debt?!?	
  
Maybe	
  we	
  could	
  discuss	
  other	
  things….	
  
}!before we start…!




       what	
  the	
  hell	
  is	
  happening	
  with	
  this	
  project?!?	
  
}!before we start…!


                                                                          How	
  is	
  your	
  boss	
  
                                                                          here?	
  




       what	
  the	
  hell	
  is	
  happening	
  with	
  this	
  project?!?	
  
Technical Debt!
  Why should you care?!



   	
  
   Paulo	
  Roberto	
  Camara	
  
   Tech	
  Manager	
  at	
  Ci&T	
  
   proberto@ciandt.com	
  
   @proberto98	
  



                    www.ciandt.com!
                                       {!
which	
  opCon	
  would	
  you	
  go	
  for?	
  
•  the	
  easy	
  and	
  quick	
  way,	
  but	
  the	
  code	
  doesn’t	
  
   look	
  very	
  nice…	
  Future	
  will	
  be	
  dark…	
  

•  a	
  cleaner	
  and	
  more	
  sophisCcated	
  design,	
  but	
  
   it	
  will	
  take	
  longer	
  to	
  put	
  in	
  place.	
  No	
  clouds	
  
   ahead!	
  
really?	
  
really,	
  really?	
  
ah,	
  ok….	
  
“Technical	
  debt	
  is	
  
  everything	
  that	
  
  makes	
  your	
  code	
  
 harder	
  to	
  change.”	
  	
  
(Tom	
  Poppendiek)	
  
such	
  as….	
  
•    no	
  design	
  
•    poor	
  design	
  
•    duplicated	
  code	
  
•    deprecated	
  code	
  
•    un-­‐tested	
  code	
  
•    complex	
  code	
  
•    any	
  kind	
  of	
  
     “workaround”…	
  
the	
  metaphor…	
  
•  every	
  Cme	
  you	
  choose	
  the	
  first	
  opCon	
  (the	
  
   quick	
  and	
  dirt	
  way)	
  you	
  create	
  debt	
  (like	
  a	
  
   financial	
  debt)	
  
    –  if	
  it	
  is	
  a	
  debt,	
  it	
  incurs	
  interest	
  
•  you	
  may	
  pay	
  only	
  the	
  interest	
  
•  or	
  you	
  may	
  pay	
  down	
  the	
  principal,	
  reducing	
  
   the	
  interest	
  in	
  the	
  future	
  
interest?!?	
  
•    bugs	
  
•    extra	
  effort	
  
•    slower	
  development	
  
•    delays	
  
hTp://theagileexecuCve.com/category/technical-­‐debt/	
  
“Every	
  minute	
  spent	
  on	
  not-­‐quite-­‐right	
  code	
  counts	
  as	
  
 interest	
  	
  on	
  that	
  debt.	
  EnCre	
  engineering	
  organizaCons	
  
  can	
  be	
  brought	
  to	
  a	
  stand-­‐sCll	
  under	
  the	
  debt	
  load	
  of	
  
               an	
  unconsolidated	
  implementaCon…”	
  	
  
                        (Ward	
  Cunningham,	
  1992)	
  
Technical	
  Debt	
  Quadrant	
  
(by	
  MarCn	
  Fowler	
  @	
  Agile	
  Brazil	
  2010)	
  




                     hTp://www.marCnfowler.com/bliki/TechnicalDebtQuadrant.html	
  
why	
  should	
  you	
  care?	
  
interest?!?	
  
•    bugs	
  
•    extra	
  effort	
  
•    slower	
  development	
  
•    delays	
  
a	
  liTle	
  context	
  

(before	
  I	
  show	
  you	
  what	
  I	
  am	
  really	
  
                 talking	
  about)	
  
}!Ci&T at a glance!




                            Founded in 1995!
                            HQ in Brazil w/ offices in the US, Japan, Europe & China!
                                                             Argentina and China !
                            Global Delivery Centers in Brazil,
                            Staff: 1,300+!
                            Annual growth: 40%!
                            Provide high performance teams to our clients!
                                                               2010




www.ciandt.com / @ciandt!
}!Our	
  Clients	
  




 www.ciandt.com / @ciandt!
}!What we do!

                 Service Offerings!
                 


                 Application Development & Management!
                 Mobile Solutions!
                 Cloud Computing!
                 Product Engineering!
                 SAP!
                 Business Intelligence!
                 !


www.ciandt.com / @ciandt!
}
How	
  we	
  do	
  it	
  




                              Ci&T runs 100% !
                              Agile projects!!
 www.ciandt.com / @ciandt!
some	
  sad	
  stories	
  

(and	
  fortunately	
  other	
  very	
  happy	
  ones!)	
  
}!do you remember this chart?!




       what	
  the	
  hell	
  is	
  happening	
  with	
  this	
  project?!?	
  
it	
  is	
  a	
  true	
  project…	
  L	
  
•  criCcal	
  Cme	
  to	
  market	
  milestone	
  
•  prudent	
  technical	
  debt	
  (“let’s	
  fix	
  it	
  later!”)	
  
•  yes!	
  We	
  met	
  the	
  milestone!	
  J	
  
•  but….	
  a	
  new	
  “criCcal”	
  milestone	
  was	
  set…	
  
•  more	
  reckless	
  technical	
  debt	
  (“refactoring	
  is	
  for	
  losers!”)	
  
•  things	
  got	
  more	
  difficult	
  (extra	
  effort,	
  extra	
  bugs,	
  frustrated	
  
   team,	
  unhappy	
  customer…)	
  
•  we	
  didn’t	
  meet	
  the	
  second	
  milestone…	
  L	
  
•  two	
  sprints	
  spent	
  on	
  refactoring,	
  almost	
  no	
  new	
  
   funcConality	
  delivered…	
  
•  a	
  long	
  Cme	
  to	
  recover	
  credibility.	
  
Design	
  Stamina	
  Hypothesis	
  
(by	
  MarCn	
  Fowler	
  @	
  Agile	
  Brazil	
  2010)	
  




                     hTp://www.marCnfowler.com/bliki/DesignStaminaHypothesis.html	
  
let’s	
  look	
  another	
  example…	
  
                            almost	
  40%	
  of	
  
                            the	
  total	
  sprint	
  
                            capacity	
  




                                                                         and	
  quality	
  has	
  
                                                                         became	
  an	
  
                                                                         issue…	
  




       what	
  a	
  hell	
  is	
  happening	
  with	
  this	
  project?!?	
  
lack	
  of	
  automated	
  tests,	
  coCnuos	
  
integraCon!	
  
•  complex	
  billing	
  system	
  for	
  an	
  Insurance	
  company	
  
•  lots	
  of	
  integraCons	
  with	
  legacy	
  systems	
  
•  automated	
  tests	
  were	
  not	
  easy	
  to	
  be	
  created	
  (and	
  kept	
  
   working	
  later!)	
  
•  and	
  the	
  Product	
  Owner	
  didn’t	
  accept	
  to	
  spend	
  sprint	
  
   capacity	
  with	
  “no	
  useful	
  code”	
  
•  aber	
  a	
  lot	
  of	
  conversaCon	
  –	
  and	
  problems	
  –	
  team	
  was	
  able	
  
   to	
  create	
  a	
  minimal	
  test	
  suite	
  (one	
  enCre	
  sprint	
  spent	
  on	
  
   that!)	
  
•  keep	
  this	
  tesCng	
  code	
  up	
  and	
  running	
  had	
  become	
  part	
  of	
  
   the	
  definiCon	
  of	
  done	
  
•  in	
  the	
  following	
  sprint,	
  regression	
  tests	
  effort	
  dropped	
  half	
  
   as	
  well	
  as	
  the	
  bugs	
  found	
  by	
  the	
  PO!	
  J	
  
a	
  good	
  reference	
  now!	
  

 •  a	
  large	
  building	
  
    company	
  
 •  an	
  18	
  months	
  project	
  
 •  high	
  technical	
  and	
  
    business	
  complexity	
  
 •  company	
  board	
  as	
  the	
  
    main	
  stakeholders	
  
 •  Ci&T’s	
  team:	
  12	
  people	
  
 •  monthly	
  deliveries	
  
 •  currently	
  at	
  sprint	
  12	
  
technical	
  debt	
  under	
  control!	
  
•  code	
  standards	
  /	
  design	
  /	
  code	
  reviews	
  /	
  
   frequent	
  refactoring	
  
    –  cost	
  to	
  add	
  new	
  features	
  is	
  almost	
  the	
  same	
  since	
  
       sprint	
  3	
  
•  conCnuous	
  integraCon	
  /	
  automated	
  tests	
  
    –  daily	
  builds	
  deployed	
  on	
  customer	
  environment	
  
    –  completely	
  automated	
  deploy	
  process	
  
    –  merge	
  Cme	
  reduced	
  to	
  zero	
  
•  quality	
  
    –  from	
  0,1	
  bugs	
  /	
  KLOC	
  to	
  0,06	
  bugs	
  /	
  KLOC	
  on	
  
       producCon	
  
                                       but	
  how?!?	
  
how	
  to	
  pay	
  the	
  debt?	
  
1	
  –	
  register	
  
2	
  –	
  evaluate	
  
3	
  –	
  do	
  not	
  
accumulate	
  
           	
  
           	
  
conCnuous	
  integraCon	
  
	
  

TDD	
  
	
  

code	
  reviews	
  
	
  

refactoring	
  
	
  

...	
  


                      4	
  –	
  pay	
  
and	
  how	
  about	
  the	
  product	
  
               owner?	
  
  (because	
  it	
  seems	
  he	
  is	
  somehow	
  
     important,	
  doesn’t	
  it?	
  J	
  )	
  
you	
  may	
  see	
  him	
  as	
  the	
  bad	
  guy…	
  

Ø pushing	
  the	
  team	
  very	
  hard	
  

Ø adding	
  unnecessary	
  complexity	
  

Ø not	
  opened	
  to	
  technical	
  arguments	
  
but	
  he	
  is	
  the	
  one	
  who	
  will	
  have	
  to	
  pay	
  
             for	
  the	
  debt	
  eventually!	
  
it	
  is	
  all	
  about	
  communicaCon	
  
•  The	
  product	
  owner	
  –	
  usually	
  -­‐	
  does	
  not	
  know	
  
   what	
  is	
  refactoring,	
  code	
  review,	
  TDD,	
  etc	
  
     –  And	
  he	
  does	
  not	
  need	
  to	
  know!	
  
•  But	
  he	
  needs	
  to	
  know	
  what	
  is	
  the	
  size	
  of	
  the	
  debt	
  
   and	
  make	
  conscious	
  decisions	
  about	
  when	
  and	
  
   how	
  to	
  pay	
  it	
  
     –  Keeping	
  him	
  in	
  the	
  loop	
  is	
  a	
  team	
  responsibility!	
  
final	
  words	
  

(if	
  you	
  have	
  just	
  waken	
  up)	
  
this	
  deck:	
  hp://bit.ly/mWmqan	
     Paulo	
  Camara	
  
                                           proberto@ciandt.com	
  
                                           hTp://www.linkedin.com/in/proberto	
  
                                           proberto98	
  
?
good	
  references	
  
Sites	
                                                                         ArCcles	
  
•  Being	
  Agile	
  –	
  blog	
  interno	
  da	
  Ci&T	
                       •  CMMI®	
  or	
  Agile:	
  Why	
  Not	
  Embrace	
  Both!	
  –	
  by	
  Hillel	
  
•  hTp://www.controlchaos.com/	
                                                     Glazer,	
  Jeff	
  Dalton,	
  David	
  Anderson,	
  Mike	
  Konrad	
  
                                                                                     and	
  Sandy	
  Shrum	
  
•  hTp://www.mountaingoatsobware.com/scrum	
  
                                                                                •  PracCcal	
  Roadmap	
  To	
  Great	
  Scrum	
  -­‐	
  Jeff	
  
•  hTp://jeffsutherland.com/scrum/	
  
                                                                                     Sutherland,	
  Ph.D.,	
  October	
  20,	
  2009	
  
•  hTp://www.scrumalliance.org/arCcles	
  
                                                                                •  Scrum	
  and	
  CMMI	
  -­‐	
  Going	
  from	
  Good	
  to	
  Great,	
  
•  hTp://www.agilechronicles.com/	
                                                  Carsten	
  Ruseng	
  Jakobsen,	
  Jeff	
  Sutherland,	
  Ph.D.	
  
                                                                                	
  
Books	
  
•  Agile	
  Project	
  Management	
  with	
  Scrum	
  -­‐	
  by	
  Ken	
  
    Schwaber	
  
•  Lean	
  Sobware	
  Development:	
  An	
  Agile	
  Toolkit	
  -­‐	
  By	
  
    Mary	
  Poppendieck,	
  Tom	
  Poppendieck	
  	
  
•  Agile	
  and	
  IteraCve	
  Development:	
  A	
  Manager's	
  
    Guide	
  -­‐	
  By	
  Craig	
  Larman	
  	
  
•  Agile	
  Sobware	
  Development	
  -­‐	
  by	
  Alistair	
  Cockburn	
  

	
  



	
  
	
  

More Related Content

What's hot

Identifying and Managing Technical Debt
Identifying and Managing Technical DebtIdentifying and Managing Technical Debt
Identifying and Managing Technical Debtzazworka
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debtFadi Stephan
 
Technical Debt 101
Technical Debt 101Technical Debt 101
Technical Debt 101Intechnica
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and RequirementsNeil Ernst
 
Technical Debt - osbridge
Technical Debt - osbridgeTechnical Debt - osbridge
Technical Debt - osbridgeenaramore
 
"We are doing it wrong."
"We are doing it wrong.""We are doing it wrong."
"We are doing it wrong."weissgraeber
 
Towards a Technical Debt Management Framework based on Cost-Benefit Analysis
Towards a Technical Debt Management Framework based on Cost-Benefit AnalysisTowards a Technical Debt Management Framework based on Cost-Benefit Analysis
Towards a Technical Debt Management Framework based on Cost-Benefit AnalysisM Firdaus Harun
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical DebtKaizenko
 
Agile and Beyond :: The Technical Debt Trap
Agile and Beyond :: The Technical Debt TrapAgile and Beyond :: The Technical Debt Trap
Agile and Beyond :: The Technical Debt TrapDoc Norton
 
The SQALE method: Meaningful insights into your Technical Debt
The SQALE method: Meaningful insights into your Technical DebtThe SQALE method: Meaningful insights into your Technical Debt
The SQALE method: Meaningful insights into your Technical DebtJean-Louis LETOUZEY
 
Acceptance testfurureinmind
Acceptance testfurureinmindAcceptance testfurureinmind
Acceptance testfurureinmindLeanDog
 
Agile is the New Black
Agile is the New BlackAgile is the New Black
Agile is the New BlackFred George
 
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt Neil Ernst
 
Monolith to serverless service based architectures in the enterprise
Monolith to serverless  service based architectures in the enterpriseMonolith to serverless  service based architectures in the enterprise
Monolith to serverless service based architectures in the enterpriseSameh Deabes
 
Masters of Process Episode 1: On Deck with Michael Gill and Curtis Cummings
Masters of Process Episode 1: On Deck with Michael Gill and Curtis CummingsMasters of Process Episode 1: On Deck with Michael Gill and Curtis Cummings
Masters of Process Episode 1: On Deck with Michael Gill and Curtis CummingsLizzyManz
 
Lean Software Development & Kanban
Lean Software Development & KanbanLean Software Development & Kanban
Lean Software Development & KanbanRishi Chaddha
 
Agile Olympiad 2014 Finals
Agile Olympiad 2014 FinalsAgile Olympiad 2014 Finals
Agile Olympiad 2014 FinalsTathagat Varma
 
Software and all that comes with it
Software and all that comes with itSoftware and all that comes with it
Software and all that comes with itAlberto Brandolini
 

What's hot (20)

Identifying and Managing Technical Debt
Identifying and Managing Technical DebtIdentifying and Managing Technical Debt
Identifying and Managing Technical Debt
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 
Technical Debt 101
Technical Debt 101Technical Debt 101
Technical Debt 101
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and Requirements
 
Technical Debt - osbridge
Technical Debt - osbridgeTechnical Debt - osbridge
Technical Debt - osbridge
 
"We are doing it wrong."
"We are doing it wrong.""We are doing it wrong."
"We are doing it wrong."
 
Towards a Technical Debt Management Framework based on Cost-Benefit Analysis
Towards a Technical Debt Management Framework based on Cost-Benefit AnalysisTowards a Technical Debt Management Framework based on Cost-Benefit Analysis
Towards a Technical Debt Management Framework based on Cost-Benefit Analysis
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Agile and Beyond :: The Technical Debt Trap
Agile and Beyond :: The Technical Debt TrapAgile and Beyond :: The Technical Debt Trap
Agile and Beyond :: The Technical Debt Trap
 
The SQALE method: Meaningful insights into your Technical Debt
The SQALE method: Meaningful insights into your Technical DebtThe SQALE method: Meaningful insights into your Technical Debt
The SQALE method: Meaningful insights into your Technical Debt
 
E245 syllabus rev15
E245 syllabus rev15E245 syllabus rev15
E245 syllabus rev15
 
Acceptance testfurureinmind
Acceptance testfurureinmindAcceptance testfurureinmind
Acceptance testfurureinmind
 
Agile is the New Black
Agile is the New BlackAgile is the New Black
Agile is the New Black
 
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
 
Monolith to serverless service based architectures in the enterprise
Monolith to serverless  service based architectures in the enterpriseMonolith to serverless  service based architectures in the enterprise
Monolith to serverless service based architectures in the enterprise
 
Masters of Process Episode 1: On Deck with Michael Gill and Curtis Cummings
Masters of Process Episode 1: On Deck with Michael Gill and Curtis CummingsMasters of Process Episode 1: On Deck with Michael Gill and Curtis Cummings
Masters of Process Episode 1: On Deck with Michael Gill and Curtis Cummings
 
Lean Software Development & Kanban
Lean Software Development & KanbanLean Software Development & Kanban
Lean Software Development & Kanban
 
Value stream mapping
Value stream mapping  Value stream mapping
Value stream mapping
 
Agile Olympiad 2014 Finals
Agile Olympiad 2014 FinalsAgile Olympiad 2014 Finals
Agile Olympiad 2014 Finals
 
Software and all that comes with it
Software and all that comes with itSoftware and all that comes with it
Software and all that comes with it
 

Similar to Technical Debt - Why should you care? (Agiles Buenos Aires 2011)

How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringAndré Agostinho
 
ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)Neil Thompson
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategiesRaquel Pau
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...STX Next
 
Life in the tech trenches (2015)
Life in the tech trenches (2015)Life in the tech trenches (2015)
Life in the tech trenches (2015)Julien SIMON
 
CTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, ViadeoCTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, ViadeoFrance Digitale
 
The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)Julien SIMON
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2Jim Brisson
 
How pair programming can strengthen teams
How pair programming can strengthen teamsHow pair programming can strengthen teams
How pair programming can strengthen teamsHugo Messer
 
Why change code that works - On Technical Debt and Refactoring
Why change code that works - On Technical Debt and RefactoringWhy change code that works - On Technical Debt and Refactoring
Why change code that works - On Technical Debt and RefactoringCarsten Windler
 
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of HoneycombSRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of HoneycombDaniel Zivkovic
 
Scrum methodology how to build the Death Star
Scrum methodology   how to build the Death StarScrum methodology   how to build the Death Star
Scrum methodology how to build the Death StarReinhart De Lille
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsPerforce
 
How To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical DebtHow To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical DebtAbdul Khan
 
How to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teamsHow to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teamsAlexandre Omeyer
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software DevelopmentTathagat Varma
 
From Technical Debt to Technical Health
From Technical Debt to Technical HealthFrom Technical Debt to Technical Health
From Technical Debt to Technical HealthDeclan Whelan
 

Similar to Technical Debt - Why should you care? (Agiles Buenos Aires 2011) (20)

Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
 
Tech debt will kill us
Tech debt will kill usTech debt will kill us
Tech debt will kill us
 
ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...
 
Life in the tech trenches (2015)
Life in the tech trenches (2015)Life in the tech trenches (2015)
Life in the tech trenches (2015)
 
CTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, ViadeoCTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, Viadeo
 
The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
 
How pair programming can strengthen teams
How pair programming can strengthen teamsHow pair programming can strengthen teams
How pair programming can strengthen teams
 
Why change code that works - On Technical Debt and Refactoring
Why change code that works - On Technical Debt and RefactoringWhy change code that works - On Technical Debt and Refactoring
Why change code that works - On Technical Debt and Refactoring
 
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of HoneycombSRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
 
Scrum methodology how to build the Death Star
Scrum methodology   how to build the Death StarScrum methodology   how to build the Death Star
Scrum methodology how to build the Death Star
 
Failure and agility
Failure and agilityFailure and agility
Failure and agility
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOps
 
How To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical DebtHow To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical Debt
 
How to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teamsHow to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teams
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
 
From Technical Debt to Technical Health
From Technical Debt to Technical HealthFrom Technical Debt to Technical Health
From Technical Debt to Technical Health
 

More from CI&T

Previsões - 2016, o ano dos bancos
Previsões - 2016, o ano dos bancosPrevisões - 2016, o ano dos bancos
Previsões - 2016, o ano dos bancosCI&T
 
Previsões em digital para 2015
Previsões em digital para 2015Previsões em digital para 2015
Previsões em digital para 2015CI&T
 
Desafios de uma base de dados consolidada (CIAB 2014)
Desafios de uma base de dados consolidada (CIAB 2014)Desafios de uma base de dados consolidada (CIAB 2014)
Desafios de uma base de dados consolidada (CIAB 2014)CI&T
 
O próximo nível de experiência digital do cliente bancário (CIAB 2014)
O próximo nível de experiência digital do cliente bancário (CIAB 2014)O próximo nível de experiência digital do cliente bancário (CIAB 2014)
O próximo nível de experiência digital do cliente bancário (CIAB 2014)CI&T
 
SOA como suporte ao mundo digital (CIAB 2014)
SOA como suporte ao mundo digital (CIAB 2014)SOA como suporte ao mundo digital (CIAB 2014)
SOA como suporte ao mundo digital (CIAB 2014)CI&T
 
Open APIs by Sensedia (CIAB 2014)
Open APIs by Sensedia (CIAB 2014)Open APIs by Sensedia (CIAB 2014)
Open APIs by Sensedia (CIAB 2014)CI&T
 
Mobile banking e o novo cliente digital (CIAB 2014)
Mobile banking e o novo cliente digital (CIAB 2014)Mobile banking e o novo cliente digital (CIAB 2014)
Mobile banking e o novo cliente digital (CIAB 2014)CI&T
 
Lean IT Summit 2013
Lean IT Summit 2013Lean IT Summit 2013
Lean IT Summit 2013CI&T
 
Improve Customer Engagement With An Intelligent Application Strategy
Improve Customer Engagement With An Intelligent Application StrategyImprove Customer Engagement With An Intelligent Application Strategy
Improve Customer Engagement With An Intelligent Application StrategyCI&T
 
Ci&T: Mobile Estratégico mas sem Estratégia
Ci&T: Mobile Estratégico mas sem EstratégiaCi&T: Mobile Estratégico mas sem Estratégia
Ci&T: Mobile Estratégico mas sem EstratégiaCI&T
 
The Next Digital Marketing- Digital Pharma presentation by Ci&T and Google
The Next Digital Marketing- Digital Pharma presentation by Ci&T and GoogleThe Next Digital Marketing- Digital Pharma presentation by Ci&T and Google
The Next Digital Marketing- Digital Pharma presentation by Ci&T and GoogleCI&T
 
The Next Digital Marketing for Pharma
The Next Digital Marketing for PharmaThe Next Digital Marketing for Pharma
The Next Digital Marketing for PharmaCI&T
 
Digital Experience: Guaranteeing Optimal Engagements - Ci&T Presentation from...
Digital Experience: Guaranteeing Optimal Engagements - Ci&T Presentation from...Digital Experience: Guaranteeing Optimal Engagements - Ci&T Presentation from...
Digital Experience: Guaranteeing Optimal Engagements - Ci&T Presentation from...CI&T
 
DrupalCon Sydney - Selling Drupal to Large Enterprises
DrupalCon Sydney - Selling Drupal to Large EnterprisesDrupalCon Sydney - Selling Drupal to Large Enterprises
DrupalCon Sydney - Selling Drupal to Large EnterprisesCI&T
 
Enterprise Mobility Insights for 2013
Enterprise Mobility Insights for 2013Enterprise Mobility Insights for 2013
Enterprise Mobility Insights for 2013CI&T
 
Tendências em Mobilidade para Corporações 2013
Tendências em Mobilidade para Corporações 2013Tendências em Mobilidade para Corporações 2013
Tendências em Mobilidade para Corporações 2013CI&T
 
Cesar Gon on Hoshin Kanri at European Lean IT Summit 2012
Cesar Gon on Hoshin Kanri at European Lean IT Summit 2012Cesar Gon on Hoshin Kanri at European Lean IT Summit 2012
Cesar Gon on Hoshin Kanri at European Lean IT Summit 2012CI&T
 
Mobile: Estratégico, mas sem Estratégia
Mobile: Estratégico, mas sem EstratégiaMobile: Estratégico, mas sem Estratégia
Mobile: Estratégico, mas sem EstratégiaCI&T
 
Developers, get off the couch and contribute!
Developers, get off the couch and contribute!Developers, get off the couch and contribute!
Developers, get off the couch and contribute!CI&T
 
Ci&T and Technical Web Strategy Service: Powering Enterprises with lean and v...
Ci&T and Technical Web Strategy Service: Powering Enterprises with lean and v...Ci&T and Technical Web Strategy Service: Powering Enterprises with lean and v...
Ci&T and Technical Web Strategy Service: Powering Enterprises with lean and v...CI&T
 

More from CI&T (20)

Previsões - 2016, o ano dos bancos
Previsões - 2016, o ano dos bancosPrevisões - 2016, o ano dos bancos
Previsões - 2016, o ano dos bancos
 
Previsões em digital para 2015
Previsões em digital para 2015Previsões em digital para 2015
Previsões em digital para 2015
 
Desafios de uma base de dados consolidada (CIAB 2014)
Desafios de uma base de dados consolidada (CIAB 2014)Desafios de uma base de dados consolidada (CIAB 2014)
Desafios de uma base de dados consolidada (CIAB 2014)
 
O próximo nível de experiência digital do cliente bancário (CIAB 2014)
O próximo nível de experiência digital do cliente bancário (CIAB 2014)O próximo nível de experiência digital do cliente bancário (CIAB 2014)
O próximo nível de experiência digital do cliente bancário (CIAB 2014)
 
SOA como suporte ao mundo digital (CIAB 2014)
SOA como suporte ao mundo digital (CIAB 2014)SOA como suporte ao mundo digital (CIAB 2014)
SOA como suporte ao mundo digital (CIAB 2014)
 
Open APIs by Sensedia (CIAB 2014)
Open APIs by Sensedia (CIAB 2014)Open APIs by Sensedia (CIAB 2014)
Open APIs by Sensedia (CIAB 2014)
 
Mobile banking e o novo cliente digital (CIAB 2014)
Mobile banking e o novo cliente digital (CIAB 2014)Mobile banking e o novo cliente digital (CIAB 2014)
Mobile banking e o novo cliente digital (CIAB 2014)
 
Lean IT Summit 2013
Lean IT Summit 2013Lean IT Summit 2013
Lean IT Summit 2013
 
Improve Customer Engagement With An Intelligent Application Strategy
Improve Customer Engagement With An Intelligent Application StrategyImprove Customer Engagement With An Intelligent Application Strategy
Improve Customer Engagement With An Intelligent Application Strategy
 
Ci&T: Mobile Estratégico mas sem Estratégia
Ci&T: Mobile Estratégico mas sem EstratégiaCi&T: Mobile Estratégico mas sem Estratégia
Ci&T: Mobile Estratégico mas sem Estratégia
 
The Next Digital Marketing- Digital Pharma presentation by Ci&T and Google
The Next Digital Marketing- Digital Pharma presentation by Ci&T and GoogleThe Next Digital Marketing- Digital Pharma presentation by Ci&T and Google
The Next Digital Marketing- Digital Pharma presentation by Ci&T and Google
 
The Next Digital Marketing for Pharma
The Next Digital Marketing for PharmaThe Next Digital Marketing for Pharma
The Next Digital Marketing for Pharma
 
Digital Experience: Guaranteeing Optimal Engagements - Ci&T Presentation from...
Digital Experience: Guaranteeing Optimal Engagements - Ci&T Presentation from...Digital Experience: Guaranteeing Optimal Engagements - Ci&T Presentation from...
Digital Experience: Guaranteeing Optimal Engagements - Ci&T Presentation from...
 
DrupalCon Sydney - Selling Drupal to Large Enterprises
DrupalCon Sydney - Selling Drupal to Large EnterprisesDrupalCon Sydney - Selling Drupal to Large Enterprises
DrupalCon Sydney - Selling Drupal to Large Enterprises
 
Enterprise Mobility Insights for 2013
Enterprise Mobility Insights for 2013Enterprise Mobility Insights for 2013
Enterprise Mobility Insights for 2013
 
Tendências em Mobilidade para Corporações 2013
Tendências em Mobilidade para Corporações 2013Tendências em Mobilidade para Corporações 2013
Tendências em Mobilidade para Corporações 2013
 
Cesar Gon on Hoshin Kanri at European Lean IT Summit 2012
Cesar Gon on Hoshin Kanri at European Lean IT Summit 2012Cesar Gon on Hoshin Kanri at European Lean IT Summit 2012
Cesar Gon on Hoshin Kanri at European Lean IT Summit 2012
 
Mobile: Estratégico, mas sem Estratégia
Mobile: Estratégico, mas sem EstratégiaMobile: Estratégico, mas sem Estratégia
Mobile: Estratégico, mas sem Estratégia
 
Developers, get off the couch and contribute!
Developers, get off the couch and contribute!Developers, get off the couch and contribute!
Developers, get off the couch and contribute!
 
Ci&T and Technical Web Strategy Service: Powering Enterprises with lean and v...
Ci&T and Technical Web Strategy Service: Powering Enterprises with lean and v...Ci&T and Technical Web Strategy Service: Powering Enterprises with lean and v...
Ci&T and Technical Web Strategy Service: Powering Enterprises with lean and v...
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Technical Debt - Why should you care? (Agiles Buenos Aires 2011)

  • 1. Oh,  no!  Another   session  about   technical   debt?!?  
  • 2. Maybe  we  could  discuss  other  things….  
  • 3. }!before we start…! what  the  hell  is  happening  with  this  project?!?  
  • 4. }!before we start…! How  is  your  boss   here?   what  the  hell  is  happening  with  this  project?!?  
  • 5.
  • 6. Technical Debt! Why should you care?!   Paulo  Roberto  Camara   Tech  Manager  at  Ci&T   proberto@ciandt.com   @proberto98   www.ciandt.com! {!
  • 7. which  opCon  would  you  go  for?   •  the  easy  and  quick  way,  but  the  code  doesn’t   look  very  nice…  Future  will  be  dark…   •  a  cleaner  and  more  sophisCcated  design,  but   it  will  take  longer  to  put  in  place.  No  clouds   ahead!  
  • 11.
  • 12. “Technical  debt  is   everything  that   makes  your  code   harder  to  change.”     (Tom  Poppendiek)  
  • 13. such  as….   •  no  design   •  poor  design   •  duplicated  code   •  deprecated  code   •  un-­‐tested  code   •  complex  code   •  any  kind  of   “workaround”…  
  • 14. the  metaphor…   •  every  Cme  you  choose  the  first  opCon  (the   quick  and  dirt  way)  you  create  debt  (like  a   financial  debt)   –  if  it  is  a  debt,  it  incurs  interest   •  you  may  pay  only  the  interest   •  or  you  may  pay  down  the  principal,  reducing   the  interest  in  the  future  
  • 15. interest?!?   •  bugs   •  extra  effort   •  slower  development   •  delays  
  • 17. “Every  minute  spent  on  not-­‐quite-­‐right  code  counts  as   interest    on  that  debt.  EnCre  engineering  organizaCons   can  be  brought  to  a  stand-­‐sCll  under  the  debt  load  of   an  unconsolidated  implementaCon…”     (Ward  Cunningham,  1992)  
  • 18. Technical  Debt  Quadrant   (by  MarCn  Fowler  @  Agile  Brazil  2010)   hTp://www.marCnfowler.com/bliki/TechnicalDebtQuadrant.html  
  • 19. why  should  you  care?  
  • 20. interest?!?   •  bugs   •  extra  effort   •  slower  development   •  delays  
  • 21.
  • 22.
  • 23.
  • 24. a  liTle  context   (before  I  show  you  what  I  am  really   talking  about)  
  • 25. }!Ci&T at a glance! Founded in 1995! HQ in Brazil w/ offices in the US, Japan, Europe & China! Argentina and China ! Global Delivery Centers in Brazil, Staff: 1,300+! Annual growth: 40%! Provide high performance teams to our clients! 2010 www.ciandt.com / @ciandt!
  • 26. }!Our  Clients   www.ciandt.com / @ciandt!
  • 27. }!What we do! Service Offerings! 
 Application Development & Management! Mobile Solutions! Cloud Computing! Product Engineering! SAP! Business Intelligence! ! www.ciandt.com / @ciandt!
  • 28. } How  we  do  it   Ci&T runs 100% ! Agile projects!! www.ciandt.com / @ciandt!
  • 29. some  sad  stories   (and  fortunately  other  very  happy  ones!)  
  • 30. }!do you remember this chart?! what  the  hell  is  happening  with  this  project?!?  
  • 31. it  is  a  true  project…  L   •  criCcal  Cme  to  market  milestone   •  prudent  technical  debt  (“let’s  fix  it  later!”)   •  yes!  We  met  the  milestone!  J   •  but….  a  new  “criCcal”  milestone  was  set…   •  more  reckless  technical  debt  (“refactoring  is  for  losers!”)   •  things  got  more  difficult  (extra  effort,  extra  bugs,  frustrated   team,  unhappy  customer…)   •  we  didn’t  meet  the  second  milestone…  L   •  two  sprints  spent  on  refactoring,  almost  no  new   funcConality  delivered…   •  a  long  Cme  to  recover  credibility.  
  • 32. Design  Stamina  Hypothesis   (by  MarCn  Fowler  @  Agile  Brazil  2010)   hTp://www.marCnfowler.com/bliki/DesignStaminaHypothesis.html  
  • 33. let’s  look  another  example…   almost  40%  of   the  total  sprint   capacity   and  quality  has   became  an   issue…   what  a  hell  is  happening  with  this  project?!?  
  • 34. lack  of  automated  tests,  coCnuos   integraCon!   •  complex  billing  system  for  an  Insurance  company   •  lots  of  integraCons  with  legacy  systems   •  automated  tests  were  not  easy  to  be  created  (and  kept   working  later!)   •  and  the  Product  Owner  didn’t  accept  to  spend  sprint   capacity  with  “no  useful  code”   •  aber  a  lot  of  conversaCon  –  and  problems  –  team  was  able   to  create  a  minimal  test  suite  (one  enCre  sprint  spent  on   that!)   •  keep  this  tesCng  code  up  and  running  had  become  part  of   the  definiCon  of  done   •  in  the  following  sprint,  regression  tests  effort  dropped  half   as  well  as  the  bugs  found  by  the  PO!  J  
  • 35. a  good  reference  now!   •  a  large  building   company   •  an  18  months  project   •  high  technical  and   business  complexity   •  company  board  as  the   main  stakeholders   •  Ci&T’s  team:  12  people   •  monthly  deliveries   •  currently  at  sprint  12  
  • 36. technical  debt  under  control!   •  code  standards  /  design  /  code  reviews  /   frequent  refactoring   –  cost  to  add  new  features  is  almost  the  same  since   sprint  3   •  conCnuous  integraCon  /  automated  tests   –  daily  builds  deployed  on  customer  environment   –  completely  automated  deploy  process   –  merge  Cme  reduced  to  zero   •  quality   –  from  0,1  bugs  /  KLOC  to  0,06  bugs  /  KLOC  on   producCon   but  how?!?  
  • 37. how  to  pay  the  debt?  
  • 40. 3  –  do  not   accumulate      
  • 41. conCnuous  integraCon     TDD     code  reviews     refactoring     ...   4  –  pay  
  • 42. and  how  about  the  product   owner?   (because  it  seems  he  is  somehow   important,  doesn’t  it?  J  )  
  • 43. you  may  see  him  as  the  bad  guy…   Ø pushing  the  team  very  hard   Ø adding  unnecessary  complexity   Ø not  opened  to  technical  arguments  
  • 44. but  he  is  the  one  who  will  have  to  pay   for  the  debt  eventually!  
  • 45. it  is  all  about  communicaCon   •  The  product  owner  –  usually  -­‐  does  not  know   what  is  refactoring,  code  review,  TDD,  etc   –  And  he  does  not  need  to  know!   •  But  he  needs  to  know  what  is  the  size  of  the  debt   and  make  conscious  decisions  about  when  and   how  to  pay  it   –  Keeping  him  in  the  loop  is  a  team  responsibility!  
  • 46. final  words   (if  you  have  just  waken  up)  
  • 47. this  deck:  hp://bit.ly/mWmqan   Paulo  Camara   proberto@ciandt.com   hTp://www.linkedin.com/in/proberto   proberto98  
  • 48. ?
  • 49. good  references   Sites   ArCcles   •  Being  Agile  –  blog  interno  da  Ci&T   •  CMMI®  or  Agile:  Why  Not  Embrace  Both!  –  by  Hillel   •  hTp://www.controlchaos.com/   Glazer,  Jeff  Dalton,  David  Anderson,  Mike  Konrad   and  Sandy  Shrum   •  hTp://www.mountaingoatsobware.com/scrum   •  PracCcal  Roadmap  To  Great  Scrum  -­‐  Jeff   •  hTp://jeffsutherland.com/scrum/   Sutherland,  Ph.D.,  October  20,  2009   •  hTp://www.scrumalliance.org/arCcles   •  Scrum  and  CMMI  -­‐  Going  from  Good  to  Great,   •  hTp://www.agilechronicles.com/   Carsten  Ruseng  Jakobsen,  Jeff  Sutherland,  Ph.D.     Books   •  Agile  Project  Management  with  Scrum  -­‐  by  Ken   Schwaber   •  Lean  Sobware  Development:  An  Agile  Toolkit  -­‐  By   Mary  Poppendieck,  Tom  Poppendieck     •  Agile  and  IteraCve  Development:  A  Manager's   Guide  -­‐  By  Craig  Larman     •  Agile  Sobware  Development  -­‐  by  Alistair  Cockburn