SlideShare ist ein Scribd-Unternehmen logo
1 von 121
Downloaden Sie, um offline zu lesen
Copyright © 2009 by Fred George   1

Tuesday, September 15, 2009
The Secret
                                           Assumption
                                               of Agile



         Fred George
         TrafficBroker, Ltd., London, United Kingdom



         Copyright © 2009 by Fred George                  1

Tuesday, September 15, 2009
Agile is Productive




         Copyright © 2009 by Fred George                         2

Tuesday, September 15, 2009
Agile is Productive



                                           Traditional


                              12             Months


                     $28                       per Hour


                               $2,000,000




         Copyright © 2009 by Fred George                                        2

Tuesday, September 15, 2009
Agile is Productive



                                           Traditional                        Agile

                                                                                  3
                              12             Months             8         .............
                                                                                  5
                                                                                  8

                     $28                                            $87
                                                          6x
                                               per Hour


                               $2,000,000                        $1,100,000



         Copyright © 2009 by Fred George                                                  2

Tuesday, September 15, 2009
How?




         Copyright © 2009 by Fred George          3

Tuesday, September 15, 2009
How?




          1.                               Code That Can Change

          2.                                    Lean Management


          3.                                    Processing Power




         Copyright © 2009 by Fred George                           3

Tuesday, September 15, 2009
“Objects are only good for
                                             programs that change.”

         “
                                                    ”
         Rick DeNatale, IBM
         1988




         Copyright © 2009 by Fred George                                4

Tuesday, September 15, 2009
Stories Assume Easy Change




         Copyright © 2009 by Fred George                                5

Tuesday, September 15, 2009
Stories Assume Easy Change



             Story                    Story   Story    Story



             Story                    Story   Story    Story




         Copyright © 2009 by Fred George                                           5

Tuesday, September 15, 2009
Stories Assume Easy Change



             Story                            Story    Story



             Story                    Story   Story    Story




                                                                          Story




         Copyright © 2009 by Fred George                                           5

Tuesday, September 15, 2009
Stories Assume Easy Change



                                                       Story



             Story                    Story            Story




                                              Story       Story   Story   Story




         Copyright © 2009 by Fred George                                           5

Tuesday, September 15, 2009
Typical Program




         Copyright © 2009 by Fred George                     6

Tuesday, September 15, 2009
Typical Program


                   public void foo( ) {
                     ...
                     ...
                     ...
                     ...
                     ...
                     ...
                     ...
                     ...
                   }
         Copyright © 2009 by Fred George                     6

Tuesday, September 15, 2009
Typical Program


                   public void foo( ) {          How many lines?
                     ...
                     ...
                     ...
                     ...
                     ...
                     ...
                     ...
                     ...
                   }
         Copyright © 2009 by Fred George                           6

Tuesday, September 15, 2009
Typical Program


                   public void foo( ) {          How many lines?
                     ...
                     ...
                     ...
                     ...
                     ...                       2.3
                     ...
                     ...
                     ...
                   }
         Copyright © 2009 by Fred George                           6

Tuesday, September 15, 2009
Typical Program


                   public void foo( ) {          How many lines?
                     ...
                     ...
                     ...
                     ...
                     ...                       2.3
                     ...                     25
                     ...
                     ...
                   }
         Copyright © 2009 by Fred George                           6

Tuesday, September 15, 2009
Typical Program


                   public void foo( ) {               How many lines?
                     ...
                     ...
                     ...
                     ...
                     ...                            2.3
                     ...                          25
                     ...
                     ...                   Smalltalk:
                   }                                 1.1
         Copyright © 2009 by Fred George                                6

Tuesday, September 15, 2009
Replacement Application




         Copyright © 2009 by Fred George                             7

Tuesday, September 15, 2009
Replacement Application




         Copyright © 2009 by Fred George                             7

Tuesday, September 15, 2009
Replacement Application
                                              Old


                                           Java

                                 Oracle DB

                                     Web UI




         Copyright © 2009 by Fred George                                      7

Tuesday, September 15, 2009
Replacement Application
                                              Old                  New


                                           Java                Java

                                 Oracle DB                   Oracle DB

                                     Web UI                   Web UI




         Copyright © 2009 by Fred George                                      7

Tuesday, September 15, 2009
Replacement Application
                                              Old                  New


                                           Java                Java

                                 Oracle DB                   Oracle DB

                                     Web UI                   Web UI

                                72 Classes


         Copyright © 2009 by Fred George                                      7

Tuesday, September 15, 2009
Replacement Application
                                              Old                  New


                                           Java                Java

                                 Oracle DB                   Oracle DB

                                     Web UI                   Web UI

                                72 Classes                 1400 Classes


         Copyright © 2009 by Fred George                                      7

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   8

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   8

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   8

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   8

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   8

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   8

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   8

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   8

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   8

