Agile project management: A magic bullet?



Similar documents
Software processes that are:

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

How to manage agile development? Rose Pruyne Jack Reed

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

Agile Projects 7. Agile Project Management 21

Agile Development Overview

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

Software Development Life Cycle (SDLC)

Software Development with Agile Methods

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

Vragen. Software development model. Software development model. Software development model

How To Plan A Project

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Software Development Methodologies

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

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

Agile Project Management By Mark C. Layton

Introduction to Agile Software Development Process. Software Development Life Cycles

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

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

Agile and Secure: Can We Be Both?

LEAN AGILE POCKET GUIDE

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

Agile and lean methods for managing application development process

Agile with XP and Scrum

The style is: a statement or question followed by four options. In each case only one option is correct.

How To Understand The Limitations Of An Agile Software Development

Agile Training Portfolio

ITSM Agile Intro Feb 5, 2015

Introduction... 2 Introducing the DSDM Agile Project Framework (AgilePF)...2 Introducing DSDM...2 Introducing Scrum...3

Agile So)ware Development

Introduction. Contents. Introducing the DSDM Agile Project Framework. Introducing DSDM

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

Agile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson

Jukka Mannila KEY PERFORFORMANCE INDICATORS IN AGILE SOFTWARE DEVELOPMENT

A Capability Maturity Model (CMM)

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

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

Agile and lean methods for managing application development process

Introduction to Agile Software Development

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

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Agile Beyond The Team 1

Agile and PRINCE2 And how they integrate. enterprise.bcs.org

Agile Information Management Development

CSSE 372 Software Project Management: Managing Agile Projects

Introduction to Agile Scrum

Agile and the role of the business analyst

CSE 435 Software Engineering. Sept 16, 2015

Processes in Software Development. Presented by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008

Moonzoo Kim CS Division of EECS Dept. KAIST

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

SOFTWARE PROCESS MODELS

Akhil Kumar 1, Bindu Goel 2

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

Agile Overview. 30,000 perspective. Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013

Agile Methodologies and Its Processes

Extreme Programming, an agile software development process

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

AGILE DEVELOPMENT WITH A CAPITAL A

Development. Lecture 3

System development lifecycle waterfall model

Introduction to Agile and Scrum

Agile Blending. Rachel Davies

BCS Foundation Certificate in Agile Syllabus

PMBOK? You Can Have Both! June 10, Presented by:

Neglecting Agile Principles and Practices: A Case Study

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

History of Agile Methods

DSDM Case Study. An Agile Approach to Software Systems Development for the Highways Agency

Agile Development with Agile Business Suite

Aristotle in an Agile World. By Ben Allen

Agile Scrum Workshop

The profile of your work on an Agile project will be very different. Agile projects have several things in common:

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

Agile for Project and Programme Managers

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

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

Agile and ITIL And how they integrate. enterprise.bcs.org

CSSE 372 Software Project Management: More Agile Project Management

When is Agile the Best Project Management Method? Lana Tylka

Statistics New Zealand is Agile Continued Implementation of AGILE Process at Statistics NZ

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

Learn Agile Project Management In 60 Minutes Flat! Agile Project Management Overview. Agile Project Management

Advanced Software Engineering. Software Development Processes

Laboratório de Desenvolvimento de Software

26 May 2010 CQAA Lunch & Learn Paul I. Pazderski (CSM/CSP, OD-CM, CSQA) spcinc13@yahoo.com Cell: AGILE THROUGH SCRUM

Agile Software Development

Agile Project Management

Agile Software Development Methodologies and Its Quality Assurance

How To Plan An Agile Project

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

Agile Extension to the BABOK Guide

Transcription:

Agile project management: A magic bullet? Prof. Darren Dalcher d.dalcher@mdx.ac.uk Conferencia Iberoamericana de Calidad del Software Prof. Darren Dalcher 1 Outline I. What is agilility? The agile manifesto II. Agile methods sampler III. The claims: Does it work? Do we know? Findings Discussion & implications IV. Agile project management CSF Problems and limitations V. Open questions Prof. Darren Dalcher 2 Part I: What is Agility? According to dictionary: Agile: nimble, quick moving, active, mentally quick Prof. Darren Dalcher 3 1

Agility is every where Agile web/software/product development Agile project management Agile estimating and planning Agile modelling Agile documentation The agile investor Agile competitors Agile systems/organisations/virtual enterprises Agile energy systems Creating the agile library The agile gene Prof. Darren Dalcher 4 New terminology Sprint Velocity Scrum Extreme programming User stories Epics Sagas Pair programming User retrospectives Huddles Daily stand-up meetings Prof. Darren Dalcher 5 Agile methods No agreement of what the concept of agile actually means. One can refer to the agile movement or the agile school. Common thread is belief in principles. Belief that requirements are difficult for users. Users cannot articulate or define and may not even know what they want. Partial delivery can stimulate more and better requirements (in evolutionary fashion). Prof. Darren Dalcher 6 2

Reflection: the problem How do you speed up delivery on a project? Prof. Darren Dalcher 7 How do you speed up development? Put more people on the team Cut corners - Less documentation - Less testing - Less quality Pressurise the team - Work longer - Work weekends Buy tools and methods to help speed things up Deliver less Prof. Darren Dalcher 8 The answer Change the way we do things: Involve the users Set up small teams Etblih Establish partnerships Communicate Deliver basic functionality quickly Prof. Darren Dalcher 9 3

The agile manifesto (values) Individuals and interactions over processes and tools Working software over comprehensive documentation ti Customer collaboration over contract negotiation Responding to change over following a plan Prof. Darren Dalcher 10 Agile principles I Highest priority satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development Deliver working software frequently Business people and developers must work together daily Prof. Darren Dalcher 11 Agile principles II Build projects around motivated individuals and give them support Face-to-face communication is the best method for conveying information Working software is the primary measure of progress Promote sustainable development Prof. Darren Dalcher 12 4

Agile principles III Continuous attention to technical excellence and good design Simplicity is essential The best work emerges from self-organising teams The team regularly reflects on how to become more effective, then adjusts its behaviour accordingly Prof. Darren Dalcher 13 Part II. Agile methods sampler Prof. Darren Dalcher 14 Many flavours of agile XP: Extreme Programming SCRUM DSDM ASD: Adaptive Software Development FDD: Feature-Driven Di Development Crystal Agile Modelling Agile Unified Process Software Development Rhythms Agile Data Method Prof. Darren Dalcher 15 5

XP: Extreme Programming Widely used and well publicised Team of 5-10 programmers in one location Development in builds delivered incrementally Requirements specified as user stories Programmers work in pairs Do their own testing Requirements, architecture and design emerge over course of development Customer integral to team or accessible Innovative & controversial All about programming Prof. Darren Dalcher 16 Extreme Programming innovative practices Small releases (two weeks) Create test before coding Refactoring Collective ownership Continuous integration ti Sustainable pace On-site customer (full time) Pair programming Prof. Darren Dalcher 17 The process for Extreme Programming Exploration Planning Iterations to Release Productionizing Maintenance Stories Stories for next iteration Pair programming Continuous Analysis Review Design Planning for testing Testing Capturing features Prototyping Estimate Prioritize Agree contents of release Feedback Feedback Test Continuous Integration Codebase Customer Approval Documentation Performance improvements Release Updated Release Weeks to months 2 days 1 to 4 weeks each iteration Prof. Darren Dalcher 18 6

SCRUM: Sprints: iteration of 30 day duration Work within each sprint is fixed Then, only the team can add new functionality Work to be done characterised as product backlog Mentored and managed by a SCRUM Master Self-organised, self-accountable teams Daily stand-up meeting Time boxing is key emphasis Guidance calls for three sprints per release So, market release on a 90 day timeframe Prof. Darren Dalcher 19 The SCRUM life cycle Prof. Darren Dalcher 20 DSDM: Dynamic Systems Development Method Requirements cannot be (truly) fixed Small proportion of requirements, will deliver the bulk of value to user Nothing is built perfectly the first time Date and resources are fixed so must change requirements Series of time-boxes MoSCoW prioritisation Originally a RAD so supports prototyping Developed by consortium Covers development and project management Prof. Darren Dalcher 21 7

DSDM life cycle Pre Project Post Project Three Iterations Investigate Refine Consolidate Prof. Darren Dalcher 22 DSDM overview Based on an Agile approach Not about taking short cuts Works on the principle that nothing will be built perfectly first time, and plans for this Uses the Pareto Principle (80:20) Can produce a usable and useful 80% of the system in 20% of the time Independent of any particular tools and techniques Facilitated workshops are a key activity to allow communication Prof. Darren Dalcher 23 MoSCoW Prioritisation Essential - major business benefits Must have minimum useable subset Should have very important, but not Musts Ought to have - good benefits Could have less important than Should Wont have this time round, but may have later Nice to have- some benefits Maybe next time... Prof. Darren Dalcher 24 8

DSDM particularly suited to projects with: Empowered and skilled teams Committed and involved end users Accommodation of frequent delivery Development teams of 6 people or fewer The ability to create prototypes t Highly demonstrable user interfaces Fixed timescales, flexible requirements Computationally non-complex requirements Prof. Darren Dalcher 25 DSDM Atern life cycle Prof. Darren Dalcher 26 Part III: What do agile methods achieve? Prof. Darren Dalcher 27 9

Agile survey 2006, Scott Ambler, 4232 IT professionals: 65% of organisations have adopted one or more agile techniques 41% of respondents work in organisations who use an agile method 60% show increased productivity 66% show increased quality 58% show increased stakeholder satisfaction Concerns: self selecting group? Prof. Darren Dalcher 28 Experiment: The Rationale Should we use extreme programming instead of the Waterfall? Issue: Various life cycles on offer Required: Informed decisions about which one to adopt Problem: No access to real comparative data Prof. Darren Dalcher 29 The Experiment Comparison of four development approaches The V-model Incremental t l development Evolutionary development extreme Programming in terms of the product, attributes & project Prof. Darren Dalcher 30 10

