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



Similar documents
Agile Development Overview

Software processes that are:

Introduction to Agile Software Development. EECS 690 Agile Software Development

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

History of Agile Methods

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

Agile Software Development in the Large

Agile Project Management

CSSE 372 Software Project Management: Managing Agile Projects

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

Software Development with Agile Methods

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

Development. Lecture 3

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad

Introduction to Agile Software Development

Agile Project Management By Mark C. Layton

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

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

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

Comparing Agile Software Processes Based on the Software Development Project Requirements

Agile QA s Revolutionary Impact on Project Management

Agile Software Development

Agile project management: A magic bullet?

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

Agile Development with C#

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

Agile Beyond The Team 1

CSSE 372 Software Project Management: More Agile Project Management

Role of Agile Methodology in Software Development

How To Plan A Project

ITSM Agile Intro Feb 5, 2015

Agile with XP and Scrum

Moonzoo Kim CS Division of EECS Dept. KAIST

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

Introduction to Agile and Scrum

Agile Projects 7. Agile Project Management 21

Agile Software Development

Agile Project Management with Scrum

How To Understand The Limitations Of An Agile Software Development

PMP vs. Scrum Master

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

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

Jukka Mannila KEY PERFORFORMANCE INDICATORS IN AGILE SOFTWARE DEVELOPMENT

Scrum and CMMI Level 5: The Magic Potion for Code Warriors

Agile and Secure: Can We Be Both?

Agile Project Management

Outline. Agile Methods. Converse of Conway s Law. The Silver Bullet Fantasy (Brooks, 1986)

Manifesto for Agile Software Development

Software Processes. Agile Methods

Creating a High Maturity Agile Implementation

Publication I International Society of Agile Manufacturing (ISAM) Reprinted by permission of International Society of Agile Manufacturing.

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

Laboratório de Desenvolvimento de Software

How to manage agile development? Rose Pruyne Jack Reed

An Overview of Quality Assurance Practices in Agile Methodologies

Comparing Scrum And CMMI

The Basics of Scrum An introduction to the framework

Agile Extension to the BABOK Guide

Generalizing Agile Software Development Life Cycle

INTRODUCTION TO AGILE METHODS

Neglecting Agile Principles and Practices: A Case Study

Comparative Analysis of Different Agile Methodologies

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

Chapter 1 - Introduction

LEAN AGILE POCKET GUIDE

Governments information technology

Imad Alsadeq, Qatar, May 2013 OPM3, MSP, PMP, PMOC, PMI-RMP, MCP

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

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS

Quality Assurance in an Agile Environment

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Agile Software Development Methodologies & Correlation with Employability Skills

AGILE METHODOLOGIES, THEIR IMPACT ON SOFTWARE DEVELOPMENT AND IMPLEMENTATION: AN EVIDENCE FROM PAKISTAN

AGILE SOFTWARE DEVELOPMENT A TECHNIQUE

When agile is not enough

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

Agile Software Development in the Large

Agile Software Development Methodologies and Its Quality Assurance

Software Development Life Cycle (SDLC)

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

The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary

Comparison and problems between Traditional and Agile software development methods

Agile in Financial Services A Framework in Focus

Agile & the Declaration of Interdependence: A new approach to Process Improvement

Introduction to Agile Software Development Process. Software Development Life Cycles

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre

Gothenburg 2015 Jan Marek com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

Agile Testing and Extreme Programming

Tamanna Assistant Professor Chandigarh University Gharuan, Mohali,India

The Role of Agile Methodology in Project Management

Agile Software Development. Mohsen Afsharchi

Agile Software Development Approaches and Their History. Volkan Günal

Transcription:

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

Fact corner: SME of 250 developers Mobile & desktop sw Products sold globally EXAMPLE OF AN INNOVATIVE LEAP 1 Due to the adoption of an agile production frame, F Secure's mobile division in a new product development achieved 3x reduction in lead time, 50x better quality, and 5x cheaper! Innovative leap due to the acceptance of radical variation in product development & management processes "From the management point of view, the results were amazing." Jari Still, Director, F Secure, Finland AGILE ITEA Newsletter #2, 2005 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 2

EXAMPLE OF AN INNOVATIVE LEAP 2 The use of diverse agile solutions lead Philips to: Productivity: 8x Faster than industry average Quality: 3.5x Better than industry average Customer satisfaction: 4.9 in 5 point scale Softfab, Rapid7, reflection, sprints, from the agile toolbox Fact corner: 400+ Kloc 17.5 person years/1year 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 3

INNOVATIVE LEAP EXPLAINED "The actual processes adopted were neither novel nor particularly inventive. Rather they had the virtues of being easy to explain and relatively easy to comply with, with goals easily describable as having been met or not." Ward et al. (2001) 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 4

Part I: Agile philosophy & rationale 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 5

HISTORICAL PERSPECTIVE Software Crisis (1960 s) Software intensive systems delivered late, over budget and do not meet the quality requirements Solution attempt #1: Structured Methods (in 1980 s) Solution attempt #2: Object oriented methodologies Chronic Software Crisis (1990 s) Software intensive systems still delivered late, over budget and do not meet the quality requirements Solution attempt #3: Software process improvement Solution attempt #4: Agile development methodologies 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 6

FEATURE USAGE RATE Often 13 % Always 7 % Never 45 % Sometimes 16 % Rarely 19 % Fact corner: > 60% features never or rarely used! Source: Jim Johnson of the Standish Group, Keynote Speech XP 2002 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 7

