SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
The	
  So'ware	
  Debt	
  Bubble
                      Is	
  it	
  about	
  to	
  burst?
                                             Chris Sterling
                                             VP of Engineering
                                             Agile Advantage, Inc.
                                             Web: www.AgileAdvantage.com
                                             Email:
                                             chris@agileadvantage.com
                                             Blog: www.GettingAgile.com
                                             Follow Me on Twitter: @csterwa
                                             Hash Tag for Presentation:
                                             #swdebt

Monday, January 9, 2012
Chris	
  Sterling	
  -­‐	
  Sr.	
  Cu'er	
  Consultant
      • CTO	
  at	
  Agile	
  Advantage,	
  Inc.
      • Author	
  of	
  Book	
  “Managing	
  
        So@ware	
  Debt:	
  Building	
  for	
  
        Inevitable	
  Change”
      • Consults	
  on	
  So@ware	
  Debt	
  
        Management	
  Strategies
      • Conducts	
  Technical	
  Debt	
  
        Assessments
      • CerGfied	
  Scrum	
  Trainer
                                                                            email:	
  csterling@cuMer.com
      • InnovaGon	
  Games®	
  Trained	
                                    blog:	
  www.geNngagile.com	
  
        Facilitator                                                         web:	
  www.AgileAdvantage.com
                                                                            follow	
  me	
  @csterwa
                                                                            hashtag:	
  #swdebt
                                                   Un	
  evento	
  de	
  


Monday, January 9, 2012
Project	
  size	
  is	
  easily	
  the	
  most	
  significant	
  determinant	
  of	
  effort,	
  cost	
  and	
  
         schedule	
  [for	
  a	
  so:ware	
  project].

         THE	
  DISECONOMIES	
  OF	
  SCALE	
  IN	
  
         SOFTWARE	
  DEVELOPMENT*
             *	
  “So@ware	
  EsGmaGon:	
  DemysGfying	
  the	
  Black	
  Art	
  “	
  –	
  Steve	
  McConnell
                                                              Un	
  evento	
  de	
  


Monday, January 9, 2012
“A	
  Big	
  Ball	
  of	
  Mud	
  is	
  a	
  haphazardly	
  structured,	
  sprawling,	
  sloppy,	
  
          duct-­‐tape-­‐and-­‐baling-­‐wire,	
  spagheE-­‐code	
  jungle.	
  These	
  systems	
  
          show	
  unmistakable	
  signs	
  of	
  unregulated	
  growth,	
  and	
  repeated,	
  
          expedient	
  repair.	
  InformaJon	
  is	
  shared	
  promiscuously	
  among	
  
          distant	
  elements	
  of	
  the	
  system,	
  o:en	
  to	
  the	
  point	
  where	
  nearly	
  
          all	
  the	
  important	
  informaJon	
  becomes	
  global	
  or	
  duplicated.	
  The	
  
          overall	
  structure	
  of	
  the	
  system	
  may	
  never	
  have	
  been	
  well	
  defined.	
  
          If	
  it	
  was,	
  it	
  may	
  have	
  eroded	
  beyond	
  recogniJon.	
  Programmers	
  
          with	
  a	
  shred	
  of	
  architectural	
  sensibility	
  shun	
  these	
  quagmires.	
  
          Only	
  those	
  who	
  are	
  unconcerned	
  about	
  architecture,	
  and,	
  
          perhaps,	
  are	
  comfortable	
  with	
  the	
  inerJa	
  of	
  the	
  day-­‐to-­‐day	
  chore	
  
          of	
  patching	
  the	
  holes	
  in	
  these	
  failing	
  dikes,	
  are	
  content	
  to	
  work	
  
          on	
  such	
  systems.”	
  *
                                         Big	
  Ball	
  of	
  Mud
                    *	
  Brian	
  Foote	
  and	
  Joseph	
  Yoder,	
  Big	
  Ball	
  of	
  Mud.	
  
                    Fourth	
  Conference	
  on	
  PaTerns	
  Languages	
  of	
  Programs	
  (PLoP	
  '97/EuroPLoP	
  '97)	
  
                    MonJcello,	
  Illinois,	
  September	
  1997

                                                                      Un	
  evento	
  de	
  


Monday, January 9, 2012
Un	
  evento	
  de	
  


Monday, January 9, 2012
Lack	
  of	
  emphasis	
  on	
  so'ware	
  quality	
  a2ributes	
  
         contributes	
  to	
  decay




                                         Un	
  evento	
  de	
                  6

Monday, January 9, 2012
The	
  “Rewrite”,	
  “NextGen”	
  
                           or	
  “Like-­‐to-­‐like	
  MigraJon”
      • “It	
  will	
  be	
  easy	
  since	
  we	
  worked	
  on	
  the	
  original	
  version”	
  -­‐	
  
        although	
  we	
  understand	
  the	
  domain	
  we	
  will	
  	
  be	
  fighGng	
  with	
  
        new	
  features,	
  technology,	
  tools,	
  and	
  processes
      • “We	
  don’t	
  have	
  any	
  other	
  opGons”	
  -­‐	
  Refactoring	
  and	
  test	
  
        automaGon	
  are	
  potenGal	
  alternaGves	
  to	
  like-­‐to-­‐like	
  migraGons.




                                                        Un	
  evento	
  de	
                                 7

Monday, January 9, 2012
Why	
  RewriGng	
  is	
  (Almost)	
  Never	
  a	
  
                    Good	
  Idea	
  *
      1.It	
  will	
  take	
  longer	
  than	
  you	
  think
      2.Markets	
  change
      3.Exis=ng	
  customers	
  become	
  frustrated
      4.Refactoring	
  can	
  clean	
  up	
  the	
  code
      5.You	
  don’t	
  control	
  the	
  rewrite,	
  it	
  controls	
  you


         “Why You Should (Almost) Never Rewrite Your Software” - post to OnStartups.com by Dharmesh Shah
         http://onstartups.com/tabid/3339/bid/2596/Why-You-Should-Almost-Never-Rewrite-Your-Software.aspx

                                                      Un	
  evento	
  de	
                     8

Monday, January 9, 2012
Types	
  of	
  So@ware	
  Debt
      • Technical	
  Debt:	
  These	
  are	
  the	
  acGviGes	
  that	
  a	
  team	
  or	
  team	
  
        members	
  choose	
  not	
  to	
  do	
  well	
  now	
  and	
  will	
  impede	
  future	
  
        development	
  if	
  le@	
  undone.
      • Quality	
  Debt:	
  There	
  is	
  a	
  diminishing	
  ability	
  to	
  verify	
  the	
  
        funcGonal	
  and	
  technical	
  quality	
  of	
  so@ware.
      • Configura<on	
  Management	
  Debt:	
  IntegraGon	
  and	
  release	
  
        management	
  become	
  more	
  risky,	
  complex,	
  and	
  error-­‐prone.
      • Design	
  Debt:	
  The	
  cost	
  of	
  adding	
  features	
  is	
  increasing	
  toward	
  
        the	
  point	
  where	
  it	
  is	
  more	
  than	
  the	
  cost	
  of	
  wriGng	
  from	
  scratch.
      • Pla@orm	
  Experience	
  Debt:	
  The	
  availability	
  of	
  people	
  to	
  work	
  on	
  
        so@ware	
  changes	
  is	
  becoming	
  limited	
  or	
  cost-­‐prohibiGve.

                                                       Un	
  evento	
  de	
                                    8

Monday, January 9, 2012
“Lowering	
  quality	
  lengthens	
  development	
  Jme.”	
  -­‐	
  From	
  wiki	
  page	
  on	
  
         “First	
  Law	
  of	
  Programming”	
  (c2.com)

         TECHNICAL	
  DEBT


                                                          Un	
  evento	
  de	
                                9

Monday, January 9, 2012
PaMerns	
  of	
  Technical	
  Debt
                                                              Duplica@on




    Schedule	
  Pressure

                                  Get	
  it	
  “right”	
  the	
  
                                  first	
  @me	
  mentality
                                     Un	
  evento	
  de	
              10

Monday, January 9, 2012
Aspects	
  of	
  the	
  soJware’s	
  design	
  that	
  teams	
  
            agree	
  to	
  should	
  be	
  automated,	
  if	
  possible,	
  
              and	
  break	
  the	
  build	
  when	
  they	
  are	
  not	
  
                                     adhered	
  to.




                                          Un	
  evento	
  de	
                 11

Monday, January 9, 2012
Keep	
  DRY	
  (Don’t	
  Repeat	
  Yourself)




    *	
  Sonar	
  -­‐	
  an	
  open	
  source	
  quality	
  dashboard
    hTp://www.sonarsource.org/	
  


                                                                        Un	
  evento	
  de	
     12

Monday, January 9, 2012
Remove	
  Complexity




    *	
  Sonar	
  -­‐	
  an	
  open	
  source	
  quality	
  dashboard
    hTp://www.sonarsource.org/	
  


                                                                        Un	
  evento	
  de	
     13

Monday, January 9, 2012
Trend	
  Technical	
  Debt	
  Metrics




    *	
  Sonar	
  -­‐	
  an	
  open	
  source	
  quality	
  dashboard
    hTp://www.sonarsource.org/	
  


                                                                        Un	
  evento	
  de	
     14

Monday, January 9, 2012
Trend	
  Technical	
  Debt	
  Metrics




*	
  SQALE	
  -­‐	
  a	
  commercial	
  Sonar	
  plugin
                                                        Un	
  evento	
  de	
     15
hTp://www.sonarsource.com/plugins/plugin-­‐sqale/overview/	
  
Monday, January 9, 2012
No	
  ma2er	
  what,	
  the	
  cost	
  of	
  addressing	
  
                technical	
  debt	
  increases	
  with	
  <me.




                                          Un	
  evento	
  de	
               16

Monday, January 9, 2012
“Promises	
  make	
  debt,	
  and	
  debt	
  makes	
  promises.”	
  -­‐	
  Dutch	
  Proverb

         QUALITY	
  DEBT


                                                         Un	
  evento	
  de	
                          17

Monday, January 9, 2012
Effect	
  of	
  Project	
  Constraints	
  on	
  Quality




                                Un	
  evento	
  de	
       18

Monday, January 9, 2012
Effect	
  of	
  Project	
  Constraints	
  on	
  Quality




                                Un	
  evento	
  de	
       18

Monday, January 9, 2012
“For	
  every	
  [dollar]	
  of	
  compe==ve	
  advantage	
  
     gained	
  by	
  cuAng	
  quality,	
  it	
  costs	
  $4	
  to	
  restore	
  it;	
  
        and	
  soJware	
  is	
  an	
  organiza=onal	
  asset	
  and	
  
         decisions	
  to	
  cut	
  quality	
  must	
  be	
  made	
  by	
  
        execu<ve	
  management	
  and	
  reflected	
  in	
  the	
  
                             financial	
  statements.”	
  
           -­‐-­‐	
  Ken	
  Schwaber,	
  co-­‐creator	
  of	
  Scrum


                                            Un	
  evento	
  de	
                    19

Monday, January 9, 2012
Acceptance	
  Test-­‐Driven	
  Development




                            Un	
  evento	
  de	
     20

Monday, January 9, 2012
Cost	
  reducJon	
  using	
  Fit	
  for	
  acceptance	
  test	
  automaJon	
  for	
  insurance	
  
         company	
  plaeorm	
  and	
  data	
  migraJon	
  project

         AN	
  ACCEPTANCE	
  TEST-­‐DRIVEN	
  DEVELOPMENT
         CASE	
  STUDY


                                                          Un	
  evento	
  de	
                                21

Monday, January 9, 2012
Manual	
  Regression	
  TesGng
      • Tes=ng	
  was	
  taking	
  75	
  person	
  hours	
  during	
  2	
  
        full	
  test	
  runs	
  consis=ng	
  of:
            – Comprehensive	
  manual	
  regression	
  tesJng
            – Data	
  conversion	
  and	
  validaJon
      • Cost	
  for	
  tes=ng	
  was	
  $17,000	
  each	
  itera@on




                                         Un	
  evento	
  de	
                 22

Monday, January 9, 2012
Introducing	
  Fit	
  into	
  TesGng	
  Process
      • A:er	
  8	
  itera@ons	
  team	
  had	
  introduced	
  healthy	
  
        amount	
  of	
  Fit	
  fixtures	
  and	
  automated	
  tests
      • Reduced	
  70+	
  hour	
  test	
  runJme	
  down	
  to	
  6	
  hours	
  
        which	
  now	
  included:
            – Fit	
  automated	
  regression	
  tesJng	
  
            – Data	
  conversion	
  and	
  validaJon	
  automated	
  with	
  Fit	
  
              fixtures	
  
      • Reduced	
  cost	
  of	
  tesJng	
  each	
  iteraJon	
  from	
  
        $17,000	
  to	
  $7,000
                                              Un	
  evento	
  de	
                     23

Monday, January 9, 2012
“If	
  releases	
  are	
  like	
  giving	
  birth,	
  then	
  you	
  must	
  be	
  doing	
  something	
  
         wrong.”	
  -­‐-­‐	
  Robert	
  Benefield

         CONFIGURATION	
  MANAGEMENT	
  
         DEBT

                                                               Un	
  evento	
  de	
                                  24

Monday, January 9, 2012
Case	
  Study:	
  Enterprise	
  Agile	
  AdopJon
      • 180+	
  person	
  “Web	
  2.0”	
  product	
  organizaJon
      • Waterfall	
  SDLC	
  that	
  development	
  uses	
  to	
  deliver	
  in	
  6	
  month	
  release	
  
        cycles
      • Want	
  to	
  use	
  Agile	
  methods	
  to	
  be	
  more	
  responsive	
  to	
  users	
  and	
  keep	
  
        up	
  with	
  other	
  “Web	
  2.0”	
  companies
      • TransiJoned	
  to	
  Agile	
  methods	
  on	
  15	
  teams	
  in	
  3	
  months
      • Changed	
  release	
  management	
  strategy,	
  added	
  XP	
  technical	
  pracJces,	
  
        and	
  implemented	
  Scrum	
  product	
  development	
  framework	
  for	
  scaled	
  
        coordinaJon
      • Able	
  to	
  release	
  every	
  week	
  to	
  users	
  within	
  4	
  months
      • Used	
  streamlined	
  deployment	
  environment	
  process	
  to	
  validate	
  
        product	
  changes	
  daily	
  using	
  ConJnuous	
  IntegraJon	
  and	
  automated	
  
        promoJons

                                                          Un	
  evento	
  de	
                                      25

Monday, January 9, 2012
The	
  Power	
  of	
  2	
  Scripts:	
  Deploy	
  and	
  Rollback




                                Un	
  evento	
  de	
           26

Monday, January 9, 2012
Automated	
  PromoGon	
  to	
  Environments




                          Un	
  evento	
  de	
     27

Monday, January 9, 2012
Design	
  decays	
  when	
  not	
  aTended	
  to	
  so	
  design	
  so:ware	
  conJnually

         DESIGN	
  DEBT


                                                       Un	
  evento	
  de	
                          28

Monday, January 9, 2012
The	
  value	
  of	
  technical	
  aspects	
  in	
  an	
  
         applica=on	
  or	
  its	
  surrounding	
  infrastructure	
  is	
  
               the	
  cost	
  of	
  not	
  addressing	
  them.




                                        Un	
  evento	
  de	
                  29

Monday, January 9, 2012
Describe	
  as	
  Abuse	
  User	
  Stories



      Implement Security
      for User Information




                          *	
  From	
  “User	
  Stories	
  Applied”	
  presented	
  by	
  Mike	
  Cohn	
  Agile	
  2006	
  




                                                                          Un	
  evento	
  de	
                                30

Monday, January 9, 2012
Describe	
  as	
  Abuse	
  User	
  Stories



                                                                                                   As a Malicious Hacker I
      Implement Security
                                                                                                   want to steal credit card
      for User Information                                                                         information so that I can
                                                                                                   make fraudulent charges



                          *	
  From	
  “User	
  Stories	
  Applied”	
  presented	
  by	
  Mike	
  Cohn	
  Agile	
  2006	
  




                                                                          Un	
  evento	
  de	
                                30

Monday, January 9, 2012
Some	
  PotenGal	
  Abusers
      • Malicious	
  Hacker
      • Mass	
  of	
  users
      • SQL	
  injector
      • Disgruntled	
  employee
      • Naïve	
  API	
  user
      • ImpaJent	
  clicker
      • Denial-­‐of-­‐service	
  (DoS)	
  aTacker
      • Sleazy	
  user


                                           Un	
  evento	
  de	
     31

Monday, January 9, 2012
So@ware	
  Quality	
  AMributes	
  Defined




                             Un	
  evento	
  de	
     32

Monday, January 9, 2012
So@ware	
  Quality	
  AMributes	
  RaGng	
  Tool




                             Un	
  evento	
  de	
     33

Monday, January 9, 2012
Put	
  So@ware	
  Debt	
  on	
  Product	
  Roadmap




             *	
  Image	
  from	
  Dean	
  Leffingwell’s	
  blog	
  -­‐	
  hTp://scalingso:wareagility.wordpress.com/

                                                             Un	
  evento	
  de	
                                     34

Monday, January 9, 2012
“As	
  in	
  Nature,	
  if	
  an	
  organizaJon	
  is	
  too	
  inflexible	
  or	
  stands	
  sJll	
  too	
  long	
  it	
  
         will	
  get	
  eaten.”	
  -­‐	
  James	
  Burke	
  (author	
  and	
  historian)

         PLATFORM	
  EXPERIENCE	
  DEBT


                                                                    Un	
  evento	
  de	
                                              35

Monday, January 9, 2012
Rather	
  than	
  crea=ng	
  teams	
  to	
  work	
  on	
  
             projects,	
  let’s	
  find	
  ways	
  to	
  give	
  projects	
  to	
  
                          cross-­‐func<onal	
  teams.




                                             Un	
  evento	
  de	
                    36

Monday, January 9, 2012
Component	
  Team	
  ConfiguraGon
                                                   •   “Component	
  Team”	
  structure
                                                   •   Separate	
  Product	
  Backlog
                                                   •   Managing	
  dependencies	
  is	
  o:en	
  
                                                       serialized
                                                   •   ProblemaJc	
  integraJon	
  issues	
  are	
  
                                                       typically	
  faced	
  if	
  mulJple	
  
                                                       components	
  are	
  
                                                       required	
  to	
  release
                                                   •   Use	
  an	
  “IntegraJon
                                                       Team”	
  to	
  pull	
  
                                                       components	
  together
                                                   •   Causes	
  more	
  rework	
  than	
  
                                                       “Feature	
  Team”	
  structure


                          Un	
  evento	
  de	
                                             37

Monday, January 9, 2012
Feature	
  Team	
  ConfiguraGon
                                                        • “Feature	
  Team”	
  structure
                                                        • Uses	
  common	
  Product	
  Backlog
                                                        • IntegraJon	
  is	
  done	
  in	
  parallel
                                                        • Requires	
  high	
  levels	
  of	
  
                                                          communicaJon	
  across	
  teams	
  
                                                          to	
  resolve	
  integraJon	
  issues
                                                        • Forces	
  Product	
  Owners	
  to	
  
                                                          be	
  more	
  coordinated	
  
                                                        • Sprints	
  should	
  be	
  synchronized
                                                        • Cross	
  team	
  ferJlizaJon	
  is	
  a
                                                          requirement	
  to	
  successfully	
  
                                                          deliver	
  in	
  parallel

                               Un	
  evento	
  de	
                                          38

Monday, January 9, 2012
“What	
  he	
  needs	
  is	
  some	
  way	
  to	
  pay	
  back.	
  Not	
  some	
  way	
  to	
  borrow	
  
         more.”	
  -­‐-­‐	
  Will	
  Rogers

         THE	
  “NO	
  DEFECT”	
  MINDSET


                                                               Un	
  evento	
  de	
                                  39

Monday, January 9, 2012
Case	
  Study:	
  Field	
  Support	
  ApplicaGon
      • 2000+	
  users	
  access	
  applicaGon	
  each	
  day
      • ApplicaGon	
  supports	
  mulGple	
  perspecGves	
  and	
  workflows	
  
        from	
  Field	
  Support	
  OperaGons	
  to	
  Customer	
  Service
      • Team	
  of	
  5	
  people	
  delivering	
  features	
  on	
  exisGng	
  Cold	
  Fusion	
  
        plahorm	
  implementaGon
      • MigraGng	
  Architecture	
  to	
  Spring/Hibernate	
  in	
  slices	
  while	
  sGll	
  
        delivering	
  valuable	
  features
      • 36	
  2-­‐week	
  Sprints,	
  33	
  producGon	
  releases,	
  and	
  only	
  1	
  defect	
  
        found	
  in	
  producGon
      • So,	
  what	
  was	
  the	
  defect	
  you	
  say?	
  Let	
  me	
  tell	
  you…

                                                      Un	
  evento	
  de	
                             40

Monday, January 9, 2012
Can	
  We	
  Afford	
  a	
  “No	
  Defect”	
  Policy?
      • This	
  team	
  worked	
  on	
  legacy	
  codebase	
  inherited	
  from	
  another	
  vendor
      • Other	
  vendor	
  had	
  been	
  slowing	
  down	
  month	
  a:er	
  month	
  and	
  cost	
  of	
  
        development	
  was	
  increasing
      • In	
  first	
  iteraJon	
  this	
  team	
  was	
  able	
  to	
  deliver	
  more	
  than	
  other	
  vendor	
  
        was	
  able	
  to	
  in	
  previous	
  2	
  months
      • A:er	
  24	
  iteraJons	
  this	
  team	
  was	
  10	
  Jmes	
  faster	
  delivery	
  than1st	
  
        iteraJon
      • Acceptance	
  Test-­‐Driven	
  Development	
  and	
  ConJnuous	
  IntegraJon	
  were	
  
        greatest	
  technical	
  factors	
  to	
  support	
  team	
  in	
  these	
  results
      • Can	
  you	
  afford	
  not	
  to	
  have	
  a	
  “No	
  Defect”	
  policy?



                                                            Un	
  evento	
  de	
                                    41

Monday, January 9, 2012

Mais conteúdo relacionado

Mais procurados

Rawsthorne dan - scrum the big picture
Rawsthorne dan - scrum the big pictureRawsthorne dan - scrum the big picture
Rawsthorne dan - scrum the big pictureMagneta AI
 
Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Brent Barton
 
2011 pmo symposium Bridging the Agile-to-PMO Communication Gap
2011 pmo symposium Bridging the Agile-to-PMO Communication Gap2011 pmo symposium Bridging the Agile-to-PMO Communication Gap
2011 pmo symposium Bridging the Agile-to-PMO Communication GapBrent Barton
 
Earned Value Management and Agile Tips for Success
Earned Value Management and Agile Tips for Success Earned Value Management and Agile Tips for Success
Earned Value Management and Agile Tips for Success Brent Barton
 
Identifying Managing & Eliminating Technical Debt
Identifying Managing & Eliminating Technical DebtIdentifying Managing & Eliminating Technical Debt
Identifying Managing & Eliminating Technical DebtAgileDad
 
Agile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsAgile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsTechWell
 
Mature agile teams essential patterns v4 - half day workshop
Mature agile teams   essential patterns v4 - half day workshopMature agile teams   essential patterns v4 - half day workshop
Mature agile teams essential patterns v4 - half day workshopdrewz lin
 
VersionOne - Eos Group Customer Success Story
VersionOne - Eos Group Customer Success StoryVersionOne - Eos Group Customer Success Story
VersionOne - Eos Group Customer Success Storywarren elliott
 
Thezenofscrum1 090221154550-phpapp01
Thezenofscrum1 090221154550-phpapp01Thezenofscrum1 090221154550-phpapp01
Thezenofscrum1 090221154550-phpapp01Dani Llamazares
 
Dnv Improving Your Process Performances With Agile
Dnv   Improving Your Process Performances With AgileDnv   Improving Your Process Performances With Agile
Dnv Improving Your Process Performances With AgileGeorge Ang
 
Agile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsAgile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsTechWell
 
The Stream Process™ for Defining Projects
The Stream Process™ for Defining ProjectsThe Stream Process™ for Defining Projects
The Stream Process™ for Defining ProjectsOneSpring LLC
 
Why embrace both (cmmi or agile) ?
Why embrace both (cmmi or agile) ?Why embrace both (cmmi or agile) ?
Why embrace both (cmmi or agile) ?Monc Lee
 
Empirical Evidence Of Agile Methods
Empirical Evidence Of Agile MethodsEmpirical Evidence Of Agile Methods
Empirical Evidence Of Agile MethodsGrigori Melnik
 
Agile Methods: Fact or Fiction
Agile Methods: Fact or FictionAgile Methods: Fact or Fiction
Agile Methods: Fact or FictionMatt Ganis
 

Mais procurados (20)

Rawsthorne dan - scrum the big picture
Rawsthorne dan - scrum the big pictureRawsthorne dan - scrum the big picture
Rawsthorne dan - scrum the big picture
 
Utah PMA Quarterly Meeting, June, 2009
Utah PMA Quarterly Meeting, June, 2009Utah PMA Quarterly Meeting, June, 2009
Utah PMA Quarterly Meeting, June, 2009
 
Business value of Agile : A People10 Showcase
Business value of Agile : A People10 ShowcaseBusiness value of Agile : A People10 Showcase
Business value of Agile : A People10 Showcase
 
Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management
 
2011 pmo symposium Bridging the Agile-to-PMO Communication Gap
2011 pmo symposium Bridging the Agile-to-PMO Communication Gap2011 pmo symposium Bridging the Agile-to-PMO Communication Gap
2011 pmo symposium Bridging the Agile-to-PMO Communication Gap
 
Earned Value Management and Agile Tips for Success
Earned Value Management and Agile Tips for Success Earned Value Management and Agile Tips for Success
Earned Value Management and Agile Tips for Success
 
Identifying Managing & Eliminating Technical Debt
Identifying Managing & Eliminating Technical DebtIdentifying Managing & Eliminating Technical Debt
Identifying Managing & Eliminating Technical Debt
 
Agile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsAgile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective Actions
 
Mature agile teams essential patterns v4 - half day workshop
Mature agile teams   essential patterns v4 - half day workshopMature agile teams   essential patterns v4 - half day workshop
Mature agile teams essential patterns v4 - half day workshop
 
VersionOne - Eos Group Customer Success Story
VersionOne - Eos Group Customer Success StoryVersionOne - Eos Group Customer Success Story
VersionOne - Eos Group Customer Success Story
 
Fast track to the 9s via the cloud
Fast track to the 9s via the cloudFast track to the 9s via the cloud
Fast track to the 9s via the cloud
 
Thezenofscrum1 090221154550-phpapp01
Thezenofscrum1 090221154550-phpapp01Thezenofscrum1 090221154550-phpapp01
Thezenofscrum1 090221154550-phpapp01
 
Dnv Improving Your Process Performances With Agile
Dnv   Improving Your Process Performances With AgileDnv   Improving Your Process Performances With Agile
Dnv Improving Your Process Performances With Agile
 
Agile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsAgile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective Actions
 
The Stream Process™ for Defining Projects
The Stream Process™ for Defining ProjectsThe Stream Process™ for Defining Projects
The Stream Process™ for Defining Projects
 
Why embrace both (cmmi or agile) ?
Why embrace both (cmmi or agile) ?Why embrace both (cmmi or agile) ?
Why embrace both (cmmi or agile) ?
 
Empirical Evidence Of Agile Methods
Empirical Evidence Of Agile MethodsEmpirical Evidence Of Agile Methods
Empirical Evidence Of Agile Methods
 
Agile Planning
Agile PlanningAgile Planning
Agile Planning
 
Forrester Agile
Forrester AgileForrester Agile
Forrester Agile
 
Agile Methods: Fact or Fiction
Agile Methods: Fact or FictionAgile Methods: Fact or Fiction
Agile Methods: Fact or Fiction
 

Semelhante a The Software Debt Bubble: Is It About to Burst

Minidates otv-agile2012-final hr
Minidates otv-agile2012-final hrMinidates otv-agile2012-final hr
Minidates otv-agile2012-final hrdrewz lin
 
Agile Resiliency: How CMMI can make Agile thrive and survive
Agile Resiliency: How CMMI can make Agile thrive and surviveAgile Resiliency: How CMMI can make Agile thrive and survive
Agile Resiliency: How CMMI can make Agile thrive and surviveJeff Dalton
 
Agile software architecture
Agile software architectureAgile software architecture
Agile software architectureScott Hsieh
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionDave Olsen
 
Architecture in an Agile World
Architecture in an Agile World Architecture in an Agile World
Architecture in an Agile World Synerzip
 
Agile101 Barcamp
Agile101 BarcampAgile101 Barcamp
Agile101 Barcampunbrand
 
Building Agile Data Warehouses with Ralph Hughes
Building Agile Data Warehouses with Ralph HughesBuilding Agile Data Warehouses with Ralph Hughes
Building Agile Data Warehouses with Ralph HughesKalido
 
The 7 habits of data effective companies.pdf
The 7 habits of data effective companies.pdfThe 7 habits of data effective companies.pdf
The 7 habits of data effective companies.pdfLars Albertsson
 
10 bezcennych lekcji dla software developera stającego się szefem firmy
10 bezcennych lekcji dla software developera stającego się szefem firmy10 bezcennych lekcji dla software developera stającego się szefem firmy
10 bezcennych lekcji dla software developera stającego się szefem firmyWojciech Seliga
 
Things To Unlearn In Software Development
Things To Unlearn In Software DevelopmentThings To Unlearn In Software Development
Things To Unlearn In Software DevelopmentAlexey Krivitsky
 
Agile Software and DevOps Essentials
Agile Software and DevOps EssentialsAgile Software and DevOps Essentials
Agile Software and DevOps EssentialsNarayanan Subramaniam
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumLemi Orhan Ergin
 
Managing Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelManaging Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelChris Sterling
 
"We are doing it wrong."
"We are doing it wrong.""We are doing it wrong."
"We are doing it wrong."weissgraeber
 
How can agile help you in clearing the technical debt
How can agile help you in clearing the technical debtHow can agile help you in clearing the technical debt
How can agile help you in clearing the technical debtManu Pk
 
Understanding Technical Debt: A Primer for Product Owners and Founders
Understanding Technical Debt: A Primer for Product Owners and FoundersUnderstanding Technical Debt: A Primer for Product Owners and Founders
Understanding Technical Debt: A Primer for Product Owners and FoundersAndrea Goulet
 
103 Understanding Technical Debt
103 Understanding Technical Debt103 Understanding Technical Debt
103 Understanding Technical DebtProductCamp Boston
 
First build the right thing
First build the right thingFirst build the right thing
First build the right thingAgileOnTheBeach
 

Semelhante a The Software Debt Bubble: Is It About to Burst (20)

Minidates otv-agile2012-final hr
Minidates otv-agile2012-final hrMinidates otv-agile2012-final hr
Minidates otv-agile2012-final hr
 
Agile Resiliency: How CMMI can make Agile thrive and survive
Agile Resiliency: How CMMI can make Agile thrive and surviveAgile Resiliency: How CMMI can make Agile thrive and survive
Agile Resiliency: How CMMI can make Agile thrive and survive
 
Agile software architecture
Agile software architectureAgile software architecture
Agile software architecture
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb Edition
 
Architecture in an Agile World
Architecture in an Agile World Architecture in an Agile World
Architecture in an Agile World
 
Agile101 Barcamp
Agile101 BarcampAgile101 Barcamp
Agile101 Barcamp
 
Building Agile Data Warehouses with Ralph Hughes
Building Agile Data Warehouses with Ralph HughesBuilding Agile Data Warehouses with Ralph Hughes
Building Agile Data Warehouses with Ralph Hughes
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Maximizing Big Data ROI via Best of Breed Technology Patterns and Practices -...
Maximizing Big Data ROI via Best of Breed Technology Patterns and Practices -...Maximizing Big Data ROI via Best of Breed Technology Patterns and Practices -...
Maximizing Big Data ROI via Best of Breed Technology Patterns and Practices -...
 
The 7 habits of data effective companies.pdf
The 7 habits of data effective companies.pdfThe 7 habits of data effective companies.pdf
The 7 habits of data effective companies.pdf
 
10 bezcennych lekcji dla software developera stającego się szefem firmy
10 bezcennych lekcji dla software developera stającego się szefem firmy10 bezcennych lekcji dla software developera stającego się szefem firmy
10 bezcennych lekcji dla software developera stającego się szefem firmy
 
Things To Unlearn In Software Development
Things To Unlearn In Software DevelopmentThings To Unlearn In Software Development
Things To Unlearn In Software Development
 
Agile Software and DevOps Essentials
Agile Software and DevOps EssentialsAgile Software and DevOps Essentials
Agile Software and DevOps Essentials
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and Scrum
 
Managing Software Debt Workshop at Intel
Managing Software Debt Workshop at IntelManaging Software Debt Workshop at Intel
Managing Software Debt Workshop at Intel
 
"We are doing it wrong."
"We are doing it wrong.""We are doing it wrong."
"We are doing it wrong."
 
How can agile help you in clearing the technical debt
How can agile help you in clearing the technical debtHow can agile help you in clearing the technical debt
How can agile help you in clearing the technical debt
 
Understanding Technical Debt: A Primer for Product Owners and Founders
Understanding Technical Debt: A Primer for Product Owners and FoundersUnderstanding Technical Debt: A Primer for Product Owners and Founders
Understanding Technical Debt: A Primer for Product Owners and Founders
 
103 Understanding Technical Debt
103 Understanding Technical Debt103 Understanding Technical Debt
103 Understanding Technical Debt
 
First build the right thing
First build the right thingFirst build the right thing
First build the right thing
 

Mais de Chris Sterling

Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesCloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesChris Sterling
 
From Zero to Continuous Validated Learning: Lean Startup on PaaS
From Zero to Continuous Validated Learning: Lean Startup on PaaSFrom Zero to Continuous Validated Learning: Lean Startup on PaaS
From Zero to Continuous Validated Learning: Lean Startup on PaaSChris Sterling
 
Microservices: Aren't Microservices Just SOA?
Microservices: Aren't Microservices Just SOA?Microservices: Aren't Microservices Just SOA?
Microservices: Aren't Microservices Just SOA?Chris Sterling
 
Reduce Time to Value: Focus First on Configuration Management Debt
Reduce Time to Value: Focus First on Configuration Management DebtReduce Time to Value: Focus First on Configuration Management Debt
Reduce Time to Value: Focus First on Configuration Management DebtChris Sterling
 
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG KirklandManaging Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG KirklandChris Sterling
 
Dollars and Dates are Killing Agile
Dollars and Dates are Killing AgileDollars and Dates are Killing Agile
Dollars and Dates are Killing AgileChris Sterling
 
Managing Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve BankManaging Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve BankChris Sterling
 
Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010Chris Sterling
 
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...Chris Sterling
 
UW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software DebtUW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software DebtChris Sterling
 
UW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User StoriesUW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User StoriesChris Sterling
 
Managing Software Debt Agile Bazaar
Managing Software Debt Agile BazaarManaging Software Debt Agile Bazaar
Managing Software Debt Agile BazaarChris Sterling
 
Intro To Tdd Agile Palooza
Intro To Tdd Agile PaloozaIntro To Tdd Agile Palooza
Intro To Tdd Agile PaloozaChris Sterling
 
Class5 Scaling And Strategic Planning
Class5 Scaling And Strategic PlanningClass5 Scaling And Strategic Planning
Class5 Scaling And Strategic PlanningChris Sterling
 
Executable Specifications Agile Palooza
Executable Specifications Agile PaloozaExecutable Specifications Agile Palooza
Executable Specifications Agile PaloozaChris Sterling
 
Building Integrity In Seminar
Building Integrity In   SeminarBuilding Integrity In   Seminar
Building Integrity In SeminarChris Sterling
 
UW ADC - Course 3 - Class 1 - User Stories And Acceptance Testing
UW ADC - Course 3 - Class 1 - User Stories And Acceptance TestingUW ADC - Course 3 - Class 1 - User Stories And Acceptance Testing
UW ADC - Course 3 - Class 1 - User Stories And Acceptance TestingChris Sterling
 

Mais de Chris Sterling (17)

Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesCloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud Services
 
From Zero to Continuous Validated Learning: Lean Startup on PaaS
From Zero to Continuous Validated Learning: Lean Startup on PaaSFrom Zero to Continuous Validated Learning: Lean Startup on PaaS
From Zero to Continuous Validated Learning: Lean Startup on PaaS
 
Microservices: Aren't Microservices Just SOA?
Microservices: Aren't Microservices Just SOA?Microservices: Aren't Microservices Just SOA?
Microservices: Aren't Microservices Just SOA?
 
Reduce Time to Value: Focus First on Configuration Management Debt
Reduce Time to Value: Focus First on Configuration Management DebtReduce Time to Value: Focus First on Configuration Management Debt
Reduce Time to Value: Focus First on Configuration Management Debt
 
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG KirklandManaging Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
 
Dollars and Dates are Killing Agile
Dollars and Dates are Killing AgileDollars and Dates are Killing Agile
Dollars and Dates are Killing Agile
 
Managing Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve BankManaging Software Debt - Federal Reserve Bank
Managing Software Debt - Federal Reserve Bank
 
Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010Managing softwaredebt agilepalooza-redmond-sept2010
Managing softwaredebt agilepalooza-redmond-sept2010
 
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
UW Agile CP202 Adv Topics Class 4 Scaling Multi-Level Planning Portfolio Mana...
 
UW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software DebtUW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software Debt
 
UW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User StoriesUW Agile CP202 - Class 1 User Stories
UW Agile CP202 - Class 1 User Stories
 
Managing Software Debt Agile Bazaar
Managing Software Debt Agile BazaarManaging Software Debt Agile Bazaar
Managing Software Debt Agile Bazaar
 
Intro To Tdd Agile Palooza
Intro To Tdd Agile PaloozaIntro To Tdd Agile Palooza
Intro To Tdd Agile Palooza
 
Class5 Scaling And Strategic Planning
Class5 Scaling And Strategic PlanningClass5 Scaling And Strategic Planning
Class5 Scaling And Strategic Planning
 
Executable Specifications Agile Palooza
Executable Specifications Agile PaloozaExecutable Specifications Agile Palooza
Executable Specifications Agile Palooza
 
Building Integrity In Seminar
Building Integrity In   SeminarBuilding Integrity In   Seminar
Building Integrity In Seminar
 
UW ADC - Course 3 - Class 1 - User Stories And Acceptance Testing
UW ADC - Course 3 - Class 1 - User Stories And Acceptance TestingUW ADC - Course 3 - Class 1 - User Stories And Acceptance Testing
UW ADC - Course 3 - Class 1 - User Stories And Acceptance Testing
 

Último

20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 

Último (20)

20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 

The Software Debt Bubble: Is It About to Burst

  • 1. The  So'ware  Debt  Bubble Is  it  about  to  burst? Chris Sterling VP of Engineering Agile Advantage, Inc. Web: www.AgileAdvantage.com Email: chris@agileadvantage.com Blog: www.GettingAgile.com Follow Me on Twitter: @csterwa Hash Tag for Presentation: #swdebt Monday, January 9, 2012
  • 2. Chris  Sterling  -­‐  Sr.  Cu'er  Consultant • CTO  at  Agile  Advantage,  Inc. • Author  of  Book  “Managing   So@ware  Debt:  Building  for   Inevitable  Change” • Consults  on  So@ware  Debt   Management  Strategies • Conducts  Technical  Debt   Assessments • CerGfied  Scrum  Trainer email:  csterling@cuMer.com • InnovaGon  Games®  Trained   blog:  www.geNngagile.com   Facilitator web:  www.AgileAdvantage.com follow  me  @csterwa hashtag:  #swdebt Un  evento  de   Monday, January 9, 2012
  • 3. Project  size  is  easily  the  most  significant  determinant  of  effort,  cost  and   schedule  [for  a  so:ware  project]. THE  DISECONOMIES  OF  SCALE  IN   SOFTWARE  DEVELOPMENT* *  “So@ware  EsGmaGon:  DemysGfying  the  Black  Art  “  –  Steve  McConnell Un  evento  de   Monday, January 9, 2012
  • 4. “A  Big  Ball  of  Mud  is  a  haphazardly  structured,  sprawling,  sloppy,   duct-­‐tape-­‐and-­‐baling-­‐wire,  spagheE-­‐code  jungle.  These  systems   show  unmistakable  signs  of  unregulated  growth,  and  repeated,   expedient  repair.  InformaJon  is  shared  promiscuously  among   distant  elements  of  the  system,  o:en  to  the  point  where  nearly   all  the  important  informaJon  becomes  global  or  duplicated.  The   overall  structure  of  the  system  may  never  have  been  well  defined.   If  it  was,  it  may  have  eroded  beyond  recogniJon.  Programmers   with  a  shred  of  architectural  sensibility  shun  these  quagmires.   Only  those  who  are  unconcerned  about  architecture,  and,   perhaps,  are  comfortable  with  the  inerJa  of  the  day-­‐to-­‐day  chore   of  patching  the  holes  in  these  failing  dikes,  are  content  to  work   on  such  systems.”  * Big  Ball  of  Mud *  Brian  Foote  and  Joseph  Yoder,  Big  Ball  of  Mud.   Fourth  Conference  on  PaTerns  Languages  of  Programs  (PLoP  '97/EuroPLoP  '97)   MonJcello,  Illinois,  September  1997 Un  evento  de   Monday, January 9, 2012
  • 5. Un  evento  de   Monday, January 9, 2012
  • 6. Lack  of  emphasis  on  so'ware  quality  a2ributes   contributes  to  decay Un  evento  de   6 Monday, January 9, 2012
  • 7. The  “Rewrite”,  “NextGen”   or  “Like-­‐to-­‐like  MigraJon” • “It  will  be  easy  since  we  worked  on  the  original  version”  -­‐   although  we  understand  the  domain  we  will    be  fighGng  with   new  features,  technology,  tools,  and  processes • “We  don’t  have  any  other  opGons”  -­‐  Refactoring  and  test   automaGon  are  potenGal  alternaGves  to  like-­‐to-­‐like  migraGons. Un  evento  de   7 Monday, January 9, 2012
  • 8. Why  RewriGng  is  (Almost)  Never  a   Good  Idea  * 1.It  will  take  longer  than  you  think 2.Markets  change 3.Exis=ng  customers  become  frustrated 4.Refactoring  can  clean  up  the  code 5.You  don’t  control  the  rewrite,  it  controls  you “Why You Should (Almost) Never Rewrite Your Software” - post to OnStartups.com by Dharmesh Shah http://onstartups.com/tabid/3339/bid/2596/Why-You-Should-Almost-Never-Rewrite-Your-Software.aspx Un  evento  de   8 Monday, January 9, 2012
  • 9. Types  of  So@ware  Debt • Technical  Debt:  These  are  the  acGviGes  that  a  team  or  team   members  choose  not  to  do  well  now  and  will  impede  future   development  if  le@  undone. • Quality  Debt:  There  is  a  diminishing  ability  to  verify  the   funcGonal  and  technical  quality  of  so@ware. • Configura<on  Management  Debt:  IntegraGon  and  release   management  become  more  risky,  complex,  and  error-­‐prone. • Design  Debt:  The  cost  of  adding  features  is  increasing  toward   the  point  where  it  is  more  than  the  cost  of  wriGng  from  scratch. • Pla@orm  Experience  Debt:  The  availability  of  people  to  work  on   so@ware  changes  is  becoming  limited  or  cost-­‐prohibiGve. Un  evento  de   8 Monday, January 9, 2012
  • 10. “Lowering  quality  lengthens  development  Jme.”  -­‐  From  wiki  page  on   “First  Law  of  Programming”  (c2.com) TECHNICAL  DEBT Un  evento  de   9 Monday, January 9, 2012
  • 11. PaMerns  of  Technical  Debt Duplica@on Schedule  Pressure Get  it  “right”  the   first  @me  mentality Un  evento  de   10 Monday, January 9, 2012
  • 12. Aspects  of  the  soJware’s  design  that  teams   agree  to  should  be  automated,  if  possible,   and  break  the  build  when  they  are  not   adhered  to. Un  evento  de   11 Monday, January 9, 2012
  • 13. Keep  DRY  (Don’t  Repeat  Yourself) *  Sonar  -­‐  an  open  source  quality  dashboard hTp://www.sonarsource.org/   Un  evento  de   12 Monday, January 9, 2012
  • 14. Remove  Complexity *  Sonar  -­‐  an  open  source  quality  dashboard hTp://www.sonarsource.org/   Un  evento  de   13 Monday, January 9, 2012
  • 15. Trend  Technical  Debt  Metrics *  Sonar  -­‐  an  open  source  quality  dashboard hTp://www.sonarsource.org/   Un  evento  de   14 Monday, January 9, 2012
  • 16. Trend  Technical  Debt  Metrics *  SQALE  -­‐  a  commercial  Sonar  plugin Un  evento  de   15 hTp://www.sonarsource.com/plugins/plugin-­‐sqale/overview/   Monday, January 9, 2012
  • 17. No  ma2er  what,  the  cost  of  addressing   technical  debt  increases  with  <me. Un  evento  de   16 Monday, January 9, 2012
  • 18. “Promises  make  debt,  and  debt  makes  promises.”  -­‐  Dutch  Proverb QUALITY  DEBT Un  evento  de   17 Monday, January 9, 2012
  • 19. Effect  of  Project  Constraints  on  Quality Un  evento  de   18 Monday, January 9, 2012
  • 20. Effect  of  Project  Constraints  on  Quality Un  evento  de   18 Monday, January 9, 2012
  • 21. “For  every  [dollar]  of  compe==ve  advantage   gained  by  cuAng  quality,  it  costs  $4  to  restore  it;   and  soJware  is  an  organiza=onal  asset  and   decisions  to  cut  quality  must  be  made  by   execu<ve  management  and  reflected  in  the   financial  statements.”   -­‐-­‐  Ken  Schwaber,  co-­‐creator  of  Scrum Un  evento  de   19 Monday, January 9, 2012
  • 22. Acceptance  Test-­‐Driven  Development Un  evento  de   20 Monday, January 9, 2012
  • 23. Cost  reducJon  using  Fit  for  acceptance  test  automaJon  for  insurance   company  plaeorm  and  data  migraJon  project AN  ACCEPTANCE  TEST-­‐DRIVEN  DEVELOPMENT CASE  STUDY Un  evento  de   21 Monday, January 9, 2012
  • 24. Manual  Regression  TesGng • Tes=ng  was  taking  75  person  hours  during  2   full  test  runs  consis=ng  of: – Comprehensive  manual  regression  tesJng – Data  conversion  and  validaJon • Cost  for  tes=ng  was  $17,000  each  itera@on Un  evento  de   22 Monday, January 9, 2012
  • 25. Introducing  Fit  into  TesGng  Process • A:er  8  itera@ons  team  had  introduced  healthy   amount  of  Fit  fixtures  and  automated  tests • Reduced  70+  hour  test  runJme  down  to  6  hours   which  now  included: – Fit  automated  regression  tesJng   – Data  conversion  and  validaJon  automated  with  Fit   fixtures   • Reduced  cost  of  tesJng  each  iteraJon  from   $17,000  to  $7,000 Un  evento  de   23 Monday, January 9, 2012
  • 26. “If  releases  are  like  giving  birth,  then  you  must  be  doing  something   wrong.”  -­‐-­‐  Robert  Benefield CONFIGURATION  MANAGEMENT   DEBT Un  evento  de   24 Monday, January 9, 2012
  • 27. Case  Study:  Enterprise  Agile  AdopJon • 180+  person  “Web  2.0”  product  organizaJon • Waterfall  SDLC  that  development  uses  to  deliver  in  6  month  release   cycles • Want  to  use  Agile  methods  to  be  more  responsive  to  users  and  keep   up  with  other  “Web  2.0”  companies • TransiJoned  to  Agile  methods  on  15  teams  in  3  months • Changed  release  management  strategy,  added  XP  technical  pracJces,   and  implemented  Scrum  product  development  framework  for  scaled   coordinaJon • Able  to  release  every  week  to  users  within  4  months • Used  streamlined  deployment  environment  process  to  validate   product  changes  daily  using  ConJnuous  IntegraJon  and  automated   promoJons Un  evento  de   25 Monday, January 9, 2012
  • 28. The  Power  of  2  Scripts:  Deploy  and  Rollback Un  evento  de   26 Monday, January 9, 2012
  • 29. Automated  PromoGon  to  Environments Un  evento  de   27 Monday, January 9, 2012
  • 30. Design  decays  when  not  aTended  to  so  design  so:ware  conJnually DESIGN  DEBT Un  evento  de   28 Monday, January 9, 2012
  • 31. The  value  of  technical  aspects  in  an   applica=on  or  its  surrounding  infrastructure  is   the  cost  of  not  addressing  them. Un  evento  de   29 Monday, January 9, 2012
  • 32. Describe  as  Abuse  User  Stories Implement Security for User Information *  From  “User  Stories  Applied”  presented  by  Mike  Cohn  Agile  2006   Un  evento  de   30 Monday, January 9, 2012
  • 33. Describe  as  Abuse  User  Stories As a Malicious Hacker I Implement Security want to steal credit card for User Information information so that I can make fraudulent charges *  From  “User  Stories  Applied”  presented  by  Mike  Cohn  Agile  2006   Un  evento  de   30 Monday, January 9, 2012
  • 34. Some  PotenGal  Abusers • Malicious  Hacker • Mass  of  users • SQL  injector • Disgruntled  employee • Naïve  API  user • ImpaJent  clicker • Denial-­‐of-­‐service  (DoS)  aTacker • Sleazy  user Un  evento  de   31 Monday, January 9, 2012
  • 35. So@ware  Quality  AMributes  Defined Un  evento  de   32 Monday, January 9, 2012
  • 36. So@ware  Quality  AMributes  RaGng  Tool Un  evento  de   33 Monday, January 9, 2012
  • 37. Put  So@ware  Debt  on  Product  Roadmap *  Image  from  Dean  Leffingwell’s  blog  -­‐  hTp://scalingso:wareagility.wordpress.com/ Un  evento  de   34 Monday, January 9, 2012
  • 38. “As  in  Nature,  if  an  organizaJon  is  too  inflexible  or  stands  sJll  too  long  it   will  get  eaten.”  -­‐  James  Burke  (author  and  historian) PLATFORM  EXPERIENCE  DEBT Un  evento  de   35 Monday, January 9, 2012
  • 39. Rather  than  crea=ng  teams  to  work  on   projects,  let’s  find  ways  to  give  projects  to   cross-­‐func<onal  teams. Un  evento  de   36 Monday, January 9, 2012
  • 40. Component  Team  ConfiguraGon • “Component  Team”  structure • Separate  Product  Backlog • Managing  dependencies  is  o:en   serialized • ProblemaJc  integraJon  issues  are   typically  faced  if  mulJple   components  are   required  to  release • Use  an  “IntegraJon Team”  to  pull   components  together • Causes  more  rework  than   “Feature  Team”  structure Un  evento  de   37 Monday, January 9, 2012
  • 41. Feature  Team  ConfiguraGon • “Feature  Team”  structure • Uses  common  Product  Backlog • IntegraJon  is  done  in  parallel • Requires  high  levels  of   communicaJon  across  teams   to  resolve  integraJon  issues • Forces  Product  Owners  to   be  more  coordinated   • Sprints  should  be  synchronized • Cross  team  ferJlizaJon  is  a requirement  to  successfully   deliver  in  parallel Un  evento  de   38 Monday, January 9, 2012
  • 42. “What  he  needs  is  some  way  to  pay  back.  Not  some  way  to  borrow   more.”  -­‐-­‐  Will  Rogers THE  “NO  DEFECT”  MINDSET Un  evento  de   39 Monday, January 9, 2012
  • 43. Case  Study:  Field  Support  ApplicaGon • 2000+  users  access  applicaGon  each  day • ApplicaGon  supports  mulGple  perspecGves  and  workflows   from  Field  Support  OperaGons  to  Customer  Service • Team  of  5  people  delivering  features  on  exisGng  Cold  Fusion   plahorm  implementaGon • MigraGng  Architecture  to  Spring/Hibernate  in  slices  while  sGll   delivering  valuable  features • 36  2-­‐week  Sprints,  33  producGon  releases,  and  only  1  defect   found  in  producGon • So,  what  was  the  defect  you  say?  Let  me  tell  you… Un  evento  de   40 Monday, January 9, 2012
  • 44. Can  We  Afford  a  “No  Defect”  Policy? • This  team  worked  on  legacy  codebase  inherited  from  another  vendor • Other  vendor  had  been  slowing  down  month  a:er  month  and  cost  of   development  was  increasing • In  first  iteraJon  this  team  was  able  to  deliver  more  than  other  vendor   was  able  to  in  previous  2  months • A:er  24  iteraJons  this  team  was  10  Jmes  faster  delivery  than1st   iteraJon • Acceptance  Test-­‐Driven  Development  and  ConJnuous  IntegraJon  were   greatest  technical  factors  to  support  team  in  these  results • Can  you  afford  not  to  have  a  “No  Defect”  policy? Un  evento  de   41 Monday, January 9, 2012
  • 45. Acceptance  Test-­‐Driven  Development Un  evento  de   42 Monday, January 9, 2012
  • 46. The  Power  of  2  Scripts:  Deploy  and  Rollback Un  evento  de   43 Monday, January 9, 2012
  • 47. Thank  you Ques=ons  and  Answers Un  evento  de   44 Monday, January 9, 2012