the importance of being agile
DESCRIPTION
“Agile” development can be as a “grass roots” reaction to the complexity of predictive methodologies methodologies. The agile manifesto provocatively states that it “values individuals over processes, working software over documentation, customer collaboration over contract negotiation and responding to change over following a plan”.To many this sounds like a recipe for chaos. However, supporters of agile development are quick to point to overly bureaucratic processes, mountains of unread documentation, dissatisfied customers and failed projects.This presentation explores agile development and attempts to separate the reality from the hype.TRANSCRIPT
![Page 1: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/1.jpg)
www.lonsdalesystems.com
![Page 2: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/2.jpg)
www.lonsdalesystems.com
Technology Adoption
The “chasm”
Laggards LateMajority
EarlyMajority
EarlyAdoptors Innovators
![Page 3: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/3.jpg)
www.lonsdalesystems.com
Methodology Waves
Structu
red
Method
ologie
s
Object-
Oriente
d
Method
ologie
s
Agile
Method
ologie
s
1980 1990 2000
agile methodologies have crossed“the chasm”
![Page 4: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/4.jpg)
www.lonsdalesystems.com
Structured Methodologies
• Transformation of work products• Waterfall life-cycle addresses requirements
and architecture risks late in the project• Attempt to “predict” all necessary tasks
TestCase
Test
COBOLC
Construction
StructureDiagrams
Design
Data FlowDiagrams
DataModels
Analysis
Text
Requirements
![Page 5: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/5.jpg)
www.lonsdalesystems.com
Structured Methodologies
• Transformation of work products• Waterfall life-cycle addresses requirements
and architecture risks late in the project• Attempt to “predict” all necessary tasks
TestCase
Test
COBOLC
Construction
StructureDiagrams
Design
Data FlowDiagrams
DataModels
Analysis
Text
Requirements
![Page 6: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/6.jpg)
www.lonsdalesystems.com
TestCase
TestConstructionDesignAnalysis
UseCase
Requirements
Objects
Object-Oriented Methodologies
• Evolution of work products• Iterative life-cycle addresses requirements and
architecture risks early in the project• Still attempts to “predict” all necessary tasks
![Page 7: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/7.jpg)
www.lonsdalesystems.com
TestCase
TestConstructionDesignAnalysis
UseCase
Requirements
Objects
Object-Oriented Methodologies
• Evolution of work products• Iterative life-cycle addresses requirements and
architecture risks early in the project• Still attempts to “predict” all necessary tasks
![Page 8: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/8.jpg)
www.lonsdalesystems.com
Agile Motivation
Say after me… “software
development is not the same as
building!”
“Neither is it the same as
manufacturing or digging big holes in the ground”
![Page 9: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/9.jpg)
www.lonsdalesystems.com
Building
10 % 20 % 70 %
Require
ments
Design
Constructi
onSmart peopleMust obey physical laws
Less smart peopleExpensiveTime-consumingMaterials required
![Page 10: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/10.jpg)
www.lonsdalesystems.com
30 % 70 %
Require
ments
Design
Software Development
Smart peopleEndlessly adaptable
Models Source Code
Construction is–Free–Instant–Error free–No material required
![Page 11: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/11.jpg)
www.lonsdalesystems.com
30 % 70 %
Require
ments
Design
Software Development
Smart peopleEndlessly adaptable
Models Source Code
Construction is–Free–Instant–Error free–No material requiredAgile methodologies
focus on the uniqueness of software development…
Agile methodologies focus on the uniqueness of software development…
![Page 12: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/12.jpg)
www.lonsdalesystems.com
Agile Methodologies
• “Agile”– Characterised by
quickness, lightness, and ease of movement; nimble
– Mentally quick or alert: an agile mind
• Agile methodologies attempt to be “adaptive” rather than “predictive”
![Page 13: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/13.jpg)
www.lonsdalesystems.com
Agile Methodologies
• “Agile”– Characterised by
quickness, lightness, and ease of movement; nimble
– Mentally quick or alert: an agile mind
• Agile methodologies attempt to be “adaptive” rather than “predictive”
![Page 14: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/14.jpg)
www.lonsdalesystems.com
Agile Methodologies
• eXtreme Programming (XP)• Crystal• Scrum• Feature Driven Development (FDD)• Dynamic System Development Method
(DSDM)
![Page 15: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/15.jpg)
www.lonsdalesystems.com
eXtreme Programming
![Page 16: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/16.jpg)
www.lonsdalesystems.com
eXtreme Programming
![Page 17: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/17.jpg)
www.lonsdalesystems.com
eXtreme Programming
Peer reviews are a proven technique for improving quality. Pair programmingis simply a logical extension of peerreviews…
![Page 18: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/18.jpg)
www.lonsdalesystems.com
eXtreme Programming
![Page 19: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/19.jpg)
www.lonsdalesystems.com
eXtreme Programming
Testing is fundamental to software quality.Designing test cases before coding and employing automated test tools is simply a logical extension…
![Page 20: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/20.jpg)
www.lonsdalesystems.com
eXtreme Programming
![Page 21: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/21.jpg)
www.lonsdalesystems.com
eXtreme Programming
Even simple designssuffer the effectsof entropy over time.Continuous design improvement (refactoring) is a Way of preventingthis from happening…
![Page 22: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/22.jpg)
www.lonsdalesystems.com
eXtreme Programming
![Page 23: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/23.jpg)
www.lonsdalesystems.com
eXtreme Programming
All project teamsHave their own vocabulary to describe systems.A system metaphor is simply a way of formalising this…
![Page 24: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/24.jpg)
www.lonsdalesystems.com
eXtreme Programming
![Page 25: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/25.jpg)
www.lonsdalesystems.com
eXtreme Programming
It is obvious that tiredand exhausted developers do not give their best.Maintaining a sustainable pace is a sensibleresponse…
![Page 26: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/26.jpg)
www.lonsdalesystems.com
eXtreme Programming
![Page 27: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/27.jpg)
www.lonsdalesystems.com
eXtreme Programming
Communication is an important aspect of all projects.Locating all team members together with a full-time customer representative improves communication…
![Page 28: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/28.jpg)
www.lonsdalesystems.com
eXtreme Programming
![Page 29: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/29.jpg)
www.lonsdalesystems.com
eXtreme Programming
Scope + Quality = Time + Cost
![Page 30: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/30.jpg)
www.lonsdalesystems.com
eXtreme Programming
Scope + Quality = Time + Cost
Developer estimate time and costUsers prioritise scope and qualityTime and cost are fixed for an iterationScope is planned for an iteration
![Page 31: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/31.jpg)
www.lonsdalesystems.com
Which Approach?
Predictive???Agile???
![Page 32: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/32.jpg)
www.lonsdalesystems.com
Which Approach?
Predictive???Agile???
The most widelyused approach to software development is still…“Code and Fix”
The most widelyused approach to software development is still…“Code and Fix”
![Page 33: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/33.jpg)
www.lonsdalesystems.com
Which Approach?
Predictive???Agile???
The most widelyused approach to software development is still…“Code and Fix”
The most widelyused approach to software development is still…“Code and Fix”
“Responding to change over following a plan”“Great! Now I have a reason to avoid planning and just code whatever comes up next…”
![Page 34: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/34.jpg)
www.lonsdalesystems.com
Which Approach?
PredictiveAgile
High certaintyRapid valueObjectiveLarger teamsSmaller teamsSizeExpensiveInexpensiveRefactoring
Current and future requirements
Current requirements only
Architecture
Known early, stable
Emerging, changing
RequirementsAvailableCommittedCustomersAdequate skillsSuperior skillsDevelopers
![Page 35: The Importance of Being Agile](https://reader034.vdocuments.net/reader034/viewer/2022050808/548105b9b4af9faf158b5f37/html5/thumbnails/35.jpg)
www.lonsdalesystems.com