Agile is an umbrella term for a collection of values, principles and practices originating from eXtreme Programming, Scrum, Lean and other methodologies.
When combined with effective governance, Agile and Lean provide benefits that include increased business value, reduced risk, greater flexibility and improved transparency.
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Agile Introduction
1. An
Introduction
to Agile
Adrian Smith
@adrianlsmith
Engineering Innovation.
2. State of the IT Industry
Successful means on-time, on-budget, and with all features and functions as
defined in the initial scope
Challenged means late, over budget, and/or with less features and functions than
defined in the initial scope
Failed means cancelled prior to completion, or delivered but never used.
Source: 2009 Chaos Report - Standish Group http://
www.agileengineeringdesign.co
Engineering Innovation.
3. Influencing Factors
Success Factors Failure Factors
1. User Involvement 1. Incomplete Requirements
2. Executive Management Support 2. Lack of User Involvement
3. Clear Statement of Requirements 3. Lack of Resources
4. Proper Planning 4. Unrealistic Expectations
5. Realistic Expectations 5. Lack of Management Support
6. Smaller Project Milestones 6. Changing Requirements
7. Competent Staff 7. Lack of Planning
8. Ownership 8. Didn’t Need It Any Longer
9. Clear Vision & Objectives 9. Lack of IT Management
10. Hard-Working, Focused Staff 10. Technology Illiteracy
Source: 2009 Chaos Report - Standish Group http://
www.agileengineeringdesign.co
Engineering Innovation.
4. Nature of Software Development
Software development and implementation is a
Complex Process as distinct from a Defined
Process.
Defined Process Complex Process
Repeatable Sensitive to Input
Predictable Variation
Low Noise Levels Not Repeatable
Non Linear Feedback
Example: Baking a cake Example: Driving a car
http://
www.agileengineeringdesign.co
Engineering Innovation.
5. Traditional Methods
• Waterfall Methodology
• Traditional (waterfall) development methodologies rely on significant up-front planning
that ideally captures and understands all requirements in detail.
• Require a defined
Process
• Difficult to include
change
• Deliver benefits at
end of process
http://
www.agileengineeringdesign.co
Engineering Innovation.
6. Traditional Traditional vs Agile
Plan Analysis Design Develop Test Deploy Operate
Benefit
Return
Investment
Cost Late ROI
Analysis
Analysis
Analysis
Develop
Develop
Develop
Deploy
Deploy
Deploy
Design
Design
Design
Plan
Plan
Plan
Test
Test
Test
Operate
Agile
Benefit
Return
Investment
Cost Early ROI
Engineering Innovation.
7. Agile Methods
Agile is an umbrella term for a set of values,
principles and practices.
Management!
Practices!
Technical! Social/Team!
Practices! Practices!
Increase Value
Values &!
Principles!
Reduce Risk
Manage Complexity
Empirical control, Continuous monitoring, Heuristics
Engineering Innovation.
9. Manifesto for Agile Software
Development
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Text
Individuals and interactions over processes and tools
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.
http://
www.agileengineeringdesign.co
Engineering Innovation.
10. Agile Foundation
AGILE TECHNICAL
AGILE TEAM PRACTICES
PRACTICES Test-Driven Development
Continuous Integration
Colocation Automated Deployment
Daily Stand Ups Incremental Design and Architecture
Iteration Planning Acceptance Test-Driven Development
Customer Showcase Refactoring
Retrospective Technical Spikes
Adaptive Release Plan Exploratory Testing
Cross-Functional Team Collective Code Ownership
Requirements as Stories Definition of Done
Planning/Story Wall Ubiquitous Language
Informative Workspace PRACTICES
Burn Up/Down Charts
Parking Lot Diagrams
Success Sliders
Planning Poker AGILE PRINCIPLES
Simplicity
PRINCIPLES Transparency
Frequent Delivery
Customer Involvement
Technical Excellence
Team Work
AGILE VALUES VALUES
Self Organisation
Emergent Design
Working Deliverables Continuous Improvement
Human Interactions Sustainable Pace
Customer Collaboration
Responding to Change
Engineering Innovation.
11. Agile Delivery Approach
Assess Plan Deliver Deploy
ITERATION
ITERATION
Assess Plan and ITERATION
technical refine the Deployment
feasibility and proposed idea Iterative development of working
Go Go Go
and delivery of high
business No-Go and prepare for No-Go No-Go software into
value of development quality working production
proposed software environments
idea
5% 10% 80% 5%
Engineering Innovation.
12. Release Agile Delivery Layers
Release
Planning
Iteration 1 Iteration 2 Iteration 3 ... Iteration n Release
Iteration
Iteration
Planning
Daily
Work
Daily
Work
Daily
Work ... Daily
Work
Customer
Showcase
Team
Retrospective
Day
Stand
Up
Team
Task
Team
Task
Team
Task ... Team
Task
Update
Progress
13. Does Agile Work?
Co-Located Projects of Equivalent Team Size
(Average project size 500,000 lines of new and existing code)
Data based on Industry Average Agile Average Difference
the comparison Project Value
(million)
$3.5 $2.2 $1.3
of 7,500 projects Schedule
(months)
12.6 7.8 4.8
completed Defects during QA 242 121 50%
worldwide Staffing 35 35 0
Distributed Projects of Equivalent Value
(Average project size 700,000 lines of new and existing code)
Industry Average Agile Average Difference
Project Value
$5.5 $5.2 $0.3
(million)
Schedule
15 6.3 8.7
(months)
Defects during QA 713 635 11%
Staffing 40 92 52
Source: Michael Mah - Cutter Consortium http://
www.agileengineeringdesign.co
Engineering Innovation.
15. Requirements as Stories
FRONT
A story is a multi-purpose Points
User Story:
artefact used to collate
requirements and facilitate As a... user ( of the system)
planning and tracking of the I want... (a particular facility)
project So that... (I receive some benefit)
Story is written from
perspective of the user in BACK
simple language
Acceptance Criteria:
Acceptance criteria ensures
Given... (a particular scenario)
clear definition of done When... (I perform some action)
Then... (I expect some outcome)
Additional details may be
captured in electronic system
http://
www.agileengineeringdesign.co
Engineering Innovation.
16. Iteration Planning
Backlog To Do Doing Done
2 2
Prioritised by Value
User Story User Story
4 4
User Story User Story
8 8
User Story User Story
Prioritised by Value
1 1
User Story User Story
4 4
User Story User Story
2
User Story
User Story
? Iteration planning is the process of agreeing and
?
planning work for the coming iteration
User Story
User Story
? Amount of work planned is based on evidence of
past iterations
http://
www.agileengineeringdesign.co
Engineering Innovation.
17. Daily Stand Up Meetings
Stand up meetings
encourage
communication,
collaboration and
early identification of
risks within the team
Participants discuss:
1. Work completed
2. Work planned
3. Issues and risks
Meetings are held near planning wall and
updates are typically made during the meeting
Meetings are
to create shared understanding
typically daily and
involve the whole
team
http://
www.agileengineeringdesign.co
Engineering Innovation.
18. Planning Wall / Workspace
Backlog To Do Doing Done
2 2 2 2
Prioritised by Value
User Story User Story User Story User Story
4 4 4 4
User Story User Story User Story User Story
8 8 8 8
User Story User Story User Story User Story
Prioritised by Value
1 1 1
User Story User Story User Story
4 4
User Story User Story
2
User Story
User Story
? Planning walls create an informative workspace
?
and demonstrate progress of work
User Story
User Story
? Progress of work through iteration is measured to
provide feedback
http://
www.agileengineeringdesign.co
Engineering Innovation.
19. Customer Showcase
Iteration Update Progress Update What Next?
• What did we achieve • How far are we thru the • Focus for next iteration
• Demo / show work work / project based on customer
completed • What is the path to feedback
• What issues did we face completion • Key milestones
http://
www.agileengineeringdesign.co
Engineering Innovation.
20. Retrospectives
Worked Could Work Questions/
Well Better Issues/Risks
Determine root cause
and create actions
Celebrate Clarify or
address
Retrospectives are Actions for
the basis for Improvement
Incorporate actions
continuous in next iteration
improvement http://
www.agileengineeringdesign.co
Engineering Innovation.
24. Agile Adoption
People Learn in a 3-Stage Progression
Shu - Follow
Learn and practice the techniques
Ha - Break Away
Collect additional techniques
Ri - Fluent
Blend and develop new techniques
Engineering Innovation.
30. Agile Adoption Risks
1. Agile methods are easily misunderstood
Agile practices are like any other practices; they’re learned through example,
application, and training. However, if the practices are disconnected from the
principles and values they just won’t work.
2. Organisational change is hard
Adopting Agile within a team or organisation requires change that is received
differently by different people. Some are early adopters, the majority are reluctant
and some are resistant.
3. Agile methods make value visible
Unlike the complex, bureaucratic waterfall organisation, which is opaque, if someone
in an Agile team/project is not contributing, the fact will become obvious—and fast.
Engineering Innovation.
32. Common Smells
New Functionality
Unacceptable
Takes Too Long
Quality Us vs Them
Features Not Used by What Customer?
Customer
Post-Development
Hardening Required
Development Costs
Are Too High
Lack of Visibility
Large Number Resources Dedicated
of Defects to Multiple Projects
Engineering Innovation.
33. Fixing Smells
Smell Agile Practice
Test-driven Development, Continuous Integration, Refactoring,
Unacceptable quality
Simple Design
New functionality take Simple Design, Refactoring, Test-driven development,
too long to implement Continuous integration
Features not used by
Customer Collaboration, Requirements as Stories
customer
Development costs Simple Design, Refactoring, Collective Code Ownership, Test-
are too high Driven Development
Us verse Them Customer Collaboration, Requirements as Stories
Customers ask for
Customer collaboration, Requirements as Stories
everything
http://
www.agileengineeringdesign.co
Engineering Innovation.
34. Fixing Smells
Smell Agile Practice
What customer? None
Big Visual Charts, Retrospectives,Test-Driven Development,
Lack of visibility
Continuous Integration
Bottlenecked
Context switching, Collective Code Ownership
resources
Hundreds of Test-Driven Development, Automated Functional and
outstanding bugs Acceptance Tests, Continuous Integration, Exploratory Testing
Post development
Continuous Integration, Continuous Deployment
hardening required
http://
www.agileengineeringdesign.co
Engineering Innovation.
36. Benefits of Agile
1. Improve Delivery
Creates consistent and predictable delivery
of work based on evidence 2. Reduce Costs
Eliminate wasteful and inefficient
processes that add complexity and cost
3. Continuous Improvement
Focus of technical excellence and regular inspection
and improvement of practices
4. Competitive Advantage
Capitalise of market changes and opportunities
by being able to rapidly respond to change
5. Great Place to Work
A focus of social and team centric practices
improve the working environment
Engineering Innovation.
37. Agile as a Strategy
Principles! Strategies!
Respond to Change! Engage
Customers!
Early and Frequent
Delivery! Timely Delivery! Goal!
Maximize
Human/Team Centric Market
Methods! Motivated Team! Opportunities
and Revenue"
Technical Excellence! Valuable!
Features!
Process Innovation! Process
Innovation!
Engineering Innovation.