• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Secret Assumption of Agile (Chinese)
 

Secret Assumption of Agile (Chinese)

on

  • 875 views

The secret assumption of Agile is that you write programs that are easy to change. The presentation talks about how very different that style can be. Case studies from real project reinforce these ...

The secret assumption of Agile is that you write programs that are easy to change. The presentation talks about how very different that style can be. Case studies from real project reinforce these techniques. Finally, the training for this style is described. (most slides in English, too)

Statistics

Views

Total Views
875
Views on SlideShare
874
Embed Views
1

Actions

Likes
0
Downloads
14
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Secret Assumption of Agile (Chinese) Secret Assumption of Agile (Chinese) Presentation Transcript

    • 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