Upload
prageeth-sandakalum
View
654
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
Presented by
Prageeth SandakalumFaculty of Information Technology,
University of Moratuwa.
Agile Software
Development
Methodologies
Presented ByHarry Mills / PRESENTATIONPRO
The Agenda...
1. What is SDLC ?
2. The heavyweight approaches
3. Why Agile ?
4. The Agile Approach
5. The Principles of Agile
6. Agile for different Organizations
7. Agile Project Development Issues
Requirement Analysis, Project Management, Effort
Estimation & Software Pricing
6. Applications of Agile
7. Extreme Programming, Scrum and Crystal Methods
8. Agile Compared…
9. Advantages and Limitations
10. Let’s get back to what we studied
Presented ByHarry Mills / PRESENTATIONPRO
It’s all about birth and death
What is SLDC ?
What are the approaches to developing software Systems?
Process-Oriented Approach
Data-Oriented Approach
People Driven Approach ??
Is there one best way?
What is the difference between techniques, methodologies & tools?
What does the popular term “SDLC” actually mean?
Presented ByHarry Mills / PRESENTATIONPRO
The ever loving “Waterfall”
Heavyweight Approaches
Presented ByHarry Mills / PRESENTATIONPRO
Features
Waterfall Continued….
Easy to follow.
Can be used for any sized project
Every stage will be done at a specific time
Documentation is produced at every stage
Testing is done at every stage.
Presented ByHarry Mills / PRESENTATIONPRO
Advantages
Waterfall Continued….
Early visibility of potential problems.
Requirements won't be changed.
Easy to learn with the documentation
Need only to follow the design
Ideal for Critical Systems
Presented ByHarry Mills / PRESENTATIONPRO
Disadvantages
Waterfall Continued….
Change of requirements is costly
Lack of flexibility
Comparatively more time required
A black box to the customer
Not applicable to RAD type projects
Presented ByHarry Mills / PRESENTATIONPRO
An Example Scenario
Waterfall Continued….
Oh Give me a
Home !
Presented ByHarry Mills / PRESENTATIONPRO
This is what I wanted
Waterfall Continued….
Presented ByHarry Mills / PRESENTATIONPRO
What makes a method Agile?
Incremental (small releases, rapid cycles)
Cooperative (between developers and customers)
Straightforward (method is easy to learn and modify
Adaptive (embrace changes, even last moment)
When we use Agile?
Requirements (uncertain or volatile)
Developers (responsible and motivated)
Customer (is involved and understands)
Introduction to Agile Methods
Why Agile ?
Presented ByHarry Mills / PRESENTATIONPRO
The Agile Approach...
The Agile Manifesto
Individuals and interactions
over processes and tools
Working software over
comprehensive documentation
Customer collaboration over
contract negotiation
Responding to changes over
following a plan
Presented ByHarry Mills / PRESENTATIONPRO
Presented ByHarry Mills / PRESENTATIONPRO
The Building Blocks...
The Principles of Agile
Rapid, continuous delivery
Frequent delivery
Working software
Accommodation
Close, daily cooperation
Motivated, skilled people
Self-organizing teams
Presented ByHarry Mills / PRESENTATIONPRO
Adopting Agile...
Agile for different Organizations
The Start-Ups
Organizations with a history
Other Factors
The Project Size
Customers’ view point
Presented ByHarry Mills / PRESENTATIONPRO
How Agile works...
Agile Project Development
Agile Way of Requirement Analysis
User Scenarios for requirement gathering
“A user adds a new budget to the system to start financial planning.”
Does the user have to be logged in?
What are the values stored in the budget?
Who is responsible for the budget?
Presented ByHarry Mills / PRESENTATIONPRO
User Scenarios Continued…
Characteristics of a User Scenario
User Scenarios Should be… Independent
Negotiable
Valuable
Estimable
Brief
Testable
As a [type or role of user]I want to [perform some task]
So that I can [reach some goal]
Presented ByHarry Mills / PRESENTATIONPRO
How Agile works...
Effort Estimation
Estimating Work Effort
Expert opinion
Disaggregation
Analogy
Estimating Work Effort in Agile way
Effort-Accuracy relationships
Planning Poker
Ideal Days calculation
Presented ByHarry Mills / PRESENTATIONPRO
Agile Applications
The different Agile Approaches
Extreme Programming
SCRUM
Crystal Family
Dynamic System Development Method (DSDM)
In-House Development
Feature Driven Development (FDD)
Internet-Speed Development (ISD)
Pragmatic Programming
XBreed
Test Driven Development (TDD)
AND MANY MORE METHODS
Presented ByHarry Mills / PRESENTATIONPRO
Agile Applications Continued….
Extreme Programming
Extreme Programming Based on 12 practises
Presented ByHarry Mills / PRESENTATIONPRO
XP Continued…
The 12 Practices
The Planning Process
Small Releases
Metaphor
Simple Design
Testing
Refactoring
Pair Programming
Collective Ownership
Continuous Integration
40-hour Week
On-site Customer
Coding Standard
Presented ByHarry Mills / PRESENTATIONPRO
Agile Applications Continued...
SCRUM Process
What is the Product Backlog ?
What is a Sprint ?
Sprint Review
Sprint Retrospective
Incorporate into the product backlog
Print release
Presented ByHarry Mills / PRESENTATIONPRO
Agile Applications Continued...
Crystal Methods
Introduced by Alistair Cockburn
Values of Crystal Methods
People and Communication Centric
High Tolerance
Types of Methods
Crystal Clear
Crystal Orange
Presented ByHarry Mills / PRESENTATIONPRO
Agile Vs Heavyweight
Presented ByHarry Mills / PRESENTATIONPRO
Is Agile Perfect ?
Advantages and Limitations
Shortened software development cycle time
High stability in the work load
High flexibility in changing the plans.
Can achieve higher quality in the software
The developers focus only on implementation
Advantages
Customer Collaboration
Lack of Documentation
Larger teams
Lack of support in Critical Systems
Limitations
Presented ByHarry Mills / PRESENTATIONPRO
A final word...
The Summary
It is a building block which you can create different
applications on top of it.
Agile has advantagesas well as limitations. It’s up to the
developers to decide on applicability
After all it’s an excellent approach for the competitive
software industry.
Presented ByHarry Mills / PRESENTATIONPRO
A sign of Gratitude...
Thank you for your suppport.
Mr. Sanath A. Fernando, CEO, Ridgecrest Financial, for his
comments and reviews.
Mr. Yohan Welikala, Managing Director, Codegen
International, for his encouragement and reviews.
Thank You
? ? ?