An introduction for PMPs

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
E X treme Programming & Agile Modeling Copyright © 2003 Patrick McDermott UC Berkeley Extension
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
Agile Project Management with Scrum
Agile development By Sam Chamberlain. First a bit of history..
Agile Architecture? Paul Lund 24 th Nov Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it.
Agile Methods.
Agile Software Development
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
The Agile Alliance By Mark Rucker. The Agile Alliance What is the Agile Alliance? History of the Agile Alliance What is the Agile Alliance today? The.
Does it work with Data Warehouses?. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we.
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
Agile Development Methods: Philosophy and Practice
How Agile Are You? Larry Apke Agile Expert
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.
Software Engineering Modern Approaches
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 4 Agile Development
"The thinking it took to get us into this mess is not the same thinking that is going to get us out of it."
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Project Workflow. How do you do it? -Discussion-
Chapter 5 애자일 개발 Agile Development
CS1: Classic Software Life Cycle “Waterfall” method: 1.Requirements/Analysis Determine the problem to be solved – client-centered 2.Specification.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
1 11/21/2015 ã 2007, Spencer Rugaber Agile Manifesto February, 2001 XP, SCRUM, DSDM, Adaptive Software Development,
UX meets XP. Overview of core approaches to creating interactive software Waterfall, iterative design, Agile Hybrid methods of evaluation H&P Chapter.
Why (or When) Agile Fails Creating high performance software delivery teams.
Jeff Briggs Senior Consultant Capstone Consulting.
Software Engineering (CSI 321) An Agile View of Process 1.
#2-What is Agile? Why Agile? Subtopics 1- Agile motivation for software / systems 2- Agile tenets and principles 3- Agile as a risk mitigation strategy.
- Discussion of Chapter 1 in Martin and Martin.  We are uncovering better ways of developing software by doing it and helping others do it. Through this.
Chapter 3 Agile Development
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
The Agile Manifesto Some thought starters for Ogilvy on how to work with Agile and SCRUM approaches to managing projects.
Agile Introduction Emerson Murphy-Hill. Agile Manifesto/Alliance XP, SCRUM, DSDM, Adaptive Software Development, Crystal, FDD February 2001 (Snowbird,
By: Isuru Abeysekera AGILE DEVELOPMENT. WHAT IS AGILE DEVELOPMENT? Broad term used to describe several methods for a development process Introduced in.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Project Workflow.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Project Management and the yin & yang of
Manifesto for Agile Software Development
Introduction to Agile Software Development
Principles for Agile Development
Agile Training Day 2 November 17, 2015.
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Teaching Agile Methods CSEE&T 2017, Savannah, Georgia
Chapter 5 Agile Development
Software Engineering (CSI 321)
Project Management and the Agile Manifesto
Agile Software Development Paradigms
Agile Development Agile Development Damian Gordon Damian Gordon.
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
The Manifesto for Agile Software Development
Projects, Assignments, and other Assessments
Agile Development.
Presentation transcript:

An introduction for PMPs Agile An introduction for PMPs

Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods piloted XP, Scrum, FDD, etc 2001: Agile Alliance created

The Agile Manifesto (2001) We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas www.agileAlliance.org

Principles of Agile Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. http://agilemanifesto.org

Principles of Agile Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly http://agilemanifesto.org

Why should we change to Agile? Improve productivity with focused teams Meet quality requirements by getting to “done done” at the end of each iteration Increase customer satisfaction by engaging endusers/beta sites early Increase project transparency with demo’ing & delivering working software early and often

Lots of Agile methods & practices They are all similar!!! Scrum Dynamic System Development Method (DSDM) Extreme Programming (XP) Test Driven Development Lean Software Development Crystal Feature-driven development (FDD) etc

Lots of Agile methods & practices Scrum – popular (US) project management method Dynamic System Development Method (DSDM) – popular (Europe) project management method Extreme Programming (XP) – pair programming, and more developer best practices + story driven Test Driven Development – design the test framework before writing all the code Lean Software Development – learnings from manufacturing’s lean six sigma Crystal – a set of maturity models etc

Agile Practice Penetration @Microsoft Source: Usage and Perceptions of Agile Software Development in an Industrial Context, Begel & Nagappan, Sept 2007, n=487

Let’s talk about Scrum

Scrum Framework Small cross-functional teams 7 people +/- 2 Series of Sprints (iterations), 2-4 weeks in duration Each Sprint produces a working increment of software To start a Sprint the team selects & commits to stories from the Product Backlog in priority order To close of a Sprint, we demo/evaluate progress Between Sprints, the Product Owner can modify & reprioritize the Product backlog

Product backlog Prioritized list of features represented as stories Can adjust between iterations as needed Managed by Product Owner Priorities are driven by business value ROI Some stories may be for technical infrastructure Priority Title User Story 1 Agile for PMP FAQ As a PMP new to agile, I need a FAQ to answer my basic questions around agile and how to get started based upon a ‘common’ agile issue or question (e.g. What PMBOK processes does Agile replace or modify? ) 2 Scrum Master Definition As a PMP, I need introductory material for the Scrum Master new to agile so that I understand this new role, how to best contribute in this role, and what is expected of me.

Sprint Backlog A prioritized list of stories taken from the top of the product backlog based on the team’s estimate of what can be completed during the next iteration Created at the start of an iteration/sprint A story can be de-scoped (move back to product backlog) New stories should not be added during the Sprint

Burndown chart One of many “information radiators,” ie dashboard pieces During Scrum, progress on tasks are tracked then reported publicly Manage tasks, estimates and burndown charts

Scrum Meetings Estimation Meeting Planning Meeting Team meets with product Owner to discuss Backlog Items and assign a relative size value to each. Planning Meeting Occurs at the start of each sprint (iteration). Two parts. 1. Product manager and team meet and agree the next product increment. 2. Team then determines the tasks for each backlog item. Daily Scrum Meetings aka Daily Standup Maximum 15 minutes. Team meets to update the task chart and report on progress and impediments. What did you do yesterday, today, issues? Review Team meet with Product Owner at the end of the sprint to demonstrate the working software from the sprint. Retrospective Team meets with Scrum Master to inspect and adapt on their process. © 2006, Tobias Mayer/Agile Thinking - http://agilethinking.net Slide Credit:

Agile Iteration Cadence Requirements Are Refined Demo & Retro Planning & Design Detailed Iteration Dev Feature Priority 1 Accept Dev Feature Priority 4 Accept Auto. Tests Feature 1 Auto. Tests Feature 4 Initial Elaboration Requirements With Tests Dev Feature Priority 2 Accept Dev Feature Priority 5 Accept Auto. Tests Feature 2 Auto. Tests Feature 5 Within an iteration you definitely want to get into a good rhythm. There needs to be just enough elaboration ahead of time so that the team can accurately estimate dev, doc and testing tasks. An iteration planning meeting is held at the beginning to go through what is planned. The team then tasks out to get a detailed level of estimation. This allows the team to know what can fit into the iteration. Based on previous velocity, you can determine what fits. A rank order for the story cards gives the order in which a feature needs to be developed. The goal is to get the most you can but it is better to get some all over the goal line as opposed to working on all of them at once. In this illustration you would get Feat one developed, tested and accepted before moving onto the next feature. At the end you can go over the features and demo the results. You can also hold a retrospective to talk about things to change – to start doing and to stop doing Dev Feature Priority 3 Accept Auto. Tests Feature 3 Iteration N-1 Iteration N+1 Iteration N Slide Credit:

Scrum on One Page

Done Done Done Coded – it works on the developer’s box Verified – Unit tested and they work on Integration box Validated – accepted by ProductOwner as being what was needed http://danube.com/blog/dan_rawsthorne/done_done_done_done

Technical Debt By not enforcing high quality standards in the definition of “Done.” Cutting corners to achieve a higher velocity and meet impossible timelines leads to build up of low quality, unmaintainable code. Death spiral: As the maximum velocity of system goes down, even more corners are cut to compensate until the velocity approaches 0. Key people move on to make new messes elsewhere. * Ref: http://danube.com/blog/kanemar/technical_debt_and_the_death_of_design_part_1.html

CONSTANT COLLABORATION AND COMMUNICATION ARE KEY Scrum Roles Product Owner or PO team Responsible for managing and prioritizing the Product Backlog, and for accepting the software at the end of each iteration CONSTANT COLLABORATION AND COMMUNICATION ARE KEY Scrum Master The Team Responsible for shepherding the team, removing impediments, keeping the process moving, and socializing scrum to the greater organization Responsible for estimating size of backlog items, committing to increments of deliverable software – and delivering it. Tracks own progress (with Scrum Master). Is self-organizing – but accountable to the product owner for delivering as promised. Chickens Users Stakeholders/Sponsors Managers

Requirements process Progressive elaboration Themes Marketing/Customer Requirements Headlines Epic User Stories User Stories Product Backlog / Features

Headlines (Epic) As a user, I want to schedule a service appointment. Breakdown into user stories: As a returning user, I want to login to the service department website As a user, I want to view recommended service for my vehicle As a user, I want to select an appointment date and time for service As the system, I want to send the user a confirmation email once service is scheduled Slide Credit:

What’s Different about Testing in Agile? Just-In Time Requirements Elaboration No Functional Spec waterfall docs to drive test planning Requirements and Test Cases developed in parallel or test first strategy More Frequent Iterations, More Frequent Releases Testing needs to happen Early and Often Frequent to continuous regression testing High need to automate nearly everything Everyone needs to Test Two Levels of Testing Iteration Vs. Release testing patterns Slide Credit: