Slideshare.net (beta)

Love SlideShare? Want to join the team? We are hiring software engineers, operations engineers, quality assurance engineers, and community managers. In San Francisco & New Delhi. More info here, or email your resume to jobs [at] slideshare [dot] net.
 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

Agile Overview

From nashjain, 1 month ago

Overview presentation by Naresh and Bala for Agile India Conferenc

267 views  |  0 comments  |  0 favorites  |  34 downloads
 

Groups/Events

Not added to any group/event

 
 

Privacy InfoNew!

This slideshow is Public

 
Embed in your blog
Embed (wordpress.com)

Slideshow Statistics
Total Views: 267
on Slideshare: 267
from embeds: 0* * Views from embeds since 21 Aug, 07

Slideshow transcript

Slide 1: Agile Overview Embrace Uncertainty Naresh and Bala naresh@agilefaqs.com and bala@thoughtworks.com Licensed Under Creative Commons by Naresh Jain 1

Slide 2: Today we’ll look at The Story of Software Development Lean Thinking Origin of Agile Agile Values and Principles Summary/Review Licensed Under Creative Commons by Naresh Jain 2

Slide 3: The Story of Software Development… We started off with Software Engineering Licensed Under Creative Commons by Naresh Jain 3

Slide 4: IEEE defines Software Engineering as... “Software Engineering is the application of a systematic, disciplined, quantifiable approach to development, operation and maintenance of software: that is, the application of engineering to software.” IEEE Standard Computer Dictionary, ISBN 1-55937-079-3, 1990 Licensed Under Creative Commons by Naresh Jain 4

Slide 5: Who does Software Engineering? Licensed Under Creative Commons by Naresh Jain 5

Slide 6: Who does Software Engineering? Licensed Under Creative Commons by Naresh Jain 5

Slide 7: For the space shuttle’s operating system Licensed Under Creative Commons by Naresh Jain 6

Slide 8: For the space shuttle’s operating system Licensed Under Creative Commons by Naresh Jain 6

Slide 9: Some Statistics NASA’s Defect Density Licensed Under Creative Commons by Naresh Jain 7

Slide 10: Some Statistics NASA’s Defect Density The last 11 versions of the space shuttle’s 420,000 line systems had a total of 17 defects. Licensed Under Creative Commons by Naresh Jain 7

Slide 11: Some Statistics NASA’s Defect Density The last 11 versions of the space shuttle’s 420,000 line systems had a total of 17 defects. Licensed Under Creative Commons by Naresh Jain 7

Slide 12: One More Data Point Licensed Under Creative Commons by Naresh Jain 8

Slide 13: One More Data Point Licensed Under Creative Commons by Naresh Jain 8

Slide 14: Another real software engineering project Licensed Under Creative Commons by Naresh Jain 9

Slide 15: Another real software engineering project Safeguard - Ballistic Missile Defense System Licensed Under Creative Commons by Naresh Jain 9

Slide 16: Another real software engineering project Safeguard - Ballistic Missile Defense System 18 20 code & unit test design 18 % 20 % 1969-1975, 5407 person years reqmts Hardware designed at the same time 20 20 % integration as software specs being written testing Late changes in requirements not an 42 % option 42 Licensed Under Creative Commons by Naresh Jain 9

Slide 17: Another real software engineering project Safeguard - Ballistic Missile Defense System 18 20 code & unit test design 18 % 20 % 1969-1975, 5407 person years reqmts Hardware designed at the same time 20 20 % integration as software specs being written testing Late changes in requirements not an 42 % option 42 Did it Succeed? Licensed Under Creative Commons by Naresh Jain 9

Slide 18: Safeguard Ballistic Missile Defense System… Licensed Under Creative Commons by Naresh Jain 10

Slide 19: Safeguard Ballistic Missile Defense System… Revised Project Statistics Licensed Under Creative Commons by Naresh Jain 10

Slide 20: Safeguard Ballistic Missile Defense System… Revised Project Statistics The project was delivered according to specifications Licensed Under Creative Commons by Naresh Jain 10

Slide 21: Safeguard Ballistic Missile Defense System… Revised Project Statistics The project was delivered according to specifications Cost: $25 Billion (not adjusted) Licensed Under Creative Commons by Naresh Jain 10

Slide 22: Safeguard Ballistic Missile Defense System… Revised Project Statistics The project was delivered according to specifications Cost: $25 Billion (not adjusted) 1969-1975, 5407 person years Licensed Under Creative Commons by Naresh Jain 10