HOW AGILE CAN YOU BE? Size (# of personnel) Fact corner: Agile is not an absolute Concept. 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 8 Source: Boehm & Turner (2003)

AGILE THINKING EXPLAINED Practices Fact corner: There is no definite set of agile practices. Principles Values Need to respond to constant changes 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 9 The fundamental reason for a new paradigm Defines the set of most important beliefs of what is truly important Defines a set ways to meet the values Defines in detail how this is implemented in practice

AGILE VALUES Fact corner: Agile manifesto is first of its kind in software engineering field Source: www.agilemanifesto.org 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 10

THE 12 AGILE PRINCIPLES (1/3) DESCRIPTION SUMMARY Fact corner: See principals as thinking tools 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer s competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to a shorter timescale. 4. Business people and developers must work together daily throughout the project 1. Satisfy customer through early and frequent delivery. 2. Welcome changing requirements even late in the project. 3. Keep delivery cycles short (e.g., every couple of weeks). 4. Business people and developers work together daily throughout the project. 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 11

THE 12 AGILE PRINCIPLES (2/3) 5. Build project around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within development team is face to face conversation. 7. Working software is the primary measure for progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 5. Build projects around motivated individuals. 6. Place emphasis on face to face Communication. 7. Working software is the primary measure of progress. 8. Promote sustainable development pace. 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 12

THE 12 AGILE PRINCIPLES (3/3) 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity the art of maximizing the amount of work not done is essential. 11. The best architectures, requirements, and designs emerge from self organizing teams. 12. At regular intervals, the team reflect on how to become more effective, then tunes and adjusts its behavior accordingly. 9. Continuous attention to technical excellence and good design. 10. Simplicity is Essential. 11. The best results emerge from self organizing teams. 12. Team reflects regularly where and how to improve. 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 13

What has improved? (Asked from the industrial developers) Iteration planning Estimation skills Communication Responsibility Fact corner: Agile methods improve communication! 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 14

Part II: Existing agile software development approaches 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 15

EXISTING AGILE METHODS Fact corner: Only 3 out of 9 Methods has Empirical evidence Methods for agile software development: Agile software process model [Ayoama, 1998] Adaptive Software Development [Highsmith, 2000] Crystal Family of Methodologies [Cockburn, 2000] Dynamic Systems Development Method [Stapleton, 1997] Extreme Programming [Beck, 1999] Feature Driven Development [Palmer & Felsing, 2002] Lean software development [Poppendieck x 2, 2003] Scrum [Schwaber, 1995; 2002] the list is growing every year Combination of approaches: Agile Modeling [Ambler, 2002] Internet Speed Development [Cusumano & Yoffie, 1999; Baskerville et al., 2001; Truex et al., 1999] Pragmatic Programming [Hunt & Thomas, 2000] 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 16

Agile practices XP Scrum Crystal FDD DSDM ASD Lean 1 Planning game Product backlog Staging Domain object modelling Active user involvement Iterative development Seeing waste Perceiced integrity 2 Small/short releases Effort estimation Revision and review Developing by feature Teams must be empowered.. Feature based planning Value stream mapping Conceptual integrity 3 Metaphor Sprint Monitoring Individual class (code) ownership frequent delivery Customer focusgroup reviews Feedback Refactoring 4 Simple design Sprint planning meeting Holistic diversity Feature teams 5 Testing Sprint backlog Methodologytuning technique Inspection Daily scrum 6 Refactoring meeting User viewings Regular builds Sprint review Reflection Configuration 7 Pair programming meeting workshops management 8 Collective ownership AGILE PRACTICES: THE TOOLBOX Progress reporting Fitness for business purpose Iterations Testing Iterative and incremental development Syncronization Measurements All changes are Set Based deversible Development Contracts Requirements are baselined Options thinking The last Testing is responsible integrated moment A collaborative and cooperative approach shared by all stakeholders Making decisions Continuous 9 integration 10 40 hour week Pull systems 11 On site customer Queuing theory 12 Coding standards Cost of delay 13 Open workspace Self determination 14 Just rules Motivation 15 Leadership 16 Expertise 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 17

SOURCE FOR AN OVERVIEW OF AGILE METHODS Titled Agile software development methods: Review and analysis, 2002 A VTT series publication freely available from http://agile.vtt.fi For each method the following aspects are described: Purpose & motivation Roles & responsibilities Development process Development practices Current status & known limitations 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 18

Part III: The Mobile D for mobile software 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 19

FORMATION OF A BASELINE: REQUIREMENTS FOR A GOOD SOFTWARE DEVELOPMENT PROCESS The development process should provide systematic support for high quality software development (Production frame) be designed for small (and medium) sized development teams (Most teams are small) produce visible results early (Early validation) be easy to learn, transparent, straightforward and adjustable (= makes sense) provide a fit to company s strategic planning (= aligned with the business) meet the needs of standard quality requirements (= be convincing to us & customers) 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 20

NEW PROGRAMMING ENVIRONMENT End users Customer Provides value Learns needs Benefits Coach / Mentor supports Shares end user needs & business requirements Software development activities, tools, people delivers Results: Working software, rapid delivery, high business value Learning Removes obstacles Management State of the art methods Process definitions Training Daily feedback from the developers Communication Collaboration 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 21

MOBILE D FOR MOBILE SOFTWARE Concept: An 8 week agile development rhythm Mobile D is based on Extreme Programming (practices), Crystal methodologies (scalability) and Rational Unified Process (coverage) Designed to meet the specific characteristics of mobile software development & industry quality standards Designed for < 10 developers working in (close to) co located office space Pattern based version: http://agile.vtt.fi/mobiled/mobiled.htm 1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK EXPLORE SET UP CORE CORE 2 STABILIZE WRAP UP 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 22

AGILE PROGRAMMING ENVIRONMENT: THE WARROOM APPROACH Fact corner: Software development Is not solo business 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 23

THE PRINCIPAL ELEMENTS OF MOBILE D Requirements: Off Site Customer Planning: Phasing and pacing in Planning Day Modeling: Agile modeling Architecture: Architecture Line Metrics: Time, size and defect Documentation: RaPiD7 method Improvement: Agile Software Process Improvement End users: User Centred Focus Testing: Mobile Test First development 1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK SET UP CORE CORE 2 STABILIZE WRAP UP 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 24

MobileD: FIT TO STRATEGIC PLANNING STRATEGIC RELEASE PLANNING RELEASE PROJECT INCREMENT HEARTBEAT 4 CYCLES OF CONTROL Rautiainen & Vähäniitty (2004) 1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK MobileD SET UP CORE CORE 2 STABILIZE WRAP UP 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 25

MobileD: FIT TO STRATEGIC PLANNING STRATEGIC RELEASE PLANNING RELEASE PROJECT INCREMENT HEARTBEAT 4 CYCLES OF CONTROL Rautiainen & Vähäniitty (2004) 1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK MobileD SET UP CORE CORE 2 STABILIZE WRAP UP 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 26

MobileD: FIT TO STRATEGIC PLANNING STRATEGIC RELEASE PLANNING RELEASE PROJECT INCREMENT HEARTBEAT 4 CYCLES OF CONTROL Rautiainen & Vähäniitty (2004) 1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK MobileD SET UP CORE CORE 2 STABILIZE WRAP UP 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 27

MobileD: FIT TO STRATEGIC PLANNING STRATEGIC RELEASE PLANNING RELEASE PROJECT INCREMENT HEARTBEAT 4 CYCLES OF CONTROL PLANNING RELEASE DAY DAY WORKING DAY MobileD SET UP CORE CORE 2 WRAP UP 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 28

Mobile D: The daily heartbeat PLANNING DAY WORKING DAY RELEASE DAY 1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK SET UP CORE CORE 2 STABILIZE WRAP UP 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 29

ITERATION BACKLOG INFORMATION RADIATOR IN THEORY PRODUCT BACKLOG DEFINED STARTED DONE VERIFIED ITERATION STATUS FINISHED PRODUCT PRODUCT STATUS FEATURE3 TASK TASK TASK 3.N TASK TASK 3.N TASK 3.N TASK 3.N FEATURE1 FEATURE2 FEATURE4 TASK TASK TASK TASK 4.N FEATURE FEATURE FEATURE FEATURE FEATURE FEATURE FUTURE BACKLOG 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 30

INFORMATION RADIATOR IN PRACTICE Project team in a daily stand up meeting Fact corner: Information Radiator Is one of the most spread agile practices Big boss at the airport Customers and project managers working together 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 31

Part IV: Empirical cases 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 32

Some empirical evidence Mobile service: Active investor Mobile added value: Stockbroker Mobile added value: Sales person Fact corner: 9 projects completed 1 projects underway 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 33

3 CASE PROJECTS Velocity in terms of implementation (design+code+test) Task effort allocation (Case average) 60 % Percemtage of total effort 50 % 40 % 30 % 20 % 10 % 48,4 % 2,0 % 3,0 % 44,4 % 10,7 % 35,3 % 8,1 % 9,8 % 25,1 % 5,5 % 8,6 % 21,1 % Defect fix Enhancement New feature 0 % Fact corner: Explicit quantified process control, i.e. CMMI 5 level issues 1 2 3 4 5 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 34 RELEASE

What is not working in the process? 282 problems in the development process 45 40 35 # of negative issues 30 25 20 Project 1 Project 2 Project 3 Project 4 Project 5 15 10 5 Fact corner: 5 projects, 50 person months 0 1 2 3 4 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 35 # two week work cycles

45 What is working in the process? 342 positive remarks in the process.. 40 35 # of positive issues 30 25 20 Project 1 Project 2 Project 3 Project 4 Project 5 15 10 5 Fact corner: People seldomly share what is going well! 0 1 2 3 4 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 36 # two week work cycles

20,0 BUT, BE AWARE OF THE NEW DEVELOPMENT TECHNOLOGIES n=97 a) TRADITIONAL UI Lost hours 10,0 0,0 10,0 20,0 b) The same "rethought" process used With the new technology: 65% savings in effort 50% reduction Traditional in the mobile lead time platform n=35 79% reduction = effort in 1070 lines of code hours, 8 weeks R1 R2 R3 R4 R5 NAKED OBJECTS Lost hours 10,0 0,0 10,0 R1 R2 Naked Objects framework = effort 380 hours, 4 weeks, 79% less app. code Source: Keränen & Abrahamsson, Euromicro 2005 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 37

Part IV: Future & conclusions 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 38

FUTURE Agile hype is getting to be over (good news) XBreed, Freedom and other interesting agile methods will still keep emerging Yet, how to become more agile is the question now Before it was more concentrated on extreme programming Empirical evidence is quickly building up Agile becomes part of standardization work as well: Working group for IEEE 1648 (recommended practices) 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 39

THANK YOU! Questions and comments? Contact me at: Pekka.Abrahamsson@vtt.fi http://agile.vtt.fi XP2006 will be organized in Oulu, Finland 17.6. 22.6.2006 featuring Kent Beck, Barry Boehm and others. Go check out www.xp2006.org 1.12.2005 (C) VTT Electronics, Pekka Abrahamsson 40