Product size 8000 7000 Code Production in LOCs 6000 Java Total 5000 VM 1032 2233 4000 IM 1803 2776 3000 EM 1477 3417 xp 4836 7740 2000 1000 0 xp:vm ratio: 4.5 : 1 3.5 : 1 Java LOC JSP LOC Total LOC VM IM EM xp Prof. Darren Dalcher 31 Monthly productivity Overall productivity in LOC/PM VM: 467 IM: 820 EM: 992 xp: 2262 2500 2000 1500 1000 500 VM IM EM xp xp productivity double the average rate & (< 5 x VM) 0 LOC/PM Prof. Darren Dalcher 32 Assessment Most comprehensive solutions, resulting in highest level of satisfaction from the users: xp Prof. Darren Dalcher 33 11

Size as a function of effort for same effort xp greater VM worst Boehm et al.: Development effort is generally proportional to size of developed Product But xp in different league Prof. Darren Dalcher 34 Productivity clustering by method xp more productive Medium size: Boehm: 8-32K Fairley: 5-50K xp teams developed medium products in same time Other teams produced small products Prof. Darren Dalcher 35 Productivity rates Industrial productivity: 200-500 LOC/PM VM: 467 IM: 820 EM: 992 xp: 2262 All but VM exceed upper range Kan reports: 2.8-6 classes/pm VM: 1.7 IM: 5.9 EM: 7.4 xp: 7.1 All but VM come close or outperform Prof. Darren Dalcher 36 12

Change of paradigm? Programmers spend small proportion of their time programming (Fairley 1985) 13-15% xp tries to maximise time available for programming (e.g. minimal documentation) Result: enhanced output (more code, more screens) delivered more rapidly Prof. Darren Dalcher 37 Open questions Is XP a life cycle? Does it represent a new paradigm? We were hoping to focus on quality using ISO9126. How do we measure quality? Prof. Darren Dalcher 38 Reflections: Where does XP fit in? XP, the teams meant to be working in the small delivered the biggest and most comprehensive products IM and EM were offered as alternatives to VM-type approaches XP seems to be radically different to other solutions that came before it (Essence rather than accident?) Prof. Darren Dalcher 39 13

Part IV: Managing projects the agile way It s project management but not as we know it! Prof. Darren Dalcher 40 Agile management Agile methods designed for things we cannot control Agility: the ability to thrive and prosper in an environment of constant and unpredictable change Not to accommodate change; but to relish it! Opportunities can thus open up in a turbulent environment (You wouldn t want to freeze your concept in a changing market). Prof. Darren Dalcher 41 CSFs for implementing agile practice Open organisational culture Readiness for mind shift No fixation on completing requirements Team size smaller than twenty Correct environment to support agility principles i Adoption of all principles in one go Availability of an experienced coach Opportunity to communicate Prof. Darren Dalcher 42 14

Traditional vs. agile Projects Traditional Agile Functionality Fixed Time People People Time Variable Functionality Prof. Darren Dalcher 43 How is agile PM different? Timeboxing (in days or weeks) Fixed resource envelope Delivering value vs. delivering projects Short-term focus Optimise i locally ll at team (microproject) level Prof. Darren Dalcher 44 Implications Becomes routine delivery ( hence not project work???) ( work as normal or task management???) Serious contractual implications greater obsession with process Extreme can take the balance too far Prof. Darren Dalcher 45 15

Problems with Agile methods License to hack? What happens in outsourcing and off shoring? Safety-critical environments? Will the user be willing and able to spend time with the team? Right personalities within team? Prof. Darren Dalcher 46 Where agile will not work (yet) Larger products and teams Distributed environments Safety-critical systems Stable environments (rework could be too expensive) Experts and key personnel not available Users are not available Highly ordered environments Cultures not supportive of freedom, trust, openness, responsibility, empowered decision making and taking charge of the future Prof. Darren Dalcher 47 Part V: Some concerns and open questions Prof. Darren Dalcher 48 16

My big concerns regarding agility Many unsupported or unproven claims Encourages people to ditch some of the ideas on the right (e.g. processes, documentation) -- always a question of balance. Portfolio of projects built bottom-up Prioritising changes of multiple stakeholders is difficult (whilst losing overall picture) Supposed to be good at handling risks, but little knowledge or direction Prof. Darren Dalcher 49 My big concerns regarding agility Requirements document basis for traditional contract. New form of contract needed that pays for time rather than outputs Greater local autonomy (to optimise microproject) may impact global efforts Maintaining simplicity will require extra infra structure work Managing task means shifting priority and focus of PM Who sees overall picture? Prof. Darren Dalcher 50 Open questions Antidote to bureaucracy or license to hack? Focused microprojects by SWAT teams? Is this what a truly focused project should look like? Agile was developed to respond to change and emphasise the role (and diversity) of people, but does it only deal with change-in-the small? Can teams prioritise (commit to and select) work without having a higher authority? Prof. Darren Dalcher 51 17