Slide 23: Safeguard Ballistic Missile Defense System… Revised Project Statistics The project was delivered according to specifications Cost: $25 Billion (not adjusted) 1969-1975, 5407 person years Operational for 133 days - Project terminated in 1978 Licensed Under Creative Commons by Naresh Jain 10

Slide 24: Safeguard Ballistic Missile Defense System… Revised Project Statistics The project was delivered according to specifications Cost: $25 Billion (not adjusted) 1969-1975, 5407 person years Operational for 133 days - Project terminated in 1978 ‘By the time the 6-year anti-missile system project was completed, the new missiles were faster than the anti- missile missiles’ Licensed Under Creative Commons by Naresh Jain 10

Slide 25: Where did things go wrong? Licensed Under Creative Commons by Naresh Jain 11

Slide 26: Where did things go wrong? Software Engineering is a heavy weight methodology and such heavy weight methodologies characteristically are most successful when: Requirements are stable Technology is well known and mature Everything happens as one would expect We are not taking on anything new or unknown We have done this many times before Licensed Under Creative Commons by Naresh Jain 11

Slide 27: Where did things go wrong? Software Engineering is a heavy weight methodology and such heavy weight methodologies characteristically are most successful when: Requirements are stable Technology is well known and mature Everything happens as one would expect We are not taking on anything new or unknown We have done this many times before Projects with these characteristics are few and far between. Licensed Under Creative Commons by Naresh Jain 11

Slide 28: Other Heavy Weight Methodologies Heavy Weight SEI/IEEE Project Waterfall Standards and Definitions Requirements RUP Management Licensed Under Creative Commons by Naresh Jain 12

Slide 29: Other Heavy Weight Methodologies Heavy Weight SEI/IEEE Project Waterfall Standards and Definitions Requirements RUP Management Heavy weight methodologies work in some instances, but there are high costs, and the risk in using them in dynamic environments is high. Licensed Under Creative Commons by Naresh Jain 12

Slide 30: So, heavy weight methodologies don’t seem to meet our needs Is there an alternative? Licensed Under Creative Commons by Naresh Jain 13

Slide 31: Agenda for this session The Story of Software Development Lean Thinking Origin of Agile Agile Values and Principles Summary/Review Licensed Under Creative Commons by Naresh Jain 14

Slide 32: Lean Thinking – Eliminate Waste The Toyota Production System, 1988 (1978), Taichii Ohno Pull Scheduling - Just-in-Time Flow Expose Problems - Stop-the-Line Culture Study Of ‘Toyota’ Production System, 1981, Shigeo Shingo Non-Stock Production - Single Minute Setup Zero Inspection – Automatic Error Detection at Every Step Licensed Under Creative Commons by Naresh Jain 15

Slide 33: Building Quality into the Process Licensed Under Creative Commons by Naresh Jain 16

Slide 34: Building Quality into the Process Toyoda Loom Licensed Under Creative Commons by Naresh Jain 16

Slide 35: Lessons from Queuing theory Utilization (%) Source: Beyond Agile Software Development Becoming Lean, Mary Poppendieck, Poppendieck.llc Licensed Under Creative Commons by Naresh Jain 17

Slide 36: Lower cost of change through higher quality software Traditional cost profile Licensed Under Creative Commons by Naresh Jain 18

Slide 37: Lower cost of change through higher quality software Traditional cost profile Time spent: • Finding defects • Fixing Defects • Regression Testing • Deploying Licensed Under Creative Commons by Naresh Jain 18

Slide 38: Lower cost of change through higher quality software Traditional cost profile Time spent: • Finding defects • Fixing Defects • Regression Testing • Deploying More defects found Agile system cost profile & corrected – causes lower cost of defect correction Licensed Under Creative Commons by Naresh Jain 18

Slide 39: Traditional Process Licensed Under Creative Commons by Naresh Jain 19

Slide 40: Traditional Process Licensed Under Creative Commons by Naresh Jain 19

Slide 41: Traditional Process 50 % done ? Licensed Under Creative Commons by Naresh Jain 19

Slide 42: Applying Lean Principles to Software Development Licensed Under Creative Commons by Naresh Jain 20

Slide 43: Applying Lean Principles to Software Development End-to-End small slices of work Licensed Under Creative Commons by Naresh Jain 20

Slide 44: Applying Lean Principles to Software Development End-to-End small slices of 20 % done = 100 % usable work Licensed Under Creative Commons by Naresh Jain 20

Slide 45: Lean Principles applied to Software Development Project Plan/Estimation Requirements Gathering Use Cases / Functional Specs Design Specifications Code Test Fix / Integrate $ Inception $ $ $ $ Licensed Under Creative Commons by Naresh Jain 21

