END OF AGILE. Pekka Abrahamsson VTT TECHNICAL RESEARCH CENTRE OF FINLAND 25.11.2008, VTT, Olio-päivät 08, Tampere, Finland



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

An Overview of Quality Assurance Practices in Agile Methodologies

Agile Projects 7. Agile Project Management 21

Comparing Agile Software Processes Based on the Software Development Project Requirements

Agile Development Overview

Software processes that are:

Speeding up embedded software development

SERVICES AND SOFTWARE DEVELOPMENT IN THE CLOUD

Agile Software Development Methodologies & Correlation with Employability Skills

Introduction to Agile Software Development

Agile and Secure: Can We Be Both?

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

AGILE & SCRUM. Revised 9/29/2015

Agile with XP and Scrum

Agile Software Development Methodologies and Its Quality Assurance

NokiaSiemens and Agile Development by Petri Haapio JAOO 2008

An Agile Project Management Model

Job Satisfaction and Motivation in a Large Agile Team

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

Moonzoo Kim CS Division of EECS Dept. KAIST

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

Novel Hybrid Model: Integrating Scrum and XP

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

Agile Software Engineering Practice to Improve Project Success

Scrum. in five minutes

Generalizing Agile Software Development Life Cycle

Software Development Process

Agile Software Development

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

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

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

Comparative Analysis of Different Agile Methodologies

How To Plan A Project

Taking the first step to agile digital services

Quality Assurance in an Agile Environment

Automated Acceptance Testing of High Capacity Network Gateway

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

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

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

(General article) An Empirical Study of Agile Software Development. Ajay Deep a* Department of Information Technology, OITM, Hisar

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

Neglecting Agile Principles and Practices: A Case Study

A Review of Agile Software Development Methodologies

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad

An Approach for Using CMMI in Agile Software Development Assessments: Experiences from Three Case Studies

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

How To Scale Agile Development With Knowledge Management

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

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

Agile Software Development

Akhil Kumar 1, Bindu Goel 2

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;

SECC Agile Foundation Certificate Examination Handbook

Agile Certification: PMI-ACP

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Web Applications Development and Software Process Improvement in Small Software Firms: a Review

Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance?

Emergence Of Agile Software Development Methodologies: A Sri Lankan Software R & D Outlook

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

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

Case Study on Critical Success Factors of Running Scrum *

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

An Agile Software Development Framework


Agile Essentials for Project Managers Keys to Using Agile Effectively With Project Teams

Laboratório de Desenvolvimento de Software

How to manage agile development? Rose Pruyne Jack Reed

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

Development. Lecture 3

The Agile Manifesto is based on 12 principles:

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

Agile Software Development

What is meant by the term, Lean Software Development? November 2014

Strategic View on Various Sub-paradigms of Agile Methodology and Sig Sigma Approach

CSE 435 Software Engineering. Sept 16, 2015

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

Introduction to Agile Software Development. EECS 690 Agile Software Development

An Empirical Study of Agile Software Development

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

Jukka Mannila KEY PERFORFORMANCE INDICATORS IN AGILE SOFTWARE DEVELOPMENT

Agile Unified Process

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

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

Getting Business Value from Agile

D25-2. Agile and Scrum Introduction

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

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

Introduction to Agile Software Development Process. Software Development Life Cycles

Software Development with Agile Methods

Hamid Faridani March 2011

COMPARATIVELY ANALYSIS OF AGILE SOFTWARE DEVELOPMENT

An Appraisal of Agile Software Development Process

Issues in Internet Design and Development

CSSE 372 Software Project Management: More Agile Project Management

Strategy. Agility. Delivery.

Software Engineering

Requirements Engineering and Agile Software Development

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

Transcription:

END OF AGILE Pekka Abrahamsson VTT TECHNICAL RESEARCH CENTRE OF FINLAND 25.11.2008, VTT, Olio-päivät 08, Tampere, Finland

PROCESS IMPROVEMENT MODELS Source: http://www.software.org/quagmire/, Aug-2005 29.12.2008 (C) VTT, Pekka Abrahamsson 2

Industry best-practice? PROCESSES CANNOT BE COPIED! We should know this? Malouin, J. L. and M. Landry (1983). "The miracle of universal methods in systems design." Journal of Applied Systems Analysis 10: 47-62. 29.12.2008 (C) VTT, Pekka Abrahamsson 3

