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 It’s Own Problems
Ignaz Semmelweis Medicine “ is complex ” Medicine “ is unpredictable ” Every patient is di ff erent “ Even if he is right, it is too much work to wash hands between patients, don ’ t have time. ”
Agile Quotes Software development is “ too complex ” Software development is “ unpredictable ” Software development is “ intellectually intensive ” Takes too much time to gather requirements upfront.
Software Economist Nearly 3 Million Frequent Flyer Miles Consulted on every continent except Antarctica Presented papers at conferences in USA, Europe, Middle East, Asia and Africa SoftwareMetrics.Com/Agile 13
Background 9 09 10 0A 11 0B 12 0C .... 16 10
Cities 15
Clients Clients include Banking & Finance, Aerospace, Retailers, Animal Food, Telephony, Consulting Companies, Medical Research, Defense Contractors, Automotive, Universities, Government Agencies and others Some clients: MasterCard, IRS, US Courts, Amadeus, Ralston Purina, Lockheed, DOD, T ransamerica, Agfa, DirecTV , Biologic, Accenture, Motorola, Nissan, others… 16
Academic Academy Of Management Referee Journal Articles Research Adjunct Professor MBA & Graduate Psychology Industrial Organization Psychology Statistics Quantitative Analysis eCommerce 17
RAD Iterative Agile
Agile Conventional wisdom repackaged T reating of symptoms not solving the problem
AGILE MISTAKES
Agile Mixes Terms Empirical Modeling Empirical Theory Empirical Process Empirical Control
Pink V elvet Soft Serenade
Empirical Process
Red Paint Speci fi ed Tolerance Levels
Empirical Process Control Inputs vary within a speci fi ed range and are automatically adjusted. Outputs are de fi ned to exact speci fi cations
Empirical Modeling A method to develop a theory based upon actual observation ( data ) . Is based only on data and is used to predict, not explain, a system. Not a method to build products.
Origin of Waterfall Methodologies
1836
Professionals General Contractor Architects Programming Craftsmen Engineers Financiers Plumbers Designers Carpenters Painters Electricians Masons
Designer Skilled Semi - Skilled Seamstress Craftsmen Unskilled
Specialization 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.
Specialization Law Medicine Architecture Physics Dentistry Specialists have higher incomes than generalists.
“REQUIREMENTS RAIN”
Agile Mistake Unpredictability of Requirements “ Predictability is Impossible ” - Martin Folwer. Can ’ t Predict = Can ’ t Estimate
Changing Requirements Agile.... “ Allows teams to develop software in the face of vague and rapidly changing requirements. ” What causes requirements to be incomplete?
Characteristics of Growth New Changed Missed Expanded
Growth Rates W aterfall/T raditional % Growth 300 250 200 150 100 50 0 Requirements Analysis Code Test
Growth Rates Iterative % of Project 100 75 50 25 0 Start 1/3 2/3 3/3
300 250 200 150 100 50 100 0 Requirements Analysis Code Test 75 50 25 0 Start 1/3 2/3 3/3
Growth Comparison W aterfall & Agile 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?
Dollars Per FP by Phase Holding Quality Constant Dollars
Industry Wide Data Mean Best In Class W orst In Class Productivity Comparison: Hrs/FP more than 65 26 to 45 less than 7
Best In Class Companies Percent time by major phase
W orst In Class Companies Percent time by major phase
W Best In Class orst In Class
PAIR PROGRAMING
Please step away from the code!
AGILE FAILS MATH
> Mathematical Proof A B A B + +
Mathematical set theory A + B + C + ( A ∩ B ) + ( A ∩ C ) + ( B ∩ C ) > A + B + C
BUSINESS DOMAIN
Agile Quotes Agile so fu ware development starts when the programming starts. What happens before that may be incredibly important, but it ’ s no t Agile so fu ware development. It ’ s eXtreme Programming, which implies writing so fu ware, to me. Helping The Customer Figure Out What They W eXtreme Helping The Customer Figure Out What They W ant is ant something else. I think it ’ s fair to say that customer practices are not addressed i n Agile methods.
The core business is at one table and IT is at the kids table.
Business Domain Knowledge T rade publications T rade shows & conferences Spend time with your customer Study your competition!
Business Partner 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?
REQUIREMENTS AGILE TRIAL & ERROR
Industrial Designer “ Y our customer lacks the vocabulary to explain what is wrong and especia � y w hat is missing. ” New Changed Missed Expanded
A Logical Question If your customers cannot articulate what they want and especially what is missing, then how should the requirements process work?
The Worst Ways 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?
Waterfall v. Agile Real di ff erence 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...
Requirements Rain, Agile Customer problem not understood Solution becomes trial and error process Functionality is added in hopes of solving customer problem
Root Causes of Failure to Communicate Requirements Lack of design knowledge Inability to elicit requirements Poor business domain knowledge Inconsistently written documentation
Right Size 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 of requirements if your organization is capable of delivering 1,000 in the alloted budget & timeframe.
IT Communication Skills Written - 10 +10 - 8 V erbal - 10 +10 - 7
Technical Skills Coding - 10 +10 7
Myers-Briggs Personality Assessment INTP - Software Developers Introverted Thinking Aided By Intuition
Industrial Designers IDSA.org
I just thought of something It’s not Agile it is Ad-Hoc
Job Growth in Software Development Thousands of Jobs Data: Bureau of Labor Statistics, 3Q 1996 to 3Q1997
Blacksmith Rapid employment growth from 1850 to 1915 Employment peaked in 1915 at 250,000 Obsolete by 1950
Computer Science Bachelor Degrees 60000 45000 30000 15000 0 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 Source: Department of Education
PhD.’s Computer Science 1500 Non Resident USA 1125 750 375 0 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006
Summary
Classic Agile is the classic example of treating symptoms in lieu of solving the problem. Reacting v. W ashing Hands
V ersus
Testimonials Within 17 weeks I lost 69 pounds. Our wedding photos were just incredible Doubts? Visit W eight Loss Institute
Summary 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.
History 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 ou got to change your evil ways, baby - Carlos Santana Software development is like every industry that has gone before.
Agile Wrong about empirical modeling Wrong about waterfall Wrong about pair programming Wrong requirements gathering Wrong about the future of software development
AGILE METHODS AND OTHER FAIRY TALES David Longstreet www.SoftwareMetrics.Com David@SoftwareMetrics.Com 816.739.4058
Recommend
More recommend