Agile Software Development in the Large



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

Introduction to Agile Software Development. EECS 690 Agile Software Development

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

Agile QA s Revolutionary Impact on Project Management

History of Agile Methods

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

Agile Software Development in the Large

Agile Project Management Jim Highsmith. Chapter 1. The Agile Revolution

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

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

Manifesto for Agile Software Development

Agile Project Management

Software Processes. Agile Methods

Agile Development Overview

Agile Software Development

D25-2. Agile and Scrum Introduction

Introduction to Agile Software Development

Agile Development with C#

werteorientierte Unternehmenskultur

Agile Project Management By Mark C. Layton

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

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

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

Agility? What for? And how? > Warm-up Session Agile Tour Vienna 2014

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

CSSE 372 Software Project Management: Managing Agile Projects

Agile Execution for and Beyond IT

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

The Agile Manifesto August 2001

Scrum for Managers, Zurich March 2010

Agile and Secure: Can We Be Both?

PMP vs. Scrum Master

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

Scrum and Agile methods The real world

Role of Agile Methodology in Software Development

Software Development with Agile Methods

INF5120 Modellbasert Systemutvikling

Agile Project Management

Agile on huge banking mainframe legacy systems. Is it possible?

Agile in Financial Services A Framework in Focus

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT

ITSM Agile Intro Feb 5, 2015

Introduction to Agile Software Development Process. Software Development Life Cycles

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

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

CSSE 372 Software Project Management: More Agile Project Management

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

Agile to the Bone. Introduction to Agile by Pietari Kettunen

Neglecting Agile Principles and Practices: A Case Study

Agile Project Management with Scrum

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

Development. Lecture 3

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

How To Understand The Limitations Of An Agile Software Development

the team level and is characterized by self organizing, cross functional teams doing iterative development in what are called Sprints.

Agile Beyond The Team 1

Software processes that are:

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

Agile Projects 7. Agile Project Management 21

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

Extreme Programming, an agile software development process

How to manage agile development? Rose Pruyne Jack Reed

LEAN AGILE POCKET GUIDE

Aristotle in an Agile World. By Ben Allen

Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL

Agile Software Development

Extreme Programming, an agile software development process

Agile processes. Extreme Programming, an agile software development process

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

Agile with XP and Scrum

SWEN - Software Engineering Network Donnerstag 06. Mai. 2010

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

Incorporating Agile Methods into the Development of Large-Scale Systems


STATE OF MICHIGAN SUITE

Agile Software Development. Mohsen Afsharchi

Agile project management is a style of project management that focuses

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

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

Agile Processes. -- Heinrich Heine

"Bezpieczny Projekt"

Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP

AGILE SOFTWARE DEVELOPMENT

Role of the Business Analyst in an Agile Project

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

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

Risikominimering I IKT-prosjekter - experiences from the Danish Government

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

AGILE BUSINESS INTELLIGENCE

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

Agile Methodologies. Venkat Subramaniam.

COMP 354 Introduction to Software Engineering

How To Write A Thesis On How To Create And Maintain Documentation In An Agile Development Environment

Transcription:

Agile Software Development in the Large GI-Vortrag Braunschweig Jutta Eckstein Nicolai Josuttis What Does Large Mean? Large in... scope time people money risks We focus on Large Teams which implies everything else Large is relative 1, 2, 10, 100, 2000 people 2005 by IT-communication.com 2 1

Why is Large an Issue? Aspects do not scale linearly new kinds of problems occur For example: Communication with 2 people you have to communicate with 10 people you can t discuss all aspects in one group with 100 people you can t have all people in one room with 1000 people you can t know all people 2005 by IT-communication.com 3 The Agile Manifesto developed in February 2001 by key people of the lightweight processes community: Kent Beck, Ward Cunningham, Martin Fowler Alistair Cockburn Jim Highsmith Dave Thomas, Andrew Hunt Ken Schwaber, Michael Beedle Steve Mellor see agilemanifesto.org 2005 by IT-communication.com 4 2

Values of the Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan 2005 by IT-communication.com 5 2005 by IT-communication.com 6 3

XP typical team size < 12 Large and Agile Methods Scrum Ken Schwaber reports from teams with 400 members Crystal different colors for different team sizes: clear: for teams < 10 orange: for teams < 40 red, blue,... (not defined yet) FDD teams are assembled for designing a feature 2005 by IT-communication.com 7 Technical Build excellence and good design projects around motivated individuals. Simplicity Give is essential them the environment and support they Self-organizing need, and teams trust them to get the job done. 2005 by IT-communication.com 8 4

Trust Motivated Individuals Trust is based on: Communication Transparency Honesty also bad news are good news Empowerment for decisions Trust regards all: Developers Customers 2005 by IT-communication.com 9 Technical The excellence most efficient and good design and effective method of Simplicity conveying is essential information to and within a development team is face-to-face conversation. 2005 by IT-communication.com 10 5

Communication Face-to-face communication is always preferred But: large teams have limitations feedback might be a problem Therefore: Communication channels must be a subject of change use different communication channels and switch them over time locate the project members as close together as possible change the locations ( floating desks ) Establish a (virtual) communication team 2005 by IT-communication.com 11 Business people and developers must work together daily throughout the project. 2005 by IT-communication.com 12 6

Customer Involvement Defined single customer is rare, more typical are: Large invisible customer base typical for standard software Community of customers often not homogenous, but competitive no accepted representative Therefore: Customer Coach Customer on-site office specifies and performs acceptance tests Customer surrogate designing for a single customer is the most effective way to satisfy a broad audience [Alan Cooper in The Inmates Are Running the Asylum] 2005 by IT-communication.com 13 Working Deliver software working is the primary software measure frequently, of progress Promote from sustainable a couple development of weeks to a couple of months, Technical with excellence a preference and good to design the shorter timescale. 2005 by IT-communication.com 14 7

Development Cycles The larger the team, the shorter the development cycles We promote: 1 week iterations 1 month releases 3 month external releases Time-boxed development: teams concentrate on results teams learn to estimate their speed about 80% is a typical stable value allows early computing of remaining tasks 2005 by IT-communication.com 15 Face-to-face Our conversation highest priority is to satisfy the customer Working through software is early the primary and continuous measure of progress delivery of Promote valuable sustainable software. development 2005 by IT-communication.com 16 8

Planning Development Cycles Plan for accomplishing a feature often unusual for large teams they are used to develop and plan against components or activities. Sometimes the iterations might be too short for a feature double check if the feature couldn t be further broke down allow that feature development will exceptionally cover more than one iteration Detailed planning only for the next steps Planning and estimation is an ongoing activity Quality of estimates and progress 2005 by IT-communication.com 17 Working Welcome software is changing the primary requirements, measure of progress even late in Promote development. sustainable development Agile processes harness change Technical for excellence the customer's and good competitive design advantage. 2005 by IT-communication.com 18 9

Welcome Changing Requirements Success is defined by the customer, not by anybody else. But: A change means: Time delay Elimination of another feature Therefore: Say No Trade new or changing requirements against time or another feature Especially for fixed price projects Make sure also the architecture is a subject of change Progress implies change 2005 by IT-communication.com 19 Simplicity Business people and the developers art of maximizing work the together amount of work not done is essential. 2005 by IT-communication.com 20 10

Simplicity KISS I built a lot of large systems, but I never built a complex system [Kerth, Meszaros, Doble, OOPSLA2000] Because simple systems are better maintainable don t require smart programmers Simplicity comes from conceptual integrity [David Parnas, XP2002] A system architect is the main step towards conceptual integrity 2005 by IT-communication.com 21 Deliver working Continuous software attention frequentlyto technical excellence Business and people good and design developers enhances work together agility. 2005 by IT-communication.com 22 11

Force Discipline Guidelines good practices (essence of experience) no code without test code Refactoring Code size and compile time matters Deprecated interfaces and getting rid of them 2005 by IT-communication.com 23 Welcome Working changing software requirements is the primary measure of Deliver working progress. software frequently 2005 by IT-communication.com 24 12

Integration Concepts Beware: integration is a bottleneck you can t avoid Two approaches: individual integrations one change after the other time limitations for integrating one team after the other known as: continuous integration collective integration multiple changes at once error detection is more difficult it takes time to have nightly builds running (1-2 years) known as : nightly builds 2005 by IT-communication.com 25 Therefore: Addressing Integration Problems Plan resources at least 1/10 of developers for integration/build Use integration tools e.g. Cruise Control Establish integration & build team collects changes maintains progress measures project status provides scripts for build and integration 2005 by IT-communication.com 26 13

Trust motivated At regular individuals intervals, the team reflects on how to Face-to-face become conversation more effective, then tunes and adjusts Working its software behavior is the accordingly. primary measure of progress 2005 by IT-communication.com 27 Retrospectives cover two levels: Retrospectives and Adjustment development level: evolution of the software meta level: inspection of the process Attendance: team leads floating Change people and roles many projects fail due to people in wrong positions 2005 by IT-communication.com 28 14

The best architectures, requirements, and designs emerge from self-organizing teams. 2005 by IT-communication.com 29 People are different People and teams are different Let subteams decide each subteam defines its own process Don t over specify and overrule for example: no need to require pair programming Remember: Individuals and interactions over tools and processes 2005 by IT-communication.com 30 15

Agile processes promote sustainable Deliver working development. software frequently The sponsors, developers, and Business users people should and developers be able work to maintain together a constant Trust motivated pace indefinitely. individuals 2005 by IT-communication.com 31 Promote Sustainable Development Amount of work must match amount of time consider vacation and real time Reviews and code inspection external internal (by developers and scripts) active marketing of concepts and interfaces 2005 by IT-communication.com 32 16

The Essence Communication is the key Force feedback Stability means death Be agile Common sense Use your brain (and feel/smell the problems) Just in time planning: Plans are worthless. Planning is essential. Dwight D. Eisenhower 2005 by IT-communication.com 33 Many Thanks! If you want to know more: Nicolai M. Josuttis solutions@josuttis.com www.josuttis.com Jutta Eckstein jutta@jeckstein.com www.jeckstein.com 2005 by IT-communication.com 34 17