A FUNDAMENTAL RE-REALIZATION "The quickest way to improve productivity is to focus on people (Boehm, 1983) "Everyone knows the best way to improve software productivity and quality is to focus on people. (Editor, American Programmer, 1990) "People issues determine project's speed (Cockburn, 2008) 29.12.2008 (C) VTT, Pekka Abrahamsson 4

SUCCESS OF AGILE METHODS A proof that agile fits to embedded SW domain: AGILE-ITEA research project (2004-2006) Domain: agile software development of embedded systems 68 pilot projects executed in 2004-2006 1800 engineers in 17 companies involved 73% of the pilot results either positive or very positive Neutral 21% 500+ Negative 8% 6% Very positive 22% Positive 51% Source: Itea innovation report 2006 29.12.2008 (C) VTT, Pekka Abrahamsson 5

DEVELOPERS ARE ONBOARD! Source: Nokia Networks, publicly available at: http://www.odd-e.com/articles/2006/nokia_agile.pdf 29.12.2008 (C) VTT, Pekka Abrahamsson 6

F-Secure's starting point Product Life Cycle Management Product Realization General Availability Discontinuation Business and Feasibility Study Product & Project Initiation Product & Project Elaboration Development Iterations System Test Beta Validation RC Validation Releasing Screening Development Validation Release S2 S1 DA Dn... D2 D1 V3 V2 V1 Product life-cycle and product realization cycle R1 Source: Agile-ITEA newsletter 1/2006 29.12.2008 (C) VTT, Pekka Abrahamsson 7

F-SECURE S NEW MODEL: F-LEX Source: Agile-ITEA newsletter 1/2006 29.12.2008 (C) VTT, Pekka Abrahamsson 8

FLEXIBLE GLOBAL PRODUCT DEVELOPMENT 2007-09 Application partners Technology partners Spain Netherlands Finland Sweden Ireland Norway Belgium Israel http://www.flexi-itea2.org 29.12.2008 (C) VTT, Pekka Abrahamsson 9

ABRAHAMSSON S THESES 25.11.2008 Agile, as we have come to know it, has become to its end Agile, as we know and read of it, fails conceptually, philosophically and empirically Rise of professionalism: Happy, efficient and profitable software organizations models are emerging 29.12.2008 (C) VTT, Pekka Abrahamsson 10

In 1999, Extreme Programming emerged CURRENT SITUATION In 2001, the agile manifesto was published In 2005, 16% of companies used agile methods (Standish Group) In 2008, agile software development has crossed the Chasm! (Ambler, 2008) In 2009, IEEE 1648 completes its work, ISO begins the standardization work 29.12.2008 (C) VTT, Pekka Abrahamsson 11

HENCE, IT IS NOT A SURPRISE THAT 69% of organizations claim of having adopted agile methods (Ambler 2007) 70% of developers claim of using most aspects of agile methods (Rico 2007) And, finally: 99% of organizations claim to be using iterative development (Ambler 2007) 29.12.2008 (C) VTT, Pekka Abrahamsson 12

SUMMARIZING THE CURRENT SITUATION Scrum clearly method dominates agile spectrum XP practices highly recommended to be used Other methods exist: e.g. Crystal, DSDM, FDD, ASD, Mobile-D, etc. are around but in minority "Agile software" search on amazon.com results in 1268 book hits! (Amazon.com, search performed 19.8.2008) Scientific knowledge is still scarce (33 primary studies, Dybå & Dingsoyr 2008). Indeed, the science is also seriously lagging behind practitioners. However, the situation is not unique within the field of software engineering 29.12.2008 (C) VTT, Pekka Abrahamsson 13

CHALLENGING AGILE Agile suffers severly from three perspective. These are: Conceptual confusion Philosophical interpretation Empirical implementation I will briefly address all these viewpoints 29.12.2008 (C) VTT, Pekka Abrahamsson 14

CONCEPTUAL CONFUSION Agility is an organizational charasteristic (kruchten, 2001) There are 500+ factors impacting on this specific characteristic (kettunen, 2006) In Manufacturing industry alone there are more than 17 competing definitions of agility (Iskanius 2006). In software there is only 1 (by Conboy and Fitzgerald) or another.. Manifesto. Software agility explains, perhaps, 10-15% of those 500+ factors. Agility is a business concept. Thus, conceptually, agile software and agility are not related, per se. In fact, as it is well known, term agile was the second choice for agile manifesto developers as well.. 29.12.2008 (C) VTT, Pekka Abrahamsson 15

