CSSE 372 Software Project Management: More Agile Project Management

Similar documents
Software processes that are:

CSSE 372 Software Project Management: Managing Agile Projects

How To Plan A Project

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

Moonzoo Kim CS Division of EECS Dept. KAIST

Scrum. SE Presentation. Anurag Dodeja Spring 2010

Agile with XP and Scrum

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

"Bezpieczny Projekt"

D25-2. Agile and Scrum Introduction

Agile Development Overview

Introduction to Agile Scrum

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

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

History of Agile Methods

Issues in Internet Design and Development

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

An Agile Project Management Model

Introduction to Agile and Scrum

Agile Project Management

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

Scrum Guidelines. v W W W. S C R U M D E S K. C O M

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

The Agile Manifesto is based on 12 principles:

Agile Software Development Methodologies and Its Quality Assurance

Introduction to Agile Software Development Process. Software Development Life Cycles

Roles: Scrum Master & Project Manager

1. CMMI and Scrum TWO BRANCHES OF SOFTWARE DEVELOPMENT

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

PMP vs. Scrum Master

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

Agile and Secure: Can We Be Both?

ScrumMaster Certification Workshop: Preparatory Reading

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

LEAN AGILE POCKET GUIDE

Business Analysts in an Agile World. Christian Antoine

Agile Project Management with Scrum

Frank Cervone Vice Chancellor for Information Services and Chief Information Officer Purdue University Calumet January 17, 2012 CARLI Anatomy of a

Capstone Agile Model (CAM)

Comparing Agile Software Processes Based on the Software Development Project Requirements

Agile Software Development. Stefan Balbo / Patrick Dolemieux

RISK MANAGMENT ON AN AGILE PROJECT

CSE 435 Software Engineering. Sept 16, 2015

Agile Project Management

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

Development. Lecture 3

REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT

Agile Software Development in the Large

Agile QA s Revolutionary Impact on Project Management

Agile Project Management. What it is and what it isn t

Agile Project Management. Jan Pool NioCAD University of Stellenbosch 16 April 2008

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

How to manage agile development? Rose Pruyne Jack Reed

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

What is Scrum? Scrum Roles. A lean approach to software development. A simple framework. A time-tested process

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

Introduction to Agile Software Development. EECS 690 Agile Software Development

Agile Scrum Workshop

SAFETY & RESILIENCE ISSUES IN AUTOMOTIVE SOFTWARE DEVELOPMENT PANEL

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

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

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

Software Engineering Process Economy & Quality

Agile in Financial Services A Framework in Focus

What does it mean to be Agile. Marek Majchrzak, Andrzej Bednarz Wrocław,

STATE OF MICHIGAN SUITE

Agile Information Management Development

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

Agile Scrum Training. Nice to meet you. Erik Philippus. Erik Philippus (1951)

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

Agile Project Management By Mark C. Layton

Understanding agile project management methods using Scrum H. Frank Cervone Purdue University Calumet, Hammond, Indiana, USA

Tamanna Assistant Professor Chandigarh University Gharuan, Mohali,India

Quality Assurance Software Development Processes

AGILE & SCRUM. Revised 9/29/2015

Agile Projects 7. Agile Project Management 21

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

Agile Beyond The Team 1

Agile Development with Rational Team Concert

Software Requirements and Specification

Getting Agile with Scrum. Mike Cohn - background

The Agile Glossary of Terms

SECC Agile Foundation Certificate Examination Handbook

Course Title: Managing the Agile Product Development Life Cycle

Laboratório de Desenvolvimento de Software

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

Scrum and Agile methods The real world

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Software Development with Agile Methods

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

Requirement Gathering for small Projects using Agile Methods

CSPO Learning Objectives Preamble. Scrum Basics

MM Agile: SCRUM + Automotive SPICE. Electronics Infotainment & Telematics

Software Development Methodologies

Answered: PMs Most Common Agile Questions

Agile Methodologies XP and Scrum

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

Course Title: Planning and Managing Agile Projects

ACP Exam Prep Plus Desk Reference including the Project Management Agile Body of Knowledge TM (PMABOK TM )

Introduction to Agile Software Development

Transcription:

CSSE 372 Software Project Management: More Agile Project Management Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu

Learning Outcomes: Plan Create a plan for an intermediate size software project & manage to the plan as project evolves. Introduce some more Agile Methods n n n n n Extreme Programming (XP) Feature Driven Development Crystal Methodologies Agile Project Management SCRUM (verb)

extreme Programming (XP) n Early and widely used Agile Method developed by Kent Beck et al n XP Planning Begins with creation of user stories Team assesses each story and assigns a cost Stories are grouped to for a deliverable increment A commitment is made on delivery date 1 st increment project velocity n Used to help define subsequent delivery dates 4 Q1

Some extreme Perspectives n Are code inspections good? Then code in pairs all code is inspected all the time! n Is testing good? Then write the unit test before the code, automate testing, and run all tests all the time. n Is customer contact good? Then locate a customer representative in the team, so that you have access to them all the time.

extreme Programming (XP) Cycles Customer Defines Value 4 Developers Build Value Developers Estimate Cost Customer Chooses Value

Twelve XP Practices 1. Planning Game 2. Short Releases 3. Simple Design 4. Continuous Testing 5. Refactoring 6. Pair Programming 7. Collective Ownership 8. Continuous Integration 9. On-site Customer 10. Sustainable Pace 11. Metaphor 12. Coding Standards

Feature Driven Development (FDD) n Originally proposed by Peter Coad et al and promoted later by Jeff DeLuca n FDD distinguishing features Emphasis is on defining features n a feature is a client-valued function that can be implemented in two weeks or less Uses a feature template n <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 Q2

Feature Driven Development (FDD) Categorized Features List Class owners Feature Set Owners Design Package Detail Object Model Completed Client Valued Function

Crystal Methodologies n Alistar Cockburn (with Jim Highsmith) n Premises: Software development is a (resource-limited) finite, goal-seeking cooperative game of invention and communication Easier to tune a methodology than to invent one n Crystal distinguishing features Family of process models allow maneuverability/agility in appropriate places based on problem characteristics Face-to-face communication Reflection workshops to review work habits of team Q3

Selecting an Agile Software Methodology (based on project size, system criticality, priorities, fears)... Prioritized for Legal Liability Prioritized for Productivity & Tolerance Criticality (defects cause loss of...) Life (L) Essential money (E) Discretionary money (D) Comfort (C) L6 L20 L40 L100 L200 L500 L1000 E6 E20 E40 E100 E200 E500 E1000 D6 D20 D40 D100 D200 D500 D1000 C6 C20 C40 C100 C200 C500 C1000 1-6 - 20-40 - 100-200 - 500-1,000 Number of people involved +20%

Doctor Delivery harkens back to his former career as a software developer.

Scrum n Originally proposed by Ken Schwaber and Mike Beedle n Project-management oriented n Development work partitioned into packets executed in sprints & derived from a backlog of existing requirements n Testing & documentation on-going as product is constructed n Meetings are very short (standup meetings) n Demos delivered to customer (within time-box allocated) n Manages noise, allows overhead to wither n Delivers business level functionality in 30 days n Scalable Q4

Scrum Agile Method An agile, lightweight process for managing and controlling software and product development in rapidly changing environments. n Iterative, incremental process n Team-based n Develop systems/products with changing requirements n Controls the chaos of conflicting interest and needs n Improves communication and maximizes cooperation n Protects team from disruptions and impediments

Scrum Roles n Product Owner n Team Maintains, prioritizes Product Backlog Make decisions for customers and users Responsible for vision, ROI, and releases Self-organizing, 7 +/- 2 people, cross-functional Best experts available Cost and commit to work, and responsible for delivering n Scrum Master Project manager, Coach, and/or Player-Coach Responsible for process and maximizing team productivity Sets up and conducts meetings n Sprint Planning, Daily Scrum, and Sprint Release Q5

Scrum Process n Sprint Planning Meeting n Sprint n Daily Scrum n Sprint Review Meeting

Sprint n A 2-4 week iteration, during which an increment of product functionality is produced n Scrum master protects team from outside interferences during the Sprint n Each Sprint begins with a Sprint Planning Meeting Q6

Daily Scrum n Is a short (15 minutes long) meeting, which is held every day before the Team starts working 1. What did you do since the last Scrum? 2. What are you doing until the next Scrum? 3. What is stopping you getting on with the work? n Participants: Scrum Master (which is the chairman), Scrum Team n Chickens and Pigs Q7

Scrum Artifacts n Product Backlog n Sprint Backlog n Burn down Charts

Agile Project Management Framework Envision Speculate Explore Vision Release Plan Adapt Completed Features Feature List Final Product Close

Envision Create a Vision for Customers and Project Team n Product Vision Product vision box and elevator test statement Product architecture and guiding principles n Project Scope Objectives and Constraints Project data sheet n Approach Collaboration between project team members Process and practice tailoring n Who Community of customers Product Managers Project Team Members Stakeholders n Project Community Get the right people Customer team-development team interface Q8

Speculate n Gather initial general requirements n Define workload n Create a delivery plan n Incorporate risk mitigation strategies n Estimate project costs n Generate other required administrative and financial information n Feature Breakdown Structure Product feature list Feature (cards) Performance requirements (cards) n Release Planning Release, milestone, iteration plan n Iteration 0 n Project Risk Analysis n Next Iteration Plan

Explore n Project Team Perspective Deliver on Vision & Objectives Deliver product features n Project Mgr. Perspective Manage workload n Technical practices n Low-cost change n Risk mitigation strategies Facilitate n Collaboration n Self-organizing community Manage team s interactions n Customers, product management and other stakeholders n Project Community Coaching and team development Daily team integration meetings Participatory decision making Daily interactions with the customer team Q9

Adapt n Monitor plans and Adapt Control and Correction n Evaluate and make adaptations Product Functionality Product Quality Team Performance Project Status n Feed results into next iteration plan n Customer Focus Groups n Technical Reviews n Team Performance Evaluations n Project Status Reports Parking Lot Reports by Business Activity & Month Delivery Performance (Features vs. Iterations) Features / Value Delivered Product and Technical Quality Assessment Technical Risk and Uncertainties Assessment (Risk Exposure vs. Iterations) Project Schedule (Predicted Finish Week vs. Iterations)

Close n Project closing is both a Phase & Practice n End of each iteration Mini project retrospective n Intra-team learning of process and team dynamics n End of project Celebration Clean up open items Project retrospective n Inter-team learning shared within organization

Tying it Together Key Properties 1. Iterative 2. Feature-Driven 3. Value-based

Homework and Reading Reminders n Final Project SW Proj. Mgt. Plan (SPMP) Completed by team Due by 11:55pm, Friday, November 2 nd, 2012. No late days review swap with another team

Final Project Lab n What is the Assignment? Develop a rational and relatively complete software project management plan for a Junior Project n What resources do you have? At least one person from the Jr. Project Team Time of 3 people on team Project Advisor and instructor Time (lab, team meetings, ) n Remember to prepare presentation too