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.

Slides:



Advertisements
Similar presentations
Iterative Development: Done Simply Emily Lynema NCSU Libraries Code4Lib 2010.
Advertisements

Iteration Planning.
Scrum in 10 slides.
Team Development with Microsoft Scrum 1.0 Doncho Angelov Developer Evangelist Microsoft Bulgaria.
Delivering Enterprise Projects Using Agile Methods Brent Barton May 23, 2006.
Agile Development Primer – Using Roundtable TSMS in an Agile Shop Michael G. Solomon Solomon Consulting Inc.
Steve Collins Richland County IT Manager Agile.  Have Fun  Learn About Agile  Tell Some Stories.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
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 101.
CSE 403 Lecture 24 Scrum and Agile Software Development Reading:
Clinton Keith CTO, High Moon Studios Agile Methodology in Game Development: Year 3.
ECE44x SCRUM Overview slides adapted from Marty Stepp
Agile Project Management with Scrum
Intro to Scrum. What is Scrum? An answer to traditional “fixed cost / strict requirements” contracts which had very high rates of failure Recognizes the.
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
Scrum 1.
Morning – 9am Getting Started Agile Manifesto Values & Principles Scrum Framework ~~ 10:40 to 11:00 Break ~~ Scrum Roles Backlog Grooming Estimation.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Agile development By Sam Chamberlain. First a bit of history..
Introduction to Agile.
Agile Methodologies for Project Management By – Komal Mehta.
Sprint – Weekly cadence
© 2010 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. Deeper Dive Into: User Stories.
AgileCamp Presents: Scrum. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution 4.0.
1 Agile Methodology & Programming Ric Holt July 2009.
Agile Software Development Brian Link
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
What is Scrum Process? Where is it used? How is it better?
1 SCRUM 22/02/2009 By Siemen Bastiaens >>
1 - Agile in a nutshell. 2 - Basic principles ●Relies on an iterative, incremental development mechanism with continuous adaptation to customer requirements.
CSE Senior Design I Building a Plan Instructor: Mike O’Dell Several of the slides in this module are a modification and amplification of slides prepared.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Copyright © 2012 by Mark J. Sebern Scrum Overview (from
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Het einde van het beroep van tester - Wat Agile, DevOps en Scrum betekenen voor het testvak -
Presentation from: See Also: scrumreferencecard.com/ScrumReferenceCard.pdf.
Copyright © by Mark J. Sebern Software Engineering Process I SE 2800.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
PV213 EIS in Practice: 06 – Development process 1 PV213 Enterprise Information Systems in Practice 06 – Development process.
Agile 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
Introduction to Agile. Introduction Who is this guy?
AGILE PROJECT MANAGEMENT WITH TEAM FOUNDATION SERVER 2010 Brian Keller Microsoft.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta.
Barnes & Noble Alonda Morgan. Agile UX Agile.
Embedded Systems Software Engineering
Agile Methods SENG 301.
AGILE SCRUM METHODOLOGY
Scrum.
Agile Training Day 2 November 17, 2015.
SCRUM.
Agile Training – Agile Overview
SCRUM Scrum and Agile Software Development Reading:
Agile Software Development Brian Moseley.
By: By: Agile Scrum Master Online Training.
Project Management and the Agile Manifesto
Summarizing Our Models to Date
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Looking at XP, Scrum, Kanban or Lean
Scrum in Action.
Agile Development.
A quick intro to SCRUM and KANBAN By John Voris.
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

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 dozens of projects w/agile been through 100s of sprints agile bio

references mike cohn, agile alliance, scrum alliance, crisp blog,

a great time to be in software development agile development is a well established practice agile adoption is high many companies practicing agile development many companies are in agile transition

software anthropology empowers the team leverages collaboration focus on organizing your work continuously improve adoption of best practices creating a cadence preface

software development notoriously difficult to deliver on-time on-budget quest for determinism estimation models formalized processes organizations to manage process documentation driven

differences command & control document driven serial in nature big upfront design test late bureaucratic Heavy, rigid process team & roles self managing team high bandwidth communication iterative evolutionary/iterative design test early collaboration Lightweight, tailorable process team & roles non-agile development agile development

waterfall system requirements detailed requirements functional specification high level design detailed design code test delivery system requirements specification software requirements specification marketing requirements document functional specification high level design document detailed design document code complete milestone qa acceptance document product launch

scrum design + code + testplandefinereview iterate user stories functional software

agile manifesto 2001 individuals and interactions over processes and tools working software over comprehensive documentation customer collaboration over contract negotiation responding to change over following a plan

agile tenants build software incrementally deliver value quickly commitment driven self organizing and managing teams continuous improvement high bandwidth communications evolutionary design customer intimacy success is functioning software maintain a sustainable pace

scrum oopsla 1995, schwaber & southerland lightweight process framework ability to incorporate best practices inspection and adaptation - error correction iterate and refactor time-boxes collocated teams quality never sacrificed for dates shippable product quality at each sprint definition of done

done code complete all code checked into source code control (TFS) all tests checked into source code control passes coding standards (stylecop) passes peer code review (team review) passes static code analysis (ndepend) builds on build server (tfs) builds with no warnings in pre-build area (shelf set) all unit test & test automation executes in dev/qa/pre-prod environments all unit test pass unit test code coverage is 65% no priority 1 defects no profiling issues (dotTrace) documented accepted by product owner

scrum team pigs (no chickens) team size 7-12 pigs cross functional sm, po, dev, qa, ia, design self managing collocated

roles product owner classically the product manager maximizes roi of each sprint manages the product backlog scrum master development manager or project manager enforces process, insures process adherence impediment removal facilitates communications scrum team cross functional team that builds the product maintains sprint backlog

user stories a feature description as a, i want so that invest independent negotiable valuable to users estimate-able small testable

product backlog the new age requirement specification/mrd/prd live repository of all project work user stories defects managed by product owner contributed to by anyone prioritized estimated by scrum team story points subset moved to sprint backlog; every sprint

scrum basic mechanics Product Owner Defining user stories Refines user stories Release planning User Story Estimation Scrum team together estimates each user story (points) Task Breakdown Scrum team together creates tasks (hrs) for each user story Sprint PlanningSprint ReviewDaily Scrum Daily meeting Standup Same time, same place 15min time-box All Scrum team members Task movement Answer 3 questions Accomplished in last 24hrs Working on next 24hrs Impediments Review Burndown … Demo PO demos each completed user story for acceptance Retrospective Scrum team does a post mortem on the sprint Product Backlog Sprint Backlog 2 Time-boxed meetings User Story Estimation Task Breakdown 2 Time-boxed meetings Demo Retrospective New age MRD/PRD Live repository

flow

sprint planning first day of the sprint product backlog - n hour time-boxed backlog walkthrough estimate and prioritize stories sprint backlog - n hour time-boxed list tasks for implementing stories assign hours and resources

estimation story points relativistic educated guessimate of effort not directly correlated to time non-linear numbers like fibonacci sequence t-shirt sizing (xs,x,m,l,xl) use for sprint planning (capacity) epic story too large to fit in a sprint broken down into smaller stories

estimation process product backlog estimation discuss of each story planning poker - team until backlog empty or time-box expires prioritize – by po assign stories to sprint backlog based on teams velocity assume initial velocity as 65% assign tasks to sprint stories <8 hour tasks *assign owners adjustments move stories back if velocity is exceeded

planning poker iterative approach adapted from delphi entire scrum team participates everyone has a deck of story point cards user story discussion everyone selects a card privately cards are revealed discuss outliers re-estimate till convergence or timebox

sprint backlog repository of work for each sprint user stories broken down into tasks task granularity 8-16hrs managed by scrum team updated daily, in real-time

composition

electronic task board

physical task board

daily scrum daily meeting same place, same time time-boxed 15 minutes standup $1 for being late no one can interrupt the current speaker keep details post daily scrum 3 questions what did you accomplish in the last 24 hrs? what are you going to work on in the next 24hrs? any impediments? review burndowns post scrum

daily scrum

burndown chart

sprint review last day of the sprint demo - n hour time-boxed demonstrate sprint accomplishments story acceptance walk through log defects for next sprint retrospective - n hour time-boxed what went right? what went wrong? what can we do to improve?

best practices relativistic estimation evolutionary design vertical slices continuous integration test early, test often high flow eliminate waste fail quickly shorter sprints test driven development pair programming peer code review information radiators

scrum anti-patterns manager estimates work developers not doing their own task breakdowns untrackable sprints no customer value in sprint partially complete sprints story or task creep in sprint backlog no definition of done working on tasks not in the sprint backlog qa under utilized testable software completed late in the sprint lack of peer accountability or commitment impediments not immediately addressed floating timeboxes

continuous integration build automation system builds are triggered by source code check-ins unit tests are executed as part of each build tests are executed in the context of a profiler static code analysis each build is versioned each build is deployed test automation scripts execute

real world agile web development site development team composition 6 developers 2 qa engineers 1 ia 1 designer 1 scrum master 1 product owner

site development established cadence 1 week sprints cascading deliverables 5 weeks of ia & design 6 weeks of development ~390 us, ~4000 tasks velocity: 69-79% wireframing & user stories graphic design/site layout development

development environment rally for agile lifecycle management product backlog sprint backlog project boards burndowns & metrics microsoft shop c#,.net framework 4.0 asp.net mvc 3.0 castle windsor di endeca search engine cruisecontrol.net subversion ndepends nunit, selenium

page template inventory n page types home department brand browse search results best selling special, gift, promotion collection sku cart / account help and other static content

page decomposition page elements header footer left navigation right spine body

page element decomposition header (user controls) main image primary navigation secondary navigation search minicart account/sign in breadcrumbs

sashimi slices vertical sliver presentation tier mvc user controls business logic/application tier injected via di rules for content acquisition/filtering/sorting page rules - seo, microformats, analytics, remarketing data tier content retrieval

release planning 4hr timebox release 1 minimal deliverable feature set release 2 defects international shipping reporting release 3 site enhancements

sprint planning 2hr timebox consume 2-4 page types per sprint address higher risk stories first critical tasks addressed first

sprint review 2hr timebox capture defects add to product backlog retrospective iterate until product backlog is empty

whats next

questions