EMPIRICAL IMPLEMENTATION PROBLEMATIC One [or any] method does not fit all situations (Malouin and Landry, 1983) Therefore, all agile implementations are, by definition, adaptations of concepts, ideas, techniques and practices of agile family of "stuff" Strive is for a minimalistic view of software artefacts (= less is better) In traditional sw development the act of adaptation is called "method tailoring". RUP "failed" due to the fact that the proposed approach was not tailored but rather imposed or adopted as such Note, RUP method includes all possibilities probably needed in SW development 29.12.2008 (C) VTT, Pekka Abrahamsson 16

EMPIRICAL IMPLEMENTATION PROBLEMATIC, cont. Traditionally method tailoring is (or should be) supported by a reference framework coupled with experience and feedback There is no reference framework whatsoever in agile software development. No agreement on which practices are agile, per se Debates whether such a framework can be developed as agility is a relative concept as such Agile principles/methods not changed since their inception Scrum knowledge propietary knowledge, which cannot be accessed. Shared in "secret" meetings. 29.12.2008 (C) VTT, Pekka Abrahamsson 17

Modena Agile practices in use SoftFab: Automating the build, test and reporting process daily builds, static and dynamic tests, doc generation, statistics: code coverage, confidence level Gives focus on the real tasks, automated work environment RaPiD7: used for IP generation and design documentation TDD: make test first, code stays smaller and more efficient Pair programming: on cross component level or difficult parts Pair review: buddy system reviewing major implementations Scrum: used during focus time, dead line approaching Daily integration + weekly release of working software Information Radiator: SoftFab, code size, product start-up time, PR/CR statistics, team organization Reflections: done once, plan to do it (bi)-monthly Customer collaboration: Weekly review and discussion with customer Source: AGILE-ITEA Newsletter #1, 2006 29.12.2008 (C) VTT, Pekka Abrahamsson 18

PHILOSOPHICAL INTERPRETATION The problem lies in the fact that due to the lack of support for composing "an agile process", "anything goes", as Fayerabend 1976 suggested, as long as it is "agile". Great scientific discoveries are only made by breaking the rules (Fayerabend 1976) 29.12.2008 (C) VTT, Pekka Abrahamsson 19

HOW TO FAIL WHEN IMPLEMETING SCRUM? 29.12.2008 (C) VTT, Pekka Abrahamsson 20

HOW TO FAIL SOME RECIPES Do not train people, especially leave the developers and managers without the training support Do not think about the impact beyond R&D settings Do Scrum by the book and do not change it Agile/Scrum is a universal solution. Do not, in any case allow cultural differences to interfere. Do not bother defining what agile means in your organization Force everyone in the organization to use Scrum Expect the normal trace to be there Do not plan ahead. 2-4 weeks is sufficient 29.12.2008 (C) VTT, Pekka Abrahamsson 21

HOW TO FAIL SOME MORE RECIPES Mandate the use of Test-Driven Development as company level de-facto approach. We know that it produces a lot of test cases. Do not develop your own development model. Insist to use only the agile approach. Do not produce metrics to the management (other than burn down) since they do not really need it, even if they ask for it. When applying Scrum, retain maximum amount of the same roles & activities as before. The change should not feel at development or management level too much. If a team fails to continuously to live up the expectations detailed in the sprint backlog, please do not disturb them. They will learn as they are in self-organizing mode. If all or most your developers are juniors, agile and Scrum will be the optimal solution for you. Keep rewarding individuals and champions for their performance, not the team(s) 29.12.2008 (C) VTT, Pekka Abrahamsson 22

HOW TO FAIL THE FINAL RECIPES You must forget the rest of the processes and software process improvement altogether when adopting Scrum Before starting, spend at least 3-4 months in careful agile analysis. Otherwise you start with the wrong foot. Let the architecture emerge while doing the work. This is true also to settings beyond Mickey Mouse environment. We can always refactor the problems out. Do not use any sort of external help like consultants or enablement partner. It is crucial to self-learn all the agile aspects. Do not collect metrics (time, size, defect), since they are not part of the agile manifesto Let the agile manifesto to guide you throughout the adoption process and beyond When you are failing, remember to keep the agile achievements secret 29.12.2008 (C) VTT, Pekka Abrahamsson 23

THE NEAR FUTURE: TO BE LAUNCHED IN 2009 29.12.2008 (C) VTT, Pekka Abrahamsson 24

THANK YOU! Contact me at: Pekka.Abrahamsson@vtt.fi Tel. 040-5415929 29.12.2008 (C) VTT, Pekka Abrahamsson 25