2. 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
Presented By
10. Let’s get back to what we studied Harry Mills / PRESENTATIONPRO
3. What is SLDC ?
It’s all about birth and death
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?
Presented By
What does the popular term “SDLC” actually mean?
Harry Mills / PRESENTATIONPRO
4. Heavyweight Approaches
The ever loving “Waterfall”
Presented By
Harry Mills / PRESENTATIONPRO
5. Waterfall Continued….
Features
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 By
Harry Mills / PRESENTATIONPRO
6. Waterfall Continued….
Advantages
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 By
Harry Mills / PRESENTATIONPRO
7. Waterfall Continued….
Disadvantages
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 By
Harry Mills / PRESENTATIONPRO
8. Waterfall Continued….
An Example Scenario
Oh Give me a Home !
Presented By
Harry Mills / PRESENTATIONPRO
9. Waterfall Continued….
This is what I wanted
Presented By
Harry Mills / PRESENTATIONPRO
10. Why Agile ?
Introduction to Agile Methods
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)
Presented By
Customer (is involved and understands) Harry Mills / PRESENTATIONPRO
11. 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 By
Harry Mills / PRESENTATIONPRO
13. 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 By
Harry Mills / PRESENTATIONPRO
14. Adopting Agile...
Agile for different Organizations
The Start-Ups
Organizations with a history
Other Factors
The Project Size
Customers’ view point
Presented By
Harry Mills / PRESENTATIONPRO
15. 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 By
Harry Mills / PRESENTATIONPRO
16. User Scenarios Continued…
Characteristics of a User Scenario
As a [type or role of user]
I want to [perform some task]
So that I can [reach some goal]
User Scenarios Should be…
Independent
Negotiable
Valuable
Estimable
Brief
Presented By
Testable Harry Mills / PRESENTATIONPRO
17. 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 By
Harry Mills / PRESENTATIONPRO
18. 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)
Presented By
AND MANY MORE METHODS Mills / PRESENTATIONPRO
Harry
19. Agile Applications Continued….
Extreme Programming
Extreme Programming
Based on 12 practises
Presented By
Harry Mills / PRESENTATIONPRO
20. XP Continued…
The 12 Practices
The Planning Process Pair Programming
Small Releases Collective Ownership
Metaphor Continuous Integration
Simple Design 40-hour Week
Testing On-site Customer
Refactoring Coding Standard
Presented By
Harry Mills / PRESENTATIONPRO
21. 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 By
Harry Mills / PRESENTATIONPRO
22. 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 By
Harry Mills / PRESENTATIONPRO
24. 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
Customer Collaboration
Lack of Documentation
Larger teams
Lack of support in Critical Systems Presented By
Harry Mills / PRESENTATIONPRO
25. 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 By
Harry Mills / PRESENTATIONPRO
26. 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
Presented By
Harry Mills / PRESENTATIONPRO
Process-Oriented ApproachFocus is on flow, use and transformation of data in an information systemInvolves creating graphical representations such as data flow diagrams and chartsData-Oriented ApproachDepicts ideal organization of data, independent of where and how data are usedData model describes kinds of data and business relationships among the dataBusiness rules depict how organization captures and processes the data