0% found this document useful (0 votes)
98 views44 pages

IT4305-Handout 3 4

Rapid Software Development handout explaining about SCRUM.

Uploaded by

Des McMorrow
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
98 views44 pages

IT4305-Handout 3 4

Rapid Software Development handout explaining about SCRUM.

Uploaded by

Des McMorrow
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

IT4305: Rapid Software

Development
BIT 2nd Year
Semester 4

IT4305 - Rapid Software Development

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

IT4305 - Rapid Software Development

Outline of Syllabus
1.
2.
3.
4.
5.
6.
7.
8.

Introduction to Agile Software Development


Agile Principles
Introduction to Scrum
Core Concepts in Scrum
Scrum Roles
Scrum Planning
Sprinting
Alternative Approaches to Agile Software
Development
UCSC - 2015

IT4305 - Rapid Software Development

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

IT4305 - Rapid Software Development

IT4305: Rapid Software Development

Introduction to Scrum & Core


Concepts in Scrum
Duration: 13 hours

UCSC - 2015

IT4305 - Rapid Software Development

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

IT4305 - Rapid Software Development

Learning Outcome Cont


Choose the most suitable time span for a
Sprint.
Explain the term called Timeboxing.
Discuss how the requirements are handled in
a Scrum project.
Explain how and when to use User Stories
Describe and practice how to handle
nonfunctional requirements and knowledgeacquisition in a scrum project.
UCSC - 2015

IT4305 - Rapid Software Development

Learning Outcome Cont


Explain the importance of the Product Backlog
and Product Backlog characteristics.
Describe how to determine which and how
many backlogs should exist.
Explain Backlog Grooming.
Describe the concepts of estimation and
velocity.

UCSC - 2015

IT4305 - Rapid Software Development

Learning Outcome Cont


Discuss the items that should estimate and
when and how to estimate them.
Describe how to estimate product backlog
items.
Explain velocity and how to use a velocity
range.

UCSC - 2015

IT4305 - Rapid Software Development

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

IT4305 - Rapid Software Development

Detailed Syllabus Cont


4.1: Scrum Framework
4.1.1 Introduction
4.1.2 Scrum Roles
4.1.2.1 Product Owner
4.1.2.2 Scrum Master
4.1.2.3 Development Team

4.1.3 Scrum Activities and Artifacts


4.1.3.1 Product Backlog
4.1.3.2 Sprints
4.1.3.3 Sprint Planning
4.1.3.4 Sprint Execution
4.1.3.5 Daily Scrum
4.1.3.6 Done
4.1.3.7 Sprint Review
4.1.3.8 Sprint Retrospective
UCSC - 2015

11

IT4305 - Rapid Software Development

Detailed Syllabus Cont


4.2 :Sprints
4.2.1 Introduction
4.2.2 Timeboxed
4.2.3 Short Duration
4.2.4 Consistent Duration
4.2.5 No Goal-Altering Changes
4.2.6 Definition of Done

4.3:Requirements and User Stories


4.3.1 Introduction
4.3.2 Using Conversations
4.3.3 Progressive Refinement
4.3.4 What Are User Stories?
UCSC - 2015

12

IT4305 - Rapid Software Development

Detailed Syllabus Cont


4.3.5 Level of Detail
4.3.6 INVEST in Good Stories
4.3.7 Nonfunctional Requirements
4.3.8 Knowledge-Acquisition Stories
4.3.9 Gathering Stories

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

IT4305 - Rapid Software Development

Detailed Syllabus Cont


4.5: Estimation and Velocity
4.5.1 Introduction
4.5.2 What and When We Estimate
4.5.3 PBI Estimation Concepts
4.5.4 PBI Estimation Units
4.5.5 Planning Poker
4.5.6 What Is Velocity?
4.5.7 Calculate a Velocity Range
4.5.8 Forecasting Velocity
4.5.9 Affecting Velocity
4.5.10 Misusing Velocity

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?

The work itself is performed in short, time boxed


iterations( usually range from a week to a month)
During each iteration, a self organizing, cross
functional team does all of the worksuch as
designing, building, and testing

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

A term borrowed from the sport of rugby


1993 : Jeff Sutherland and his team at Easel Corporation
The first paper on Scrum at OOPSLA 1995

Scrum can be used to


develop different types of
products or to organize the
flow of various types of
work

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

SCRUM ROLES SCRUM master


Be a facilitator
Remove obstacles faced by the team
Assist the team in achieving the iteration goals
Coach the team on SCRUM principles
.

SCRUM ROLES PRODUCT OWNER


Share the product vision/goals with the team
Identify the requirements
Prioritize the requirement
Be the GO TO person for requirement
clarifications
Provide feedback
Negotiate with stakeholders

SCRUM ROLES Development Team


Traditional software development teams has various
individuals with different skills and job roles.

Architect
Programmer
Tester
Database administrator
UI designer...

The SCRUM development team is a diverse, cross-functional


collection of these roles who are responsible for designing,
building, and testing the desired product.

Portfolio Planning
Determine which products to work on, in what order, and for
how long.

Product Planning
Product vision

provides a clear description of the areas in which the stakeholders get


value.

High-Level Product Backlog


Product Roadmap
The outputs of product-level planning became inputs to portfolio planning

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

Plan just in time and just enough

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

Release PLANNING STEP 1


Break the Requirements into
EPIC
Epics are large user stories, typically ones which are too
big to implement in a single iteration and therefore
they need to be disaggregated into smaller user stories
at some point.

User Stories
very slim and high-level requirements artifacts.

Writing user stories


Write in the voice of the customer
Use the following template
As a <role>,
I can <activity>
so that <business value>

Writing user stories cont


Students can purchase monthly parking passes
online.
Parking passes can be paid via credit cards.
Parking passes can be paid via PayPal .
Professors can input student marks.
Students can obtain their current seminar schedule.
Students can order official transcripts.
Students can only enroll in seminars for which they
have prerequisites.
Transcripts will be available online via a standard
browser.

Release PLANNING STEP 2


Lets SIZE !!!
Estimates are too difficult early on so lets first
have a sense of the complexity

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

During the sprint


Once team has committed, no changes to Sprint scope
No Changes to Deliverable
Details will emerge during Sprint, but no new work or
substantially changed work
Customer can terminate the Sprint if necessary
No Changes to Sprint Duration
Sprint ends on planned date whether team has completed
its commitment or not
Note: - Customer can make any changes to the remaining
Product Backlog before the start of the next Sprint

Post-game
Sprint Demo

A walkthrough of all the functionalities developed in


that particular sprint in order to collect client feedback.
Sprint Retrospective

A meeting where all team members (including the


client) reflect about the past sprint; especially on what
went right?, what went wrong? and what could be
improved in the next sprint?
Deliverables
Working and tested software (as per the sprint backlog)
Sprint Release Notes
Test Report

HOW DO we monitor progress?


Burn-down charts
Iteration
Release

VELOCITY is a key metric.


Number of total story points / One iteration

Burn down charts

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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy