Introduction to Scrum for Software Project Management

Slides:



Advertisements
Similar presentations
The Road to Agile From the Bottom Up Kevin Malley Tracey Clark 1 March 20 th, 2013 SWOQG.
Advertisements

Armstrong Process Group, Inc. Copyright © , Armstrong Process Group, Inc., and others All rights reserved Armstrong Process.
Objectives To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process.
practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered.
Iteration Planning.
S-Curves & the Zero Bug Bounce:
Chapter Extension 16 Agile Development.
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
International Scrum Institute
Delivering Enterprise Projects Using Agile Methods Brent Barton May 23, 2006.
Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
Agile and Scrum: Executive Summary June 2, 2011 Bob Schommer, CSP, PMP, MCTS Senior Project Manager Skyline Technologies, Inc.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Agile Project Management with Scrum
Scrum. An evolutionary/iterative/incremental/agile software process The main roles in Scrum are: – Scrum team: Team of software developers – Scrum master.
Jump into Release 1 Pepper. Goals for End of Class Project delivery Diagrams (new class & firm state, use, context, sequence) Agile cycles with SCRUM.
Project Management with TFS 1. What TFS offers for Project Management? Work Item tracking 2 Portfolio backlog Backlog Issue tracking Feature Product Backlog.
The Business Analyst Role in Agile Projects
© Timothy Korson Page 1 Scrum by Dr. Korson For CPTR 209 Software Engineering Version
A Portrait of Scrum Project Management By Nader Khorrami Rad Project Management Professional (PMP) Certified ScrumMaster (CSM) Professional Scrum Master.
Scrum 1.
Agile development By Sam Chamberlain. First a bit of history..
05 | Define End Value for the Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
Fundamentals of Information Systems, Second Edition
Managing a Project Using an Agile Approach and the PMBOK® Guide
The Product Owner prioritizes the requirements or features through feedback from the Stakeholders & interaction with the core team The Team.
Trusted IT Group. The challenge: 40 active, concurrent IT projects  Unsatisfactory Project Delivery.
What is Scrum Process? Where is it used? How is it better?
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
SCRUM introduction 6 April Scrum Team are known as pigs because they’re committed to delivering Sprint Goal People who are involved but not dedicated.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
Introduction to Scrum for Project Managers cPrime, Inc. cPrime Training Center Learn Copyright 2010.
SCRUM.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CSE Senior Design II Timebox Development Mike O’Dell Based on an earlier presentation by Bill Farrior, UTA, modified by Mike O’Dell.
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
#msdevcon Community Track IMPLEMENTATION OF SCRUM Bernardin Katić Insa Investment Software AG.
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Agile Project Management
The Strategic Role of Information Development in Continuous Delivery
Scrum.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Agile Scrum Management
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Chapter 2: The Project Management and Information Technology Context
Product Backlog List of things that needs to be done to make the product come into existence 
Chapter 3: The Project Management Process Groups: A Case Study
AGILE METHODOLOGY MANAGE PROJECT USING AGILE SCRUM.
Scrum MODULE 3 – Part 3.
Burn Down charts for Project Management
Teaching slides Chapter 3.
Teaching slides Chapter 1.
Summarizing Our Models to Date
Attend|Learn|Grow Taking Your Career to the Next Level
Scrum - Plan a Sprint Great Video (but added release /sprint layer)
Frameworks in project management
Sprint Planning April 2018.
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Are you measuring what really counts?
Presentation transcript:

Introduction to Scrum for Software Project Management Kevin Thompson, Ph.D. Project Management Professional Certified Scrum Practitioner Certified Scrum Master http://www.linkedin.com/in/kevinthompsonphd -- kevin@kethompson.org

or, “Dude, where’s my Gantt Chart?”

What is the Purpose of this Talk? It is not to teach Scrum. The philosophy of Scrum is simple. The execution is not. Learning Scrum adequately takes days, not half an hour. It is to provide a perspective on Scrum that makes sense to a trained Project Manager. Scrum did not arise in a formal PM context. It can seem alien, or wrong, to Project Managers. It uses unfamiliar terms It makes unfamiliar optimizations and tradeoffs It is also to show how Scrum arises from basic principles. Define success. Define failure. Optimize process for success.

What do Success and Failure Mean in Software Development? Success: Provide the right features to the customer, at the right time Failure: Provide the right features at the wrong time, or wrong features at any time Too many “software failures” means “company failure!”

What is the “Right Time?” Some apps (e.g. business Web apps) are subjected to a continuing stream of feature requests Requests come in over time Features are desired when requested Some apps (e.g. flight control software) may have a fixed set of features Requirements are fairly static Features may not be usable until platform is ready We focus on Scenario 1 here

How does Success Relate to the Schedule of Feature Delivery? Ideal: Provide every useful new feature the day it is requested Key elements of ideal solution Instant turnaround (zero time to feature delivery) Maximum responsiveness (“Yes” to every request) Note: Other definitions of success are possible! They could lead to optimal processes that are different from Scrum.

How can we Approximate the Ideal of Success in the Real World? Instant turnaround  Work in short development cycles Within cycle, reduce risk, maximize delivered value by finishing each feature before starting next Maximum responsiveness  Prioritize feature requests into rank order, and “burn down” the list from the top Revise the ranked feature list before each development cycle, based on current evaluation of customer needs

Does Scrum Approach the Ideal? It attempts to, because Scrum is a project-management framework designed to address rapidly-changing customer needs. Scrum is optimized for projects where Needs change quickly (scope is very fluid). Most implementation can be done quickly. Long lead times are not usually a major issue. Project is cyclic (always starts over in a few weeks, so new needs can be addressed then), not linear (only one chance to “do it right”). Success is measured by customer satisfaction with responsiveness and turnaround time

How does Scrum Differ from Classic “Waterfall” Project Management? Freezes scope, estimates schedule Adjusts schedule first, scope second, as needed to meet target dates. Plans all features, designs all features, implements all features, tests all features, fixes all bugs, in that order Scrum Freezes schedule, estimates scope Never changes schedule. Adjusts scope, as needed, to meet target dates. Plans one feature, designs one feature, implements one feature, tests one feature, fixes bugs for one feature, then repeats for next feature

Are Scrum and Waterfall Similar? Yes, on paper, but no, in practice. The key difference is about “Feature Completion” Scrum process finishes one feature at a time (all the way through testing). If specified scope takes 2X more time than expected, at least some features will be ready to ship. Waterfall process parallelizes work across features at each stage, finishing all features at end. If specified scope takes 2X more time than expected, it may be that no features will be ready to ship, as all are still in process. Other differences have more to do with customary practices than fundamental concepts (but in practice, make a huge difference). Scrum is like “one waterfall per feature”, end-to-end through the development cycle.

How does Scrum Differ from Normal Project Management? It doesn’t, really. It just makes a less-familiar tradeoff in the “iron triangle” of scope, schedule, and resources. Most non-software projects have a specified scope. One estimates schedule, and adjusts schedule to guarantee the scope. Scrum projects have a specified schedule. One estimates scope, and adjusts scope to guarantee the schedule. It also uses terms that seem peculiar to Project Managers.

Why not Specify Schedule and Scope? Software development involves constant invention, not repetition of standard steps. Accurate effort estimation is impossible. Thus Scope and Schedule cannot both be guaranteed. Attempts to constrain both yield high uncertainty and high risk! The risk is to the project’s criteria for success, which is customer satisfaction with responsiveness and turnaround time. Risk is minimized if only one variable is constrained. Scrum chooses a predictable schedule over a predictable scope. We are much more likely to deliver on a commitment to schedule than on a commitment to scope. We communicate the schedule commitment to customers, and meet it.

What are the Key Scrum Concepts? Software requirements are either chunked into small sets called “stories” (often in narrative form), or are bug-fix requests. Small teams (3—7 people) work in short “sprints” (2—4 weeks) to implement stories in rank order. Requirements are frozen when sprint starts—no change requests allowed! Teams self-organize to best apply member skill sets (coding, test development, testing, etc.). PM does not assign tasks. Team members collaborate to complete stories quickly, instead of working on separate stories in parallel. At end of sprint, completed stories are “shipped,” incomplete stories are not. No exceptions! Schedule is not extended to complete work.

Scrum has New Names for Old Concepts Project Managers say Schedule Scope Work Breakdown Structure Productivity Estimate to Complete Scrum Masters say Sprint Sprint Backlog Task Breakdown Velocity Burndown Chart

Scrum has New Names for Process Groups Project Managers say Plan Execute Monitor & Control Close Scrum Masters say Define Backlog, Plan Sprint Develop and Test Move Stickies, have Daily Scrums Demo, Release, have Retrospective

Scrum has New Names for Roles Scrum Master Manages the process (enforces, tracks, expedites problem resolution) Runs daily Scrum and Sprint Planning Meetings Usually a Project Manager Product Owner Responsible for requirements (new features, bug fixes) and release dates Works with customers to define user-facing features Collaborates with engineers, QA, Services, and Support personnel, to work out order of implementation of all requests Usually a Product Manager Team Self-organizes cross-functional members to implement and test features Usually software & test engineers, database architects, UI developers, etc.

Scrum has a Different Concept of Schedule MS Project schedules are possible, but not of much value. A Scrum schedule is really a cadence, i.e. a repeating sequence of activities and events. Content of cadence varies by role or organization: Team, Product Management, Customer Support, Professional Services, etc.

E.g., a Development Team Cadence might Repeat Every 1—3 Weeks

Summary Scrum is a particular Project Management framework for software development, with A short, fixed schedule per cycle, with adjustable scope A repeating cadence of events, milestones, and meetings A practice of implementing and testing requirements (stories and bug fixes) serially, to ensure some work is release-ready after each cycle Scrum uses standard project-management concepts. Scrum addresses customer satisfaction by optimizing turnaround time and responsiveness to requests.

Q & A Questions? Answers!