Agile with XP and Scrum



Similar documents
XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

CSSE 372 Software Project Management: More Agile Project Management

Agile and Secure: Can We Be Both?

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad

Introduction to Agile and Scrum

Software processes that are:

Agile in Financial Services A Framework in Focus

Waterfall to Agile. DFI Case Study By Nick Van, PMP

D25-2. Agile and Scrum Introduction

Agile Software Development Methodologies and Its Quality Assurance

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

When is Agile the Best Project Management Method? Lana Tylka

Agile Development Overview

Issues in Internet Design and Development

"Bezpieczny Projekt"

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

Introduction to Agile Software Development. EECS 690 Agile Software Development

How To Plan A Project

An Agile Project Management Model

Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project.

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile:

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

Agile processes. Extreme Programming, an agile software development process

Introduction to Agile Software Development Process. Software Development Life Cycles

Agile Scrum Workshop

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

How To Understand The Limitations Of An Agile Software Development

Agile Project Management: Adapting project behaviors to the software development environment

Introduction to Agile Scrum

Extreme Programming, an agile software development process

Extreme Programming, an agile software development process

Comparison and problems between Traditional and Agile software development methods

Mastering the Iteration: An Agile White Paper

Introduction to extreme Programming (XP)

Agile Software Development

Agile QA s Revolutionary Impact on Project Management

Software Development Life Cycle (SDLC)

Agile Methodologies and Its Processes

Introduction to Agile

Chapter 1 - Introduction

Laboratório de Desenvolvimento de Software

Software Quality and Assurance in Waterfall model and XP - A Comparative Study

Agile software development

Introduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D.

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

History of Agile Methods

Agile Project Management

Agile Methods for Analysis

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

Business Analysts in an Agile World. Christian Antoine

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries

Agile Project Management

Software Development with Agile Methods

Agile Development. Perspectives from the Texas Legislative council

Development. Lecture 3

Agile Software Development

MANAGEMENT S ROLE 1/16/ Copyright 2001, Net Objectives

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

Models of Software Development

Agile Project Management By Mark C. Layton

A Viable Systems Engineering Approach. Presented by: Dick Carlson

EXIN Agile Scrum Foundation

Extreme Programming. Sergey Konovalov and Stefan Misslinger. May 23, 2006

Scrum Methodology in Product Testing : A Practical Approach

Agile Methodologies. Venkat Subramaniam.

CSSE 372 Software Project Management: Managing Agile Projects

Agile Metrics. It s Not All That Complicated

Agile project management: A magic bullet?

Agile Methods. Introduction to. AAddison-Wesley. Sondra Ashmore, Ph.D. Kristin Runyan. Capetown Sydney Tokyo Singapore Mexico City

Generalizing Agile Software Development Life Cycle

Agile So)ware Development

Challenges in adopting Agile

Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Software Requirements and Specification

An Introduction to Extreme Programming

Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD

From Agile by Design. Full book available for purchase here.

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

1. CMMI and Scrum TWO BRANCHES OF SOFTWARE DEVELOPMENT

A Capability Maturity Model (CMM)

AGILE SOFTWARE DEVELOPMENT

Applying Agile Project Management to a Customized Moodle Implementation

T14 "TIMELINES, ARTIFACTS AND OWNERS IN AGILE PROJECTS" Hubert Smits Rally Software Development BIO PRESENTATION 6/21/2007 1:30:00 PM

AGILE & SCRUM. Revised 9/29/2015

Capstone Agile Model (CAM)

Transcription:

Agile with XP and Scrum Amit Goel National Agile Software Workshop @ Indore Agile India Conference Agile Software Community of India

Disclaimer and Credits Most of material in this presentation has been inspired (please read as reused ) from a number of sources, I take it as Don t reinvent the wheel and Spreading the good words around The roll of honor for Credits: Scott Ambler Martin Fowler Alistair Cockburn Craig Larman Jim Highsmith XP Scrum Thoughtworks Kent Beck 9/23/2007 11:23 PM Agile Software Development Amit Goel 2

Rules of the Game Mobile Phones Keep your mobile phones in silent mode Sit near exit if you expect to interrupt the session for whatsoever Side-talks Side conversations are a strict no-no Raise your hand if you wish to make a point Interaction Do not hesitate to ask any questions Do not wait until the end of session for questions Innovation A lot of new ideas would be presented, use at your own risk I am very blunt at times, kindly bear with me 9/23/2007 11:23 PM Agile Software Development Amit Goel 3

Agenda Setting Expectations What is Agile extreme Programming Scrum 9/23/2007 11:23 PM Agile Software Development Amit Goel 4

What is Agile 9/23/2007 11:23 PM Agile Software Development Amit Goel 6

Software Development Paradigm Problem Predictable Manufacturing Waterfall cycle Big up-front specs Speculative plans Estimations Software Development is a Domain of Inventive, High-Change, High-Novelty Work A Craft Craig Larman 9/23/2007 11:23 PM Agile Software Development Amit Goel 7

Introducing Agile Agile is an iterative and incremental (evolutionary) approach to software development which is performed in a highly collaborative manner by self-organizing teams with "just enough" ceremony that produces high quality software in a cost effective and timely manner which meets the changing needs of its stakeholders. Scott Ambler 9/23/2007 11:23 PM Agile Software Development Amit Goel 8

Agile SDLC 9/23/2007 11:23 PM Agile Software Development Amit Goel 12

Agile Advantages Helps handle changing requirements & priorities Lowers cost of change Provides better visibility into project progress Reduces risk Maximizes return on investment (business value prioritized) Encourages higher quality code Delivers business value early & often 9/23/2007 11:23 PM Agile Software Development Amit Goel 13

extreme Programming 9/23/2007 11:23 PM Agile Software Development Amit Goel 14

XP Map 9/23/2007 11:23 PM Agile Software Development Amit Goel 15

XP Values Communication Feedback Simplicity Courage Respect Communication leads to valuable feedback which encourages simplicity which allows for courage to change 9/23/2007 11:23 PM Agile Software Development Amit Goel 16

XP Lifecycle Exploration customers write story cards, project team becomes familiar with tools, technology and practices Planning set priority of stories and contents of first release Iterations to Release Testing and programming in iterations, iterations planning Productionizing Operational deployment, extra testing and checking before release to customer, documentation, training Maintenance Enhance, fix, could repeat phases for incremental releases 9/23/2007 11:23 PM Agile Software Development Amit Goel 17

XP Roles Customer Writes stories and functional tests Picks stories for release and iteration Programmer Writes tests and code Designs and Refactors Tester Helps customer write tests and runs them Coach Customizes XP process Makes sure everyone follows the XP process Tracker Collects metrics Gives feedback on estimates and process on iterations Consultant supplies specific technical knowledge needed 9/23/2007 11:23 PM Agile Software Development Amit Goel 18

XP Practices 9/23/2007 11:23 PM Agile Software Development Amit Goel 19

Planning Game User Stories The customer cares about Can be reasonably tested Can be estimated and prioritized The Planning Game Users write stories Developers estimate them Users split, merge and prioritize Plan releases and the next iteration 9/23/2007 11:23 PM Agile Software Development Amit Goel 20

Test Driven Development Customer Tests Specified by user Implemented by user, developer and/or test team Automated Part of specifications Run at every release Unit Tests Written by developers Run before, during and after coding 9/23/2007 11:23 PM Agile Software Development Amit Goel 21

Design Simple Design Metaphor Spike Solutions Functionality not added early Refactor 9/23/2007 11:23 PM Agile Software Development Amit Goel 22

Daisy Chain of Rules No detailed written requirements <-- no big up-front design. No big up-front design <-- constantly refactored. Constant refactoring <-- extensive unit testing. Unit tests <-- pair programmer. Pair programming <-- on-site customer. on-site customer <-- no detailed written requirements. 9/23/2007 11:23 PM Agile Software Development Amit Goel 23

How XP Handles Problems Schedule Delays Iterations Short release cycles Project cancelled Prioritize use case Start with most important use cases System goes bad Defects Keep system always in deployable state Test Driven Development Business change Continuous prioritization Business misunderstood Customer always with team 9/23/2007 11:23 PM Agile Software Development Amit Goel 24

Scrum 9/23/2007 11:23 PM Agile Software Development Amit Goel 25

Scrum 9/23/2007 11:23 PM Agile Software Development Amit Goel 26

Scrum Map http://www.controlchaos.com 9/23/2007 11:23 PM Agile Software Development Amit Goel 27

Scrum Lifecycle Pregame Planning - define system, Product Backlog Architecture - high level design of system Development Iterative cycles called sprints plan, do, review Postgame Operational deployment, documentation, training 9/23/2007 11:23 PM Agile Software Development Amit Goel 28

Scrum Roles Scrum Team Project team that develops software Determines sprint list Free to organize as they see fit to achieve goals of each sprint Scrum Master Responsible for Scrum Process. Makes sure that project following rules and practices Removes impediments Product owner Creates and prioritizes Product Backlog Chooses goals for next Sprint Reviews system at the end of each Sprint Customer Participates in Backlog items Management Manpower allocation Budgets Billing 9/23/2007 11:23 PM Agile Software Development Amit Goel 29

Scrum Practices Pre-game Planning Product Backlog and Release Backlog Sprint Planning Product Backlog, Release Backlog, Sprint Backlog Sprint - 30 day iteration Effort Estimation - iterative on Backlog items Self-directed and self-organising team Daily Scrum meeting - what we did, what we will do, and any problems Chickens and Pigs Sprint Review Meeting - present results of sprint, demo 9/23/2007 11:23 PM Agile Software Development Amit Goel 30

Questions 9/23/2007 11:23 PM Agile Software Development Amit Goel 31

This has been fun Thank You Feel free to drop me a line at amit@agoel.com 9/23/2007 11:23 PM Agile Software Development Amit Goel 32

Backup Slides 9/23/2007 11:23 PM Agile Software Development Amit Goel 33