AGILE METHODS AND OTHER FAIRY TALES
David Longstreet www.SoftwareMetrics.Com David@SoftwareMetrics.Com 816.739.4058
AGILE METHODS AND OTHER FAIRY TALES David Longstreet - - PowerPoint PPT Presentation
AGILE METHODS AND OTHER FAIRY TALES David Longstreet www.SoftwareMetrics.Com David@SoftwareMetrics.Com 816.739.4058 Sources http://agilemanifesto.org/ http://www.martinfowler.com/ Once Upon A Time... IT Causes Most of Its Own Problems
David Longstreet www.SoftwareMetrics.Com David@SoftwareMetrics.Com 816.739.4058
http://agilemanifesto.org/ http://www.martinfowler.com/
Medicine “is complex” Medicine “is unpredictable” Every patient is different “Even if he is right, it is too much work to wash hands between patients, don’t have time.”
Software development is “too complex” Software development is “unpredictable” Software development is “intellectually intensive” Takes too much time to gather requirements upfront.
13
East, Asia and Africa
9 09 10 0A 11 0B 12 0C .... 16 10
15
16
Clients include Banking & Finance, Aerospace, Retailers, Animal Food, Telephony, Consulting Companies, Medical Research, Defense Contractors, Automotive, Universities, Government Agencies and
Some clients: MasterCard, IRS, US Courts, Amadeus, Ralston Purina, Lockheed, DOD, T ransamerica, Agfa, DirecTV , Biologic, Accenture, Motorola, Nissan,
17
Academy Of Management Referee Journal Articles Research Adjunct Professor MBA & Graduate Psychology Industrial Organization Psychology Statistics Quantitative Analysis eCommerce
RAD Iterative Agile
Conventional wisdom repackaged T reating of symptoms not solving the problem
Empirical Modeling Empirical Theory Empirical Process Empirical Control
Specified Tolerance Levels
Inputs vary within a specified range and are automatically adjusted. Outputs are defined to exact specifications
A method to develop a theory based upon actual
Is based only on data and is used to predict, not explain, a system. Not a method to build products.
General Contractor
Programming
Skilled Seamstress Semi-Skilled Craftsmen Designer Unskilled
All disciplines, as they mature, move from generalist to specialist. W aterfall development is the natural result of specialization. Specialization moves industries forward. Specialization drives better communication.
Law Medicine Architecture Physics Dentistry Specialists have higher incomes than generalists.
Unpredictability of Requirements “Predictability is Impossible” - Martin Folwer. Can’t Predict = Can’t Estimate
Agile....“ Allows teams to develop software in the face of vague and rapidly changing requirements.” What causes requirements to be incomplete?
Changed Expanded Missed New
50 100 150 200 250 300 Requirements Analysis Code Test
% Growth
25 50 75 100 Start 1/3 2/3 3/3
% of Project
50 100 150 200 250 300 Requirements Analysis Code Test 25 50 75 100 Start 1/3 2/3 3/3
Most growth comes at the end of the project. Majority of requirements are discovered at the end of a project. What are the reasons requirements were not discovered earlier?
W aterfall & Agile
Dollars Holding Quality Constant
Mean Best In Class W
Productivity Comparison: Hrs/FP less than 7 more than 65 26 to 45
Percent time by major phase
Percent time by major phase
A B A
B + +
set theory
A + B + C + (A ∩ B) + (A ∩ C) + (B ∩ C) > A + B + C
Agile sofuware development starts when the programming starts. What happens before that may be incredibly important, but it’s not Agile sofuware development. It’s eXtreme Programming, which implies writing sofuware, to me. eXtreme Helping The Customer Figure Out What They W ant is something else. I think it’s fair to say that customer practices are not addressed in Agile methods.
Helping The Customer Figure Out What They W
ant
The core business is at one table and IT is at the kids table.
T rade publications T rade shows & conferences Spend time with your customer Study your competition!
If you do not know about the business, then how do you know what should be in a release or not in a release? Why should you be a “business partner” if you do not know or care about the business?
“Y
explain what is wrong and especiay what is missing.” Changed Expanded Missed New
If your customers cannot articulate what they want and especially what is missing, then how should the requirements process work?
Sitting in a conference room with your “customers” and asking, “What do you want?” W aiting for customers to articulate what they want Using a client liaison to articulate what customers want What type of employee is sent to work with IT?
Real difference is what is the best method to conduct analysis & requirements gathering? Agile T rial and Error (code/test) W aterfall Structured Analysis Agile not enough time to do it up front, but enough time to do it over and over and over and over, and...
Customer problem not understood Solution becomes trial and error process Functionality is added in hopes of solving customer problem
Lack of design knowledge Inability to elicit requirements Poor business domain knowledge Inconsistently written documentation
What is the right size for the given budget & timeline? How much functionality is the organization capable of delivering per unit of time? It is pointless to develop 5,000 function points worth
delivering 1,000 in the alloted budget & timeframe.
+10
Written
+10
V erbal
7 +10
Coding
Personality Assessment
Introverted Thinking Aided By Intuition
IDSA.org
Data: Bureau of Labor Statistics, 3Q 1996 to 3Q1997
Thousands of Jobs
Rapid employment growth from 1850 to 1915 Employment peaked in 1915 at 250,000 Obsolete by 1950
15000 30000 45000 60000
1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007
Computer Science Bachelor Degrees Source: Department of Education
375 750 1125 1500 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 PhD.’s Computer Science Non Resident USA
Agile is the classic example of treating symptoms in lieu of solving the problem. Reacting v. W ashing Hands
V ersus
Within 17 weeks I lost 69 pounds. Our wedding photos were just incredible Doubts? Visit W eight Loss Institute
A lot of industries are more complex than software! As industries mature they specialize and waterfall is a natural result of specialization. Programming is becoming craft not a profession. Learning about the business helps solve the requirements problem.
Those who can not learn from history are doomed to repeat it. - George Santayana History may not repeat, but it sure does rhythm a lot - Mark Twain. Y
Santana Software development is like every industry that has gone before.
Wrong about empirical modeling Wrong about waterfall Wrong about pair programming Wrong requirements gathering Wrong about the future of software development
David Longstreet www.SoftwareMetrics.Com David@SoftwareMetrics.Com 816.739.4058