IT4305-Handout 3 4
IT4305-Handout 3 4
Development
BIT 2nd Year
Semester 4
Learning Outcome
After successful completion of this course
students will be able to:
Obtain a firm foundation on Agile concepts and
methodologies.
Acquire understanding of the practices and
application of Agile practices Scrum and XP
Learn how to apply the Agile framework in
software Development Projects
UCSC - 2015
Outline of Syllabus
1.
2.
3.
4.
5.
6.
7.
8.
References
1. Essential Scrum Practical Guide to the Most Popular
Agile Process by Kenneth S. Rubin.
2. The Art of Agile Development by James Shore and
Shane Warden
3. Agile and Iterative Development: A Manager's Guide by
Craig Larman, Agile Software development series,
Alistair Cockburn and Jim Highsmith, Series Editors
4. http://agilemanifesto.org
5. https://msdn.microsoft.com/enus/library/hh533841.aspx
UCSC - 2015
UCSC - 2015
Learning Outcome
Explain the significance of Scrum
Describe the usage of Scrum
Understand and apply the Scrum framework
practices
Identify the Scrum roles and their activities
Describe the Scrum artifacts and rules
Define what a Sprint is.
Describe the characteristics of a Sprint.
UCSC - 2015
UCSC - 2015
UCSC - 2015
Detailed Syllabus
3.1 What Is Scrum?
3.2 History of Scrum
3.3 Advantages of Scrum
3.4 Genomica Results
3.5 Use of Scrum
UCSC - 2015
10
11
12
4.4:Product Backlog
4.4.1 Introduction
4.4.2 Product Backlog Items
4.4.3 Good Product Backlog Characteristics
4.4.4 Grooming
4.4.5 Definition of Ready
4.4.6 Flow Management
4.4.7 Which and How Many Product Backlogs?
UCSC - 2015
13
UCSC - 2015
14
Scrum - Introduction
What is Scrum?
An Agile methodology
It is a iterative incremental process for software
development
An approach that controls the chaos of changing
requirements
A team based approach to development
The whole team travels the distance as a unit
(Rugby)
Scrum - Introduction
What is Scrum?
Scrum - Introduction
Begins by creating a product backlog
work on the most important or highest priority items
first.
Time boxed iterations,
A self-organizing, cross-functional team
At the end of the iteration, the team reviews the
completed features with the
stakeholders to get their feedback.
Based on the feedback, the product owner and team can
change what they plan to work on next and how the
team plans to do the work.
Scrum - Origin
The New New Product Development Game
all-at-once product development
Scrum Structure
http://tech.pristine.io/a-peek-into-development-at-pristine/
Why Scrum?
Delighted customers
Improved return on investment
Reduced costs
Fast results
Confidence to succeed in a complex world
More joy
Cynefin framework
While Scrum is an excellent solution for many
situations, it is not the proper solution in all
circumstances
Complex Domain
Complicated Domain
Simple Domain
Chaotic Domain
Disorder
SCRUM RULES
Teams
7 9 members (excluding PO & SM)
Cross-functional
Time-boxes
Feedback and learning through frequent delivery
Predictability
Collective and Adaptive planning to build the right product
Productivity & Quality
Via Reduction of waste
Through team and time-boxed focus
Architect
Programmer
Tester
Database administrator
UI designer...
Portfolio Planning
Determine which products to work on, in what order, and for
how long.
Product Planning
Product vision
Release Planning
Making scope, date, and budget trade-offs for
incremental deliveries.
To get an idea of what you can deliver by a fixed date
-create and estimate a sufficient number of product
backlog items
Draw a line through the product backlog
All of the items above the line are planned for the release
Time dimension
Sprint Planning
Determine the specific product backlog items that the Scrum
team will work on in the next sprint
Daily Planning
The most detailed level of planning
Team members get together and each person takes turns
stating what he/she got done since the last daily scrum and the
plan for today
Today I am going to work on the stored procedure task, and I should have that done
by lunch. Whoever is going to work on the business logic task, please keep in mind
that the business logic task is on the critical path for getting our work done this sprint
and you should be ready to work on it right after lunch.
MEETING TYPES
Release Planning
Iteration Planning
Stand-Up Meetings
Retrospective Meetings
YOU CAN HAVE OTHER MEETINGS!!!
Scrum - Phases
Pre-game
Planning - define system. Product Backlog
Architecture - high level design of system
Sprints
Iterative cycles (sprints) - new or enhanced
functionality
Post-game
Requirements satisfied - no new items or issues
Pre-game
This stage focuses on understanding the
project in terms of business and technical
requirements and setting the project
governance along with the initial project
management activities.
Pre-game cont
Key Activities
Conduct workshops to understand/clarify requirements
Document, review and refine requirements. This will generate the product
backlog.
Estimate the effort required for the phase (high-level, ball park estimate)
Required planning activities are performed for the entire phase
Key Deliverables
Software Requirements Specification (updated with use cases)
High-level Architecture & Design Document
Deployment Model
Project Schedule (high-level milestones, etc)
Quality Assurance Test Strategy / Plan
User Stories
very slim and high-level requirements artifacts.
Planning Porker
Stick to 0,1,2,3,5,8,13
Product backlog
Always do the most valuable work first.
The product owner is responsible for determining
and managing the sequence of this work
This prioritized (or ordered) list is known as the
product backlog
The development teams break down each targeted
feature in the product backlog into a set of tasks.
This, forms a second backlog called the sprint
backlog
Sprints
Each Sprint involves:
Sprint planning
Sprint preparation
Daily Activities
Sprint Demo
Sprint Retrospective
Sprint cycle
Post-game
Sprint Demo
Summary
Agile stresses four key issues:
1. Importance of self-organizing teams that have
control over the work they perform
2. Communicate and collaborate between team
members and between practitioners and their
customers
3. A recognition that change represents an opportunity
4. Emphasis of rapid delivery of software that satisfies
the customers