Professional Documents
Culture Documents
By
Sunil Phaltankar
Before we start …
• One good news
– More and more projects are moving to AGILE.
• Why ?
• One not-so good news
– Many AGILE projects do not end up in getting the
benefits, that is expected by following AGILE
• Why ?
• One question
– What makes AGILE project success?
Agenda
• Why AGILE
• What is AGILE Duration : ~ 2 hours
• Phases of AGILE
• AGILE Methods
• AGILE Scrum
• Scalability
Why AGILE ?
• 80%* of all software projects fail to deliver
working software on time and within budget
• Top 5 Reasons: * IEEE estimate
Comprehensive
Working Software over
Documentation
Customer Contract
over
Collaboration Negotiation
Responding to
over Following a Plan
Change
Source: www.agilemanifesto.org
AGILE Characteristics
• Break task into small increments with minimal planning
• Iterations are short time-frames (time-boxes)
• Each iteration involves: Planning, Requirement
Analysis, Design, Coding, Unit Testing, and Acceptance
Testing (full SDLC)
• Multiple iterations may be required to release new
features
• Minimizes overall risk
• Allows the project to adopt to changes quickly
• Cross-functional and Self-organizing teams
• Team members take responsibility for tasks that
delivers the functionality
AGILE Characteristics – cont.
• Emphasizes face-to-face communication (co-location)
• Typically small (5-9) team to simplify communication
and team collaboration
• Larger projects delivered by multiple teams working
towards common goal
• Emphasizes working software as the primary measure
of progress
• Specific tools and techniques used to improve quality:
– Continuous integration & Automated testing,
– Test Driven Development, Pair programming
– Design patterns, Domain driven designs
– Code refactoring
Phases of AGILE
• AGILE Planning
• AGILE Design
• AGILE Development
AGILE Planning
• Project Scope:
– Customer Requirements may change frequently
– No focus on clear cut project scope
– Project scope is frozen only for current iteration
• Estimation:
– limited for particular feature in particular iteration
– Done by the team, collaboratively with customer
– More realistic
– Previous experiences may be utilized
• Project Duration:
– Fixed by customer and deadline is sacred
– Features may be added, removed or scaled down to
adhere to deadline.
AGILE Planning – cont.
Agile Plan:
• Created & owned by Agile Team
• In consultation with all stakeholders
• High Level Plan
– Overall Objectives & Goals of product/project
– Schedule for the same
– In consultation with team
– Feature based
• Comprehensive Plan
– Detailed plan
– By team, during periodic team meeting
– Complements high level plan
• Plans are updated once tasks are completed by team
AGILE Design
• Software architecture & design that provide room for
future additions & enhancements
– Modularize
– Keep Clean & simple
• UML used to define and represent system architecture
& workflow
• Logically dividing complex tasks into smaller sub-tasks
• Focus on code structures than design diagrams
• Object oriented design strategy
– Code Abstraction
– Inheritance
– Week coupling
– High Cohesion
AGILE Development
• Iterative & incremental development
• Each iteration involves full SDLC:
– Planning:
• Scope (features) identification
• Requirement Analysis
• Designing
– Coding:
• Coding and unit testing
• Continuous integration & Acceptance Testing
• Refactoring
– Review:
• Presentation & Review of completed work
• Feedback from customer
• Acceptance / Rejection of work by customer
AGILE methods
Well-known agile software development methods:
– Agile Modeling
– Agile Unified Process (AUP)
– Dynamic Systems Development Method (DSDM)
– Essential Unified Process (EssUP)
– Extreme Programming (XP)
– Feature Driven Development (FDD)
– Open Unified Process (OpenUP)
– Scrum
– Velocity tracking
AGILE Development Method
AGILE SCRUM
AGILE Scrum
Scrum is an iterative, incremental methodology
for project management.
AGILE Scrum - Characteristics
• Iteration: 2-4 weeks ‘sprint’
• Incremental: Product progresses in a series of
‘sprints’
• Self-organizing teams, team collaboration
through daily scrum meetings
• Constant Customer involvement from
requirement definition till acceptance
• Requirements are captured as items in a list of
‘product backlog’
• No specific engineering practices prescribed
(Team can use any or none)
Sprints
• Scrum iteration
• 2–4 weeks or a calendar month at most
• A constant duration leads to a better rhythm
• Product is designed, coded, and tested during
the sprint
AGILE Scrum - Development
Requirements Design Code Test
Source: “The New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.
Scrum Framework
Roles
•Product owner
•Team
•Scrum Master
Meetings
•Sprint Planning
•Daily Scrum Meeting
•Sprint Review
•Sprint Retrospective
Artifacts
•Product Backlog
•Sprint Backlog
•Burn down
Scrum Framework
Roles
•Product owner
•Team
•Scrum Master Meetings
•Daily Scrum Meeting
•Sprint Planning
•Sprint Review
•Sprint Retrospective
Artifacts
•Product Backlog
•Sprint Backlog
•Burn down
Product Owner
• Voice of the customer
• Decide on release date and content
• Defines sprint goals
• Defines the features (user stories) of the product
• Prioritize features according to market value
• Adjust features and priority every iteration, as
needed
• Accept or reject work results
• Be responsible for the profitability of the product
(ROI)
The Team
• Responsibility to deliver product
• Typically 5-9 people
• Cross-functional:
– Programmers, testers, user experience designers,
etc.
• Members should be full-time
– May be exceptions (e.g., database administrator)
• Teams are self-organizing
• Membership should change only between
sprints
The Scrum Master
• Removes impediments
• Shield the team from external interferences
• Enable close cooperation across all roles and
functions
• Responsible for enacting Scrum values and
practices
• Ensure that the team is fully functional and
productive
• Represents management to the project
(though not a leader of the team)
Scrum Framework
Roles
•Scrum Master
•Product owner
•Team
Meetings
•Sprint Planning
•Daily Scrum Meeting
•Sprint Review
•Sprint Retrospective
Artifacts
•Product Backlog
•Sprint Backlog
•Burn down
Sprint Planning Meeting
• Team selects items from the product backlog they
can commit to completing
• Sprint backlog is created
– Tasks are identified and each is estimated (1-16 hours)
– Collaboratively, not done alone by the Scrum Master
• High-level design is considered
30 27
Hours
20 16
10
0
Mon Tue Wed Thu Fri
Estimated Work Remaining
Scalability
• Called Scrum of Scrums
• Individual team is 7 ± 2 people
– Scalability comes from team of teams
• Factors in scaling:
– Type of application
– Team size
– Team dispersion
– Project duration
• Scrum has been used on multiple 500+ person
projects
Questions?
• What makes AGILE project Success ?
Attribution
Some portions of this presentation are from:
Sunil Phaltankar
Sunil.Phaltankar@mastek.com