Tuesday, September 15, 2009
Task Cycle Case Study




         Copyright © 2009 by Fred George                           9

Tuesday, September 15, 2009
Task Cycle Case Study




                                               1,000,000   J2EE
                                               50
                                               8000




         Copyright © 2009 by Fred George                           9

Tuesday, September 15, 2009
Task Cycle Case Study




                                               1,000,000   J2EE
                                               50
                                               8000




         Copyright © 2009 by Fred George                           9

Tuesday, September 15, 2009
Task Cycle Case Study




                                               1,000,000   J2EE

                          2-4                  50
                                               8000




         Copyright © 2009 by Fred George                           9

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   10

Tuesday, September 15, 2009
Tasking Cycle




                                           15


         Copyright © 2009 by Fred George                        10

Tuesday, September 15, 2009
Tasking Cycle


                                                    15




                                           15


         Copyright © 2009 by Fred George                        10

Tuesday, September 15, 2009
Tasking Cycle


                                                    15




                                           15


         Copyright © 2009 by Fred George                        10

Tuesday, September 15, 2009
Copyright © 2009 by Fred George   11

Tuesday, September 15, 2009
Copyright © 2009 by Fred George   12

Tuesday, September 15, 2009
Simple Design




         Copyright © 2009 by Fred George                   12

Tuesday, September 15, 2009
Simple Design



         1.                                Works




         Copyright © 2009 by Fred George                   12

Tuesday, September 15, 2009
Simple Design



         1.                                Works


         2.                           Communicates




         Copyright © 2009 by Fred George                   12

Tuesday, September 15, 2009
Simple Design



         1.                                Works


         2.                           Communicates


         3.                                   No duplicate code




         Copyright © 2009 by Fred George                          12

Tuesday, September 15, 2009
Simple Design



         1.                                Works


         2.                           Communicates


         3.                                   No duplicate code


         4.                                            Least classes and methods




         Copyright © 2009 by Fred George                                           12

Tuesday, September 15, 2009
Simple Design



         1.                                Works


         2.                           Communicates


         3.                                   No duplicate code


         4.                                            Least classes and methods


                                                     Applies to Application and Tests




         Copyright © 2009 by Fred George                                                12

Tuesday, September 15, 2009
Refactoring
         Martin Fowler




         Copyright © 2009 by Fred George   13

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   14

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   14

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   14

Tuesday, September 15, 2009
Refactoring
         to Patterns
         Joshua Kerievsky




         Copyright © 2009 by Fred George   15

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   16

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   16

Tuesday, September 15, 2009
Tasking Cycle




         Copyright © 2009 by Fred George                   16

Tuesday, September 15, 2009
Case Study: Complexity




         Copyright © 2009 by Fred George                            17

Tuesday, September 15, 2009
Case Study: Complexity



                                           Cyclomatic Complexity




         Copyright © 2009 by Fred George                                          17

Tuesday, September 15, 2009
Case Study: Complexity



                                           Cyclomatic Complexity


              100                                  100 is Bad




         Copyright © 2009 by Fred George                                          17

Tuesday, September 15, 2009
Case Study: Complexity



                                           Cyclomatic Complexity


              100                                  100 is Bad


              “...                             5          ”-
              “...never seen less than 5” - Senior Architect




         Copyright © 2009 by Fred George                                          17

Tuesday, September 15, 2009
Case Study: Complexity



                                           Cyclomatic Complexity


              100                                    100 is Bad


              “...                             5            ”-
              “...never seen less than 5” - Senior Architect

                                       : 1.8       Cyclomatic Complexity




         Copyright © 2009 by Fred George                                            17

Tuesday, September 15, 2009
Case Study: Complexity



                                           Cyclomatic Complexity


              100                                      100 is Bad


              “...                               5            ”-
              “...never seen less than 5” - Senior Architect

                                       : 1.8         Cyclomatic Complexity


              9                            : 1       bug


         Copyright © 2009 by Fred George                                              17

Tuesday, September 15, 2009
Path to Proficiency




         Copyright © 2009 by Fred George                        18

Tuesday, September 15, 2009
Path to Proficiency




         Copyright © 2009 by Fred George                        18

Tuesday, September 15, 2009
Path to Proficiency




         Copyright © 2009 by Fred George                        18

Tuesday, September 15, 2009
Path to Proficiency




         Copyright © 2009 by Fred George                        18

Tuesday, September 15, 2009
Path to Proficiency




         Copyright © 2009 by Fred George                        18

Tuesday, September 15, 2009
Path to Proficiency




         Copyright © 2009 by Fred George                        18

Tuesday, September 15, 2009
Copyright © 2009 by Fred George   19

Tuesday, September 15, 2009
Copyright © 2009 by Fred George   19

Tuesday, September 15, 2009
28
                                               12

                              23           5
                              15




         Copyright © 2009 by Fred George            19

Tuesday, September 15, 2009
:       28
                          (Payback)
                          11                       12

                              23               5
                              15




         Copyright © 2009 by Fred George                19

Tuesday, September 15, 2009
OO Boot Camp
         OO




         Copyright © 2009 by Fred George                  20

Tuesday, September 15, 2009
OO Boot Camp
         OO
         “...                                                        ...”

                                           “...teaches you to think like a programmer...”




         Copyright © 2009 by Fred George                                                    20

Tuesday, September 15, 2009
Copyright © 2009 by Fred George   21

Tuesday, September 15, 2009
CIO

                  Lead Designer, Consulting Firm, commenting to CIO of a large US manufacturer.

         Copyright © 2009 by Fred George                                                          21

Tuesday, September 15, 2009
“15 minutes after the class started, I realized I
                                                    knew nothing about programming.”


         “                            15
                                                                           ”

                       CIO

                  Lead Designer, Consulting Firm, commenting to CIO of a large US manufacturer.

         Copyright © 2009 by Fred George                                                          21

Tuesday, September 15, 2009
OO Boot Camp
         OO




         Copyright © 2009 by Fred George                  22

Tuesday, September 15, 2009
OO Boot Camp
         OO
                                   1995        History: Since 1995

              1000                         3        Over 1000 Students; 3 countries




         Copyright © 2009 by Fred George                                              22

Tuesday, September 15, 2009
OO Boot Camp
         OO
                                   1995        History: Since 1995

              1000                         3        Over 1000 Students; 3 countries

              Java, VB, C#, Ruby




         Copyright © 2009 by Fred George                                              22

Tuesday, September 15, 2009
OO Boot Camp
         OO
                                   1995          History: Since 1995

              1000                         3          Over 1000 Students; 3 countries

              Java, VB, C#, Ruby

              Socratic Method (Question - Answer - Question)




         Copyright © 2009 by Fred George                                                22

Tuesday, September 15, 2009
OO Boot Camp
         OO
                                   1995                History: Since 1995

              1000                           3                 Over 1000 Students; 3 countries

              Java, VB, C#, Ruby

              Socratic Method (Question - Answer - Question)

                         60%                              60%+ Lab

                                            Pair Programming

                                           15                         Test First (15 Minute Cycle)

                                                      Students Present Solutions



         Copyright © 2009 by Fred George                                                             22

Tuesday, September 15, 2009
Copyright © 2009 by Fred George   23

Tuesday, September 15, 2009
Copyright © 2009 by Fred George   23

Tuesday, September 15, 2009
Copyright © 2009 by Fred George   24

Tuesday, September 15, 2009
2-6




         Copyright © 2009 by Fred George         24

Tuesday, September 15, 2009
2




                                               2-6




         Copyright © 2009 by Fred George             24

Tuesday, September 15, 2009
Part 1: Principles




         Copyright © 2009 by Fred George                        25

Tuesday, September 15, 2009
Part 1: Principles


                               Encapsulation                               Collaborating Objects


                                           Object Relationships      Interfaces


                                       Inheritance                          Coding Patterns


                                       Delegation                    Refactoring


                                 Polymorphism                        Recursion




         Copyright © 2009 by Fred George                                                           25

Tuesday, September 15, 2009
Part 1: Principles


                               Encapsulation                               Collaborating Objects


                                           Object Relationships      Interfaces


                                       Inheritance                          Coding Patterns


                                       Delegation                    Refactoring


                                 Polymorphism                        Recursion



                                                      40-50
         Copyright © 2009 by Fred George                                                           25

Tuesday, September 15, 2009
Part 2: Design Patterns




         Copyright © 2009 by Fred George                             26

Tuesday, September 15, 2009
Part 2: Design Patterns


                                           Rationale                             Composite Pattern


                              vs.                Patterns vs.                         Visitor Pattern
              Principles
                                                                                      Builder Pattern
                                               Observer Pattern

                                                                           Concerts
                                               Iterator Pattern

                                                                                Survey of Patterns
                                               Mediator Pattern




         Copyright © 2009 by Fred George                                                                26

Tuesday, September 15, 2009
Part 2: Design Patterns


                                           Rationale                             Composite Pattern


                              vs.                Patterns vs.                         Visitor Pattern
              Principles
                                                                                      Builder Pattern
                                               Observer Pattern

                                                                           Concerts
                                               Iterator Pattern

                                                                                Survey of Patterns
                                               Mediator Pattern



                                                       40-50
         Copyright © 2009 by Fred George                                                                26

