Mais conteúdo relacionado Semelhante a Secret Assumption of Agile (20) Secret Assumption of Agile2. Agile is Productive
Traditional Agile
3 Months
12 Months 8 Months.............
5 Months
8 Months
$28 / Hour $87 / Hour
$2,000,000
6x $1,100,000
Copyright © 2009-2013 by Fred George 2
3. How?
1. Code That Can Change
2. Lean Management
3. Processing Power
Copyright © 2009-2013 by Fred George 3
4. “Objects are only good for
programs that change.”
Rick DeNatale, IBM
1988
Copyright © 2009-2013 by Fred George 4
6. Typical Program
public void foo( ) {
... How many lines?
...
...
...
... 2.3 lines / method
... 25 lines / class
...
... Smalltalk:
} 1.1 lines / method
Copyright © 2009-2013 by Fred George 6
7. Replacement Application
Old New
Java Java
Oracle DB Oracle DB
Web UI Web UI
72 Classes 1400 Classes
Copyright © 2009-2013 by Fred George 7
8. Tasking Cycle
Task
Integrate Design
Ship Code Test
Copyright © 2009-2013 by Fred George 8
9. Task Cycle Case Study
Task
Integrate Design
1,000,000 Lines of J2EE Code
2-4 Hours 50 Programmers
4000 Tests
Cycle Time?
Code Test
Copyright © 2009-2013 by Fred George 9
10. Tasking Cycle
Task 15 Minutes
Integrate Design
15 Minutes
Code Test
Copyright © 2009-2013 by Fred George 10
11. Simple Design
1. Works
2. Communicates
3. No duplicate code
4. Least classes and methods
Applies to Application and Tests
Copyright © 2009-2013 by Fred George 12
13. Tasking Cycle
Task
Integrate Design
Simple
Design
Refactoring
Code Test
Copyright © 2009-2013 by Fred George 14
15. Tasking Cycle
Task
Integrate Design
Introduce
Patterns
Refactoring Refactoring
Code Test
Copyright © 2009-2013 by Fred George 16
16. Case Study: Complexity
Cyclomatic Complexity
100 is Bad
“...never seen less than 5” - Senior Architect
Cyclomatic Complexity: 1.8
9 week test: 1 bug, fixed within 2 hours
Copyright © 2009-2013 by Fred George 17
17. Path to Proficiency
en ce
xp eri
E
ng
i ni
Tra
ng
ki
or
W
Copyright © 2009-2013 by Fred George 18
18. Product Requests (London)
Payback: 28 Stories
11 Days 12 Days
Class
23 Stories 5 Days
15 Days
Copyright © 2009-2013 by Fred George 19
20. “15 minutes after the class
started, I realized I knew
nothing about
programming.”
Lead Designer, Consulting Firm, commenting to
CIO of a large US manufacturer.
Copyright © 2009-2013 by Fred George 21
21. OO Boot Camp
History: Since 1995
Over 1000 Students; 3 countries
Java, VB, C#, Ruby
Socratic Method (Question - Answer - Question)
60%+ Lab
Pair Programming
Test First (15 Minute Cycle)
Students Present Solutions
Copyright © 2009-2013 by Fred George 22
22. Master
Journeyman
Apprentice
Copyright © 2009-2013 by Fred George 23
23. Master
2Y
ear
s-
Ne
ver
Journeyman
on ths
2- 6M
Apprentice
Copyright © 2009-2013 by Fred George 24
24. Part 1: Principles
Encapsulation Collaborating Objects
Object Relationships Interfaces
Inheritance Coding Patterns
Delegation Refactoring
Polymorphism Recursion
40-50 Hours
Copyright © 2009-2013 by Fred George 25
25. Part 2: Design Patterns
Rationale Composite Pattern
Patterns vs. Principles Visitor Pattern
Observer Pattern Builder Pattern
Iterator Pattern Concerts
Mediator Pattern Survey of Patterns
40-50 Hours
Copyright © 2009-2013 by Fred George 26
26. 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-2013 by Fred George 27
27. Suspicious Methods
getters - Violates Encapsulation
setters - Worse: violates Encapsulation and Object
integrity
Methods with 2 or more levels of indenting
Copyright © 2009-2013 by Fred George 28
28. Suspicious Classes
Classes with names ending in -er or -or
Special naming conventions for Interfaces
Interface with a single implementing Class
Classes with more than 2 instance variables
Copyright © 2009-2013 by Fred George 29
29. Results
Dropouts 20%
Journeymen 20%
Architecture, Design, Multiple
Predictors Languages
Retention Must be used within a month
Support Journeymen, Masters
Copyright © 2009-2013 by Fred George 30
30. Maintenance
Old New
Java Java
Oracle DB Oracle DB
Web UI Web UI
72 Classes 1400 Classes
Copyright © 2009-2013 by Fred George 31
31. Transition Plan
No Documentation
No Training
No Time
No Problem!
Copyright © 2009-2013 by Fred George 32
32. Training -- OO Boot Camp
First class 1 October
9-12 students / class
Include project managers and QA
4 classes so far
Copyright © 2009-2013 by Fred George 33
33. Implementation
Start development on 15 October
Ruby used (never used before 1 October)
No stories - just business problem
First page ready for review by end of November
Copyright © 2009-2013 by Fred George 34
34. Currently...
5 Tables running
Each Table has it’s own business problem
Only developers
Speaker designated
Processes are varying, particularly metrics
Copyright © 2009-2013 by Fred George 35