Slide 46: Agenda for this session The Story of Software Development Lean Thinking Origin of Agile Agile Values and Principles Summary/Review Licensed Under Creative Commons by Naresh Jain 22

Slide 47: New Methodologies Emerged XP FDD Scrum Crystal Family DSDM Licensed Under Creative Commons by Naresh Jain 23

Slide 48: 2000 Licensed Under Creative Commons by Naresh Jain 24

Slide 49: 2000 XP | Extreme Programming (Kent Beck) DSDM | Dynamic System Development Method (Dane Faulkner) FDD | Feature Driven Development (Jeff DeLuca) SCRUM (Ken Schwaber) Crystal (Alistair Cockburn) Adaptive Software Development (Jim Highsmith) Lean Software Development (Mary Poppendieck) Licensed Under Creative Commons by Naresh Jain 24

Slide 50: Agenda for this session The Story of Software Development Lean Thinking Origin of Agile Agile Values and Principles Summary/Review Licensed Under Creative Commons by Naresh Jain 25

Slide 51: Licensed Under Creative Commons by Naresh Jain 26

Slide 52: 2001 Agile manifesto Licensed Under Creative Commons by Naresh Jain 26

Slide 53: 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile manifesto Licensed Under Creative Commons by Naresh Jain 26

Slide 54: 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile – Individuals and interactions OVER processes and tools. manifesto Licensed Under Creative Commons by Naresh Jain 26

Slide 55: 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile – Individuals and interactions OVER processes and tools. manifesto – Working software OVER comprehensive documentation. Licensed Under Creative Commons by Naresh Jain 26

Slide 56: 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile – Individuals and interactions OVER processes and tools. manifesto – Working software OVER comprehensive documentation. – Customer collaboration OVER contract negotiation. Licensed Under Creative Commons by Naresh Jain 26

Slide 57: 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile – Individuals and interactions OVER processes and tools. manifesto Working software OVER comprehensive documentation. – – Customer collaboration OVER contract negotiation. – Responding to change OVER following a plan. Licensed Under Creative Commons by Naresh Jain 26

Slide 58: 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile – Individuals and interactions OVER processes and tools. manifesto Working software OVER comprehensive documentation. – – Customer collaboration OVER contract negotiation. – Responding to change OVER following a plan. That is, while there is value in the items on the right, we value the items on the left more.” © 2001 Agile Alliance. http://www.agilemanifesto.org Licensed Under Creative Commons by Naresh Jain 26

Slide 59: Principles behind the Manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Licensed Under Creative Commons by Naresh Jain 27

Slide 60: Principles behind the Manifesto... Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Licensed Under Creative Commons by Naresh Jain 28

Slide 61: Principles behind the Manifesto... Simplicity--the art of maximizing the amount of work not done--is essential. Continuous attention to technical excellence and good design enhances agility. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Licensed Under Creative Commons by Naresh Jain 29

Slide 62: Agenda for this session The Story of Software Development Lean Thinking Origin of Agile Agile Values and Principles Summary/Review Licensed Under Creative Commons by Naresh Jain 30

Slide 63: Use of Agile Methods Helps handle changing requirements & priorities Lowers cost of change Provides better visibility into project progress Reduces risk Maximizes return on investment (business value prioritized) Encourages higher quality, simpler code Delivers business value early & often Licensed Under Creative Commons by Naresh Jain 31

Slide 64: But...with.... Licensed Under Creative Commons by Naresh Jain 32

Slide 65: But...with.... Courage!! Licensed Under Creative Commons by Naresh Jain 32

Slide 66: But...with.... Courage!! Constant Business involvement Licensed Under Creative Commons by Naresh Jain 32

Slide 67: But...with.... Courage!! Constant Business involvement A need for more Discipline Licensed Under Creative Commons by Naresh Jain 32

Slide 68: But...with.... Courage!! Constant Business involvement A need for more Discipline Greater emphasis on Testing Licensed Under Creative Commons by Naresh Jain 32

Slide 69: But...with.... Courage!! Constant Business involvement A need for more Discipline Greater emphasis on Testing Whole Organization Involvement Licensed Under Creative Commons by Naresh Jain 32

Slide 70: But...with.... Courage!! Constant Business involvement A need for more Discipline Greater emphasis on Testing Whole Organization Involvement Last but not the least, with an OPEN MIND Licensed Under Creative Commons by Naresh Jain 32

Slide 71: Questions? Licensed Under Creative Commons by Naresh Jain 33

Slide 72: Thank You Licensed Under Creative Commons by Naresh Jain 34