Tuesday, September 15, 2009
Suspicious Statements




         Copyright © 2009 by Fred George                           27

Tuesday, September 15, 2009
Suspicious Statements



              case -                       Almost always wrong




         Copyright © 2009 by Fred George                               27

Tuesday, September 15, 2009
Suspicious Statements



              case -                            Almost always wrong

              else -                       Mostly wrong




         Copyright © 2009 by Fred George                                     27

Tuesday, September 15, 2009
Suspicious Statements



              case -                                    Almost always wrong

              else -                           Mostly wrong

              if -                         Suspicious

                                                                         Unless guard clause at start of
                    method




         Copyright © 2009 by Fred George                                                                   27

Tuesday, September 15, 2009
Suspicious Statements



              case -                                    Almost always wrong

              else -                           Mostly wrong

              if -                         Suspicious

                                                                          Unless guard clause at start of
                    method



                                                                  Substitute Design Patterns for all these




         Copyright © 2009 by Fred George                                                                     27

Tuesday, September 15, 2009
Suspicious Methods




         Copyright © 2009 by Fred George                        28

Tuesday, September 15, 2009
Suspicious Methods




              getters -                    Violates Encapsulation




         Copyright © 2009 by Fred George                                  28

Tuesday, September 15, 2009
Suspicious Methods




              getters -                       Violates Encapsulation


              setters -
              Worse: violates Encapsulation and Object integrity




         Copyright © 2009 by Fred George                                     28

Tuesday, September 15, 2009
Suspicious Methods




              getters -                       Violates Encapsulation


              setters -
              Worse: violates Encapsulation and Object integrity

                           2                             Methods with 2 or more levels of indenting




         Copyright © 2009 by Fred George                                                              28

Tuesday, September 15, 2009
Suspicious Classes




         Copyright © 2009 by Fred George                        29

Tuesday, September 15, 2009
Suspicious Classes




              Special naming conventions for Interfaces




         Copyright © 2009 by Fred George                                  29

Tuesday, September 15, 2009
Suspicious Classes




              Special naming conventions for Interfaces



              Interface with a single implementing Class




         Copyright © 2009 by Fred George                                  29

Tuesday, September 15, 2009
Suspicious Classes




              Special naming conventions for Interfaces



              Interface with a single implementing Class

                                       2
              Classes with more than 2 instance variables




         Copyright © 2009 by Fred George                                         29

Tuesday, September 15, 2009
Results




         Copyright © 2009 by Fred George             30

Tuesday, September 15, 2009
Results



                                            Dropouts               20%

                                           Journeymen              20%

                                            Predictors


                                           Retention
                                                         Must be used within a month


                                           Support
                                                            Journeymen, Masters



         Copyright © 2009 by Fred George                                               30

Tuesday, September 15, 2009
Results



                                            Dropouts               20%

                                           Journeymen              20%

                                            Predictors


                                           Retention
                                                         Must be used within a month


                                           Support
                                                            Journeymen, Masters



         Copyright © 2009 by Fred George                                               30

Tuesday, September 15, 2009
Results



                                            Dropouts               20%

                                           Journeymen              20%

                                            Predictors


                                           Retention
                                                         Must be used within a month


                                           Support
                                                            Journeymen, Masters



         Copyright © 2009 by Fred George                                               30

Tuesday, September 15, 2009
Results



                                            Dropouts               20%

                                           Journeymen              20%

                                            Predictors


                                           Retention
                                                         Must be used within a month


                                           Support
                                                            Journeymen, Masters



         Copyright © 2009 by Fred George                                               30

Tuesday, September 15, 2009
Results



                                            Dropouts               20%

                                           Journeymen              20%

                                            Predictors


                                           Retention
                                                         Must be used within a month


                                           Support
                                                            Journeymen, Masters



         Copyright © 2009 by Fred George                                               30

Tuesday, September 15, 2009
Maintenance




         Copyright © 2009 by Fred George                 31

Tuesday, September 15, 2009
Maintenance
                                              Old          New


                                           Java         Java

                                 Oracle DB           Oracle DB

                                     Web UI           Web UI

                                72 Classes          1400 Classes


         Copyright © 2009 by Fred George                             31

Tuesday, September 15, 2009
Transition Plan




         Copyright © 2009 by Fred George                     32

Tuesday, September 15, 2009
Transition Plan




                                           No Documentation


                                           No Training


                                           No Time




         Copyright © 2009 by Fred George                                        32

Tuesday, September 15, 2009
Transition Plan




                                           No Documentation


                                           No Training


                                           No Time


                                                 No Problem!




         Copyright © 2009 by Fred George                                         32

Tuesday, September 15, 2009
Team with Pair
                                            Programming




         Copyright © 2009 by Fred George                    33

Tuesday, September 15, 2009
Copyright © 2009 by Fred George   34

Tuesday, September 15, 2009
Copyright © 2009 by Fred George   34

Tuesday, September 15, 2009

Weitere ähnliche Inhalte

Kürzlich hochgeladen

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
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
 

Kürzlich hochgeladen (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 

Empfohlen

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Empfohlen (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Secret Assumption of Agile (Chinese)

  • 1. Copyright © 2009 by Fred George 1 Tuesday, September 15, 2009
  • 2. The Secret Assumption of Agile Fred George TrafficBroker, Ltd., London, United Kingdom Copyright © 2009 by Fred George 1 Tuesday, September 15, 2009
  • 3. Agile is Productive Copyright © 2009 by Fred George 2 Tuesday, September 15, 2009
  • 4. Agile is Productive Traditional 12 Months $28 per Hour $2,000,000 Copyright © 2009 by Fred George 2 Tuesday, September 15, 2009
  • 5. Agile is Productive Traditional Agile 3 12 Months 8 ............. 5 8 $28 $87 6x per Hour $2,000,000 $1,100,000 Copyright © 2009 by Fred George 2 Tuesday, September 15, 2009
  • 6. How? Copyright © 2009 by Fred George 3 Tuesday, September 15, 2009
  • 7. How? 1. Code That Can Change 2. Lean Management 3. Processing Power Copyright © 2009 by Fred George 3 Tuesday, September 15, 2009
  • 8. “Objects are only good for programs that change.” “ ” Rick DeNatale, IBM 1988 Copyright © 2009 by Fred George 4 Tuesday, September 15, 2009
  • 9. Stories Assume Easy Change Copyright © 2009 by Fred George 5 Tuesday, September 15, 2009
  • 10. Stories Assume Easy Change Story Story Story Story Story Story Story Story Copyright © 2009 by Fred George 5 Tuesday, September 15, 2009
  • 11. Stories Assume Easy Change Story Story Story Story Story Story Story Story Copyright © 2009 by Fred George 5 Tuesday, September 15, 2009
  • 12. Stories Assume Easy Change Story Story Story Story Story Story Story Story Copyright © 2009 by Fred George 5 Tuesday, September 15, 2009
  • 13. Typical Program Copyright © 2009 by Fred George 6 Tuesday, September 15, 2009
  • 14. Typical Program public void foo( ) { ... ... ... ... ... ... ... ... } Copyright © 2009 by Fred George 6 Tuesday, September 15, 2009
  • 15. Typical Program public void foo( ) { How many lines? ... ... ... ... ... ... ... ... } Copyright © 2009 by Fred George 6 Tuesday, September 15, 2009
  • 16. Typical Program public void foo( ) { How many lines? ... ... ... ... ... 2.3 ... ... ... } Copyright © 2009 by Fred George 6 Tuesday, September 15, 2009
  • 17. Typical Program public void foo( ) { How many lines? ... ... ... ... ... 2.3 ... 25 ... ... } Copyright © 2009 by Fred George 6 Tuesday, September 15, 2009
  • 18. Typical Program public void foo( ) { How many lines? ... ... ... ... ... 2.3 ... 25 ... ... Smalltalk: } 1.1 Copyright © 2009 by Fred George 6 Tuesday, September 15, 2009
  • 19. Replacement Application Copyright © 2009 by Fred George 7 Tuesday, September 15, 2009
  • 20. Replacement Application Copyright © 2009 by Fred George 7 Tuesday, September 15, 2009
  • 21. Replacement Application Old Java Oracle DB Web UI Copyright © 2009 by Fred George 7 Tuesday, September 15, 2009
  • 22. Replacement Application Old New Java Java Oracle DB Oracle DB Web UI Web UI Copyright © 2009 by Fred George 7 Tuesday, September 15, 2009
  • 23. Replacement Application Old New Java Java Oracle DB Oracle DB Web UI Web UI 72 Classes Copyright © 2009 by Fred George 7 Tuesday, September 15, 2009
  • 24. Replacement Application Old New Java Java Oracle DB Oracle DB Web UI Web UI 72 Classes 1400 Classes Copyright © 2009 by Fred George 7 Tuesday, September 15, 2009
  • 25. Tasking Cycle Copyright © 2009 by Fred George 8 Tuesday, September 15, 2009
  • 26. Tasking Cycle Copyright © 2009 by Fred George 8 Tuesday, September 15, 2009
  • 27. Tasking Cycle Copyright © 2009 by Fred George 8 Tuesday, September 15, 2009
  • 28. Tasking Cycle Copyright © 2009 by Fred George 8 Tuesday, September 15, 2009
  • 29. Tasking Cycle Copyright © 2009 by Fred George 8 Tuesday, September 15, 2009
  • 30. Tasking Cycle Copyright © 2009 by Fred George 8 Tuesday, September 15, 2009
  • 31. Tasking Cycle Copyright © 2009 by Fred George 8 Tuesday, September 15, 2009
  • 32. Tasking Cycle Copyright © 2009 by Fred George 8 Tuesday, September 15, 2009
  • 33. Tasking Cycle Copyright © 2009 by Fred George 8 Tuesday, September 15, 2009
  • 34. Task Cycle Case Study Copyright © 2009 by Fred George 9 Tuesday, September 15, 2009
  • 35. Task Cycle Case Study 1,000,000 J2EE 50 8000 Copyright © 2009 by Fred George 9 Tuesday, September 15, 2009
  • 36. Task Cycle Case Study 1,000,000 J2EE 50 8000 Copyright © 2009 by Fred George 9 Tuesday, September 15, 2009
  • 37. Task Cycle Case Study 1,000,000 J2EE 2-4 50 8000 Copyright © 2009 by Fred George 9 Tuesday, September 15, 2009
  • 38. Tasking Cycle Copyright © 2009 by Fred George 10 Tuesday, September 15, 2009
  • 39. Tasking Cycle 15 Copyright © 2009 by Fred George 10 Tuesday, September 15, 2009
  • 40. Tasking Cycle 15 15 Copyright © 2009 by Fred George 10 Tuesday, September 15, 2009
  • 41. Tasking Cycle 15 15 Copyright © 2009 by Fred George 10 Tuesday, September 15, 2009
  • 42. Copyright © 2009 by Fred George 11 Tuesday, September 15, 2009
  • 43. Copyright © 2009 by Fred George 12 Tuesday, September 15, 2009
  • 44. Simple Design Copyright © 2009 by Fred George 12 Tuesday, September 15, 2009
  • 45. Simple Design 1. Works Copyright © 2009 by Fred George 12 Tuesday, September 15, 2009
  • 46. Simple Design 1. Works 2. Communicates Copyright © 2009 by Fred George 12 Tuesday, September 15, 2009
  • 47. Simple Design 1. Works 2. Communicates 3. No duplicate code Copyright © 2009 by Fred George 12 Tuesday, September 15, 2009
  • 48. Simple Design 1. Works 2. Communicates 3. No duplicate code 4. Least classes and methods Copyright © 2009 by Fred George 12 Tuesday, September 15, 2009
  • 49. Simple Design 1. Works 2. Communicates 3. No duplicate code 4. Least classes and methods Applies to Application and Tests Copyright © 2009 by Fred George 12 Tuesday, September 15, 2009
  • 50. Refactoring Martin Fowler Copyright © 2009 by Fred George 13 Tuesday, September 15, 2009
  • 51. Tasking Cycle Copyright © 2009 by Fred George 14 Tuesday, September 15, 2009
  • 52. Tasking Cycle Copyright © 2009 by Fred George 14 Tuesday, September 15, 2009
  • 53. Tasking Cycle Copyright © 2009 by Fred George 14 Tuesday, September 15, 2009
  • 54. Refactoring to Patterns Joshua Kerievsky Copyright © 2009 by Fred George 15 Tuesday, September 15, 2009
  • 55. Tasking Cycle Copyright © 2009 by Fred George 16 Tuesday, September 15, 2009
  • 56. Tasking Cycle Copyright © 2009 by Fred George 16 Tuesday, September 15, 2009
  • 57. Tasking Cycle Copyright © 2009 by Fred George 16 Tuesday, September 15, 2009
  • 58. Case Study: Complexity Copyright © 2009 by Fred George 17 Tuesday, September 15, 2009
  • 59. Case Study: Complexity Cyclomatic Complexity Copyright © 2009 by Fred George 17 Tuesday, September 15, 2009
  • 60. Case Study: Complexity Cyclomatic Complexity 100 100 is Bad Copyright © 2009 by Fred George 17 Tuesday, September 15, 2009
  • 61. Case Study: Complexity Cyclomatic Complexity 100 100 is Bad “... 5 ”- “...never seen less than 5” - Senior Architect Copyright © 2009 by Fred George 17 Tuesday, September 15, 2009
  • 62. Case Study: Complexity Cyclomatic Complexity 100 100 is Bad “... 5 ”- “...never seen less than 5” - Senior Architect : 1.8 Cyclomatic Complexity Copyright © 2009 by Fred George 17 Tuesday, September 15, 2009
  • 63. Case Study: Complexity Cyclomatic Complexity 100 100 is Bad “... 5 ”- “...never seen less than 5” - Senior Architect : 1.8 Cyclomatic Complexity 9 : 1 bug Copyright © 2009 by Fred George 17 Tuesday, September 15, 2009
  • 64. Path to Proficiency Copyright © 2009 by Fred George 18 Tuesday, September 15, 2009
  • 65. Path to Proficiency Copyright © 2009 by Fred George 18 Tuesday, September 15, 2009
  • 66. Path to Proficiency Copyright © 2009 by Fred George 18 Tuesday, September 15, 2009
  • 67. Path to Proficiency Copyright © 2009 by Fred George 18 Tuesday, September 15, 2009
  • 68. Path to Proficiency Copyright © 2009 by Fred George 18 Tuesday, September 15, 2009
  • 69. Path to Proficiency Copyright © 2009 by Fred George 18 Tuesday, September 15, 2009
  • 70. Copyright © 2009 by Fred George 19 Tuesday, September 15, 2009
  • 71. Copyright © 2009 by Fred George 19 Tuesday, September 15, 2009
  • 72. 28 12 23 5 15 Copyright © 2009 by Fred George 19 Tuesday, September 15, 2009
  • 73. : 28 (Payback) 11 12 23 5 15 Copyright © 2009 by Fred George 19 Tuesday, September 15, 2009
  • 74. OO Boot Camp OO Copyright © 2009 by Fred George 20 Tuesday, September 15, 2009
  • 75. OO Boot Camp OO “... ...” “...teaches you to think like a programmer...” Copyright © 2009 by Fred George 20 Tuesday, September 15, 2009
  • 76. Copyright © 2009 by Fred George 21 Tuesday, September 15, 2009
  • 77. CIO Lead Designer, Consulting Firm, commenting to CIO of a large US manufacturer. Copyright © 2009 by Fred George 21 Tuesday, September 15, 2009
  • 78. “15 minutes after the class started, I realized I knew nothing about programming.” “ 15 ” CIO Lead Designer, Consulting Firm, commenting to CIO of a large US manufacturer. Copyright © 2009 by Fred George 21 Tuesday, September 15, 2009
  • 79. OO Boot Camp OO Copyright © 2009 by Fred George 22 Tuesday, September 15, 2009
  • 80. OO Boot Camp OO 1995 History: Since 1995 1000 3 Over 1000 Students; 3 countries Copyright © 2009 by Fred George 22 Tuesday, September 15, 2009
  • 81. OO Boot Camp OO 1995 History: Since 1995 1000 3 Over 1000 Students; 3 countries Java, VB, C#, Ruby Copyright © 2009 by Fred George 22 Tuesday, September 15, 2009
  • 82. OO Boot Camp OO 1995 History: Since 1995 1000 3 Over 1000 Students; 3 countries Java, VB, C#, Ruby Socratic Method (Question - Answer - Question) Copyright © 2009 by Fred George 22 Tuesday, September 15, 2009
  • 83. OO Boot Camp OO 1995 History: Since 1995 1000 3 Over 1000 Students; 3 countries Java, VB, C#, Ruby Socratic Method (Question - Answer - Question) 60% 60%+ Lab Pair Programming 15 Test First (15 Minute Cycle) Students Present Solutions Copyright © 2009 by Fred George 22 Tuesday, September 15, 2009
  • 84. Copyright © 2009 by Fred George 23 Tuesday, September 15, 2009
  • 85. Copyright © 2009 by Fred George 23 Tuesday, September 15, 2009
  • 86. Copyright © 2009 by Fred George 24 Tuesday, September 15, 2009
  • 87. 2-6 Copyright © 2009 by Fred George 24 Tuesday, September 15, 2009
  • 88. 2 2-6 Copyright © 2009 by Fred George 24 Tuesday, September 15, 2009
  • 89. Part 1: Principles Copyright © 2009 by Fred George 25 Tuesday, September 15, 2009
  • 90. Part 1: Principles Encapsulation Collaborating Objects Object Relationships Interfaces Inheritance Coding Patterns Delegation Refactoring Polymorphism Recursion Copyright © 2009 by Fred George 25 Tuesday, September 15, 2009
  • 91. Part 1: Principles Encapsulation Collaborating Objects Object Relationships Interfaces Inheritance Coding Patterns Delegation Refactoring Polymorphism Recursion 40-50 Copyright © 2009 by Fred George 25 Tuesday, September 15, 2009
  • 92. Part 2: Design Patterns Copyright © 2009 by Fred George 26 Tuesday, September 15, 2009
  • 93. Part 2: Design Patterns Rationale Composite Pattern vs. Patterns vs. Visitor Pattern Principles Builder Pattern Observer Pattern Concerts Iterator Pattern Survey of Patterns Mediator Pattern Copyright © 2009 by Fred George 26 Tuesday, September 15, 2009
  • 94. Part 2: Design Patterns Rationale Composite Pattern vs. Patterns vs. Visitor Pattern Principles Builder Pattern Observer Pattern Concerts Iterator Pattern Survey of Patterns Mediator Pattern 40-50 Copyright © 2009 by Fred George 26 Tuesday, September 15, 2009
  • 95. Suspicious Statements Copyright © 2009 by Fred George 27 Tuesday, September 15, 2009
  • 96. Suspicious Statements case - Almost always wrong Copyright © 2009 by Fred George 27 Tuesday, September 15, 2009
  • 97. Suspicious Statements case - Almost always wrong else - Mostly wrong Copyright © 2009 by Fred George 27 Tuesday, September 15, 2009
  • 98. Suspicious Statements case - Almost always wrong else - Mostly wrong if - Suspicious Unless guard clause at start of method Copyright © 2009 by Fred George 27 Tuesday, September 15, 2009
  • 99. Suspicious Statements case - Almost always wrong else - Mostly wrong if - Suspicious Unless guard clause at start of method Substitute Design Patterns for all these Copyright © 2009 by Fred George 27 Tuesday, September 15, 2009
  • 100. Suspicious Methods Copyright © 2009 by Fred George 28 Tuesday, September 15, 2009
  • 101. Suspicious Methods getters - Violates Encapsulation Copyright © 2009 by Fred George 28 Tuesday, September 15, 2009
  • 102. Suspicious Methods getters - Violates Encapsulation setters - Worse: violates Encapsulation and Object integrity Copyright © 2009 by Fred George 28 Tuesday, September 15, 2009
  • 103. Suspicious Methods getters - Violates Encapsulation setters - Worse: violates Encapsulation and Object integrity 2 Methods with 2 or more levels of indenting Copyright © 2009 by Fred George 28 Tuesday, September 15, 2009
  • 104. Suspicious Classes Copyright © 2009 by Fred George 29 Tuesday, September 15, 2009
  • 105. Suspicious Classes Special naming conventions for Interfaces Copyright © 2009 by Fred George 29 Tuesday, September 15, 2009
  • 106. Suspicious Classes Special naming conventions for Interfaces Interface with a single implementing Class Copyright © 2009 by Fred George 29 Tuesday, September 15, 2009
  • 107. Suspicious Classes Special naming conventions for Interfaces Interface with a single implementing Class 2 Classes with more than 2 instance variables Copyright © 2009 by Fred George 29 Tuesday, September 15, 2009
  • 108. Results Copyright © 2009 by Fred George 30 Tuesday, September 15, 2009
  • 109. Results Dropouts 20% Journeymen 20% Predictors Retention Must be used within a month Support Journeymen, Masters Copyright © 2009 by Fred George 30 Tuesday, September 15, 2009
  • 110. Results Dropouts 20% Journeymen 20% Predictors Retention Must be used within a month Support Journeymen, Masters Copyright © 2009 by Fred George 30 Tuesday, September 15, 2009
  • 111. Results Dropouts 20% Journeymen 20% Predictors Retention Must be used within a month Support Journeymen, Masters Copyright © 2009 by Fred George 30 Tuesday, September 15, 2009
  • 112. Results Dropouts 20% Journeymen 20% Predictors Retention Must be used within a month Support Journeymen, Masters Copyright © 2009 by Fred George 30 Tuesday, September 15, 2009
  • 113. Results Dropouts 20% Journeymen 20% Predictors Retention Must be used within a month Support Journeymen, Masters Copyright © 2009 by Fred George 30 Tuesday, September 15, 2009
  • 114. Maintenance Copyright © 2009 by Fred George 31 Tuesday, September 15, 2009
  • 115. Maintenance Old New Java Java Oracle DB Oracle DB Web UI Web UI 72 Classes 1400 Classes Copyright © 2009 by Fred George 31 Tuesday, September 15, 2009
  • 116. Transition Plan Copyright © 2009 by Fred George 32 Tuesday, September 15, 2009
  • 117. Transition Plan No Documentation No Training No Time Copyright © 2009 by Fred George 32 Tuesday, September 15, 2009
  • 118. Transition Plan No Documentation No Training No Time No Problem! Copyright © 2009 by Fred George 32 Tuesday, September 15, 2009
  • 119. Team with Pair Programming Copyright © 2009 by Fred George 33 Tuesday, September 15, 2009
  • 120. Copyright © 2009 by Fred George 34 Tuesday, September 15, 2009
  • 121. Copyright © 2009 by Fred George 34 Tuesday, September 15, 2009