How To Plan A Project



Similar documents
Moonzoo Kim CS Division of EECS Dept. KAIST

Software processes that are:

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

Development. Lecture 3

CSSE 372 Software Project Management: Managing Agile Projects

CSSE 372 Software Project Management: More Agile Project Management

Agile Projects 7. Agile Project Management 21

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

PMP vs. Scrum Master

copyright 1996, 2001, 2005! R.S. Pressman & Associates, Inc.!

Agile and Secure: Can We Be Both?

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad

Akhil Kumar 1, Bindu Goel 2

Agile with XP and Scrum

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

Agile Development Overview

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

Comparing Agile Software Processes Based on the Software Development Project Requirements

Software Development Methodologies

Agile in Financial Services A Framework in Focus

Software Engineering. Session 2 Main Theme Software Development Lifecycles (SDLCs) Dr. Jean-Claude Franchitti

Requirements Engineering and Agile Software Development

Introduction to Agile Software Development. EECS 690 Agile Software Development

Software Development Life Cycle (SDLC)

The traditional project management uses conventional methods in software project management process.

How to manage agile development? Rose Pruyne Jack Reed

Comparative Analysis of Different Agile Methodologies

History of Agile Methods

Agile project management: A magic bullet?

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

REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.

Introduction to Agile

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Issues in Internet Design and Development

Scrum for Managers, Zurich March 2010

How To Understand The Limitations Of An Agile Software Development

Requirement Gathering for small Projects using Agile Methods

Introduction to Agile Scrum

An Overview of Quality Assurance Practices in Agile Methodologies

Agile Project Management

Software Requirements and Specification

Introduction to Agile Software Development

D25-2. Agile and Scrum Introduction

Agile Systems Engineering: What is it and What Have We Learned?

Agile Software Development

Scrum and Agile methods The real world

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development

Laboratório de Desenvolvimento de Software

When is Agile the Best Project Management Method? Lana Tylka

"Bezpieczny Projekt"

Agile Project Management and Agile Practices Training; with a Scrum Project that you will do.

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Lean QA: The Agile Way. Chris Lawson, Quality Manager

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

Agile Software Project Management Methodologies

Introduction to Agile Software Development Process. Software Development Life Cycles

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Iteration Planning. also called Iteration Kickoff

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

Generalizing Agile Software Development Life Cycle

Agile and the role of the business analyst

A Review of Agile Software Development Methodologies

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

Comparative Analysis of Agile Software Development Methodologies-A Review

An Agile Project Management Model

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

Chapter 1 - Introduction

Agile Software Development Methodologies and Its Quality Assurance

AGILE vs. WATERFALL METHODOLOGIES

Agile Software Development in the Large

Tamanna Assistant Professor Chandigarh University Gharuan, Mohali,India

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

The Success of Agile Software Development

Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and

A Capability Maturity Model (CMM)

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

INTRODUCTION TO AGILE METHODS

ITSM Agile Intro Feb 5, 2015

Agile Project Management Mapping the PMBOK Guide to Agile Practices. Michele Sliger

SECC Agile Foundation Certificate Examination Handbook

Agile and the Seven Deadly Sins of Project Management

Introduction to Agile Methods

CompSci Fall 2014 Professors: Robert Duvall, Ajay Patel, Salman Azhar (rcd@cs, ajay.patel, azhar@cs)

SOFTWARE PROCESS MODELS

A Comparison between Agile and Traditional. Software Development Methodologies

Applying Agile Methods in Rapidly Changing Environments

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

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

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

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

Transcription:

Software Engineering: A Practitioner s Approach, 6/e Chapter 4 Agile Development copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited. with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 1 The Manifesto for Agile Software Development 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 et al with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 2

What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders Drawing the customer onto the team Organizing a team so that it is in control of the work performed Yielding Rapid, incremental delivery of software with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 3 An Agile Process Is driven by customer descriptions of what is required (scenarios) Recognizes that plans are short-lived Develops software iteratively with a heavy emphasis on construction activities Delivers multiple software increments Adapts as changes occur with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 4

Extreme Programming (XP) The most widely used agile process, originally proposed by Kent Beck XP Planning Begins with the creation of user stories Agile team assesses each story and assigns a cost Stories are grouped to for a deliverable increment A commitment is made on delivery date After the first increment project velocity is used to help define subsequent delivery dates for other increments with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 5 Extreme Programming (XP) XP Design Follows the KIS principle Encourage the use of CRC cards (see Chapter 8) For difficult design problems, suggests the creation of spike solutions a design prototype Encourages refactoring an an iterative refinement of the internal program design XP Coding Recommends the construction of a unit test for a store before coding commences Encourages pair programming XP Testing All unit tests are executed daily Acceptance tests are defined by the customer and excuted to assess customer visible functionality with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 6

Extreme Programming (XP) user st ories values accept ance t est crit eria it erat ion plan simple design CRC cards spike solut ions prototypes refact oring pair programming Release software increment project velocity computed unit test cont inuous int egrat ion These courseware materials are to be used in conjunction accept with ance Software t est Engineering: ing A Practitioner s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 7 Adaptive Software Development Originally proposed by Jim Highsmith ASD distinguishing features Mission-driven planning Component-based focus Uses time-boxing (See Chapter 24) Explicit consideration of risks Emphasizes collaboration for requirements gathering Emphasizes learning throughout the process with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 8

Adaptive Software Development adapt ive cycle planning uses mission st at ement project const raint s basic requirement s t ime-boxed release plan Requirement s gat hering JAD mini-specs Release software increment adjustments for subsequent cycles component s implement ed/ t est ed focus groups for feedback formal t echnical reviews These courseware materials are to be used in conjunction with Software Engineering: postmortems A Practitioner s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 9 Dynamic Systems Development Method Promoted by the DSDM Consortium (www.dsdm.org) DSDM distinguishing features Similar in most respects to XP and/or ASD Nine guiding principles Active user involvement is imperative. DSDM teams must be empowered to make decisions. The focus is on frequent delivery of products. Fitness for business purpose is the essential criterion for acceptance of deliverables. Iterative ti and incremental development is necessary to converge on an accurate business solution. All changes during development are reversible. Requirements are baselined at a high level Testing is integrated throughout the life-cycle. with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 10

Dynamic Systems Development Method DSDM Life Cycle (with permission of the DSDM consortium) with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 11 Scrum Originally proposed by Schwaber and Beedle Scrum distinguishing features Development work is partitioned into packets Testing and documentation are on-going as the product is constructed Work occurs in sprints and is derived from a backlog of existing requirements Meetings are very short and sometimes conducted without chairs demos are delivered to the customer with the time-box allocated with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 12

Scrum with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 13 Scrum Process Flow (used with permission) Crystal Proposed by Cockburn and Highsmith Crystal distinguishing features Actually a family of process models that allow maneuverability based on problem characteristics Face-to-face communication is emphasized Suggests the use of reflection workshops to review the work habits of the team with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 14

Feature Driven Development Originally proposed by Peter Coad et al FDD distinguishing features Emphasis is on defining features a feature is a client-valued function that can be implemented in two weeks or less. Uses a feature template <action> the <result> <by for of to> a(n) <object> A features list is created and plan by feature is conducted Design and construction merge in FDD with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 15 Feature Driven Development Reprinted with permission of Peter Coad with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 16

Agile Modeling Originally proposed by Scott Ambler Suggests a set of agile modeling principles Model with a purpose Use multiple models Travel light Content is more important than representation Know the models and the tools you use to create them Adapt locally with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 17