Advanced Software Engineering Agile Software Engineering. Version 1.0

Similar documents
Agile Project Management with Scrum

Software Processes. Agile Methods

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

Agile Development Overview

Manifesto for Agile Software Development

Agile Project Management By Mark C. Layton

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

Agile Beyond The Team 1

History of Agile Methods

werteorientierte Unternehmenskultur

Agile Development with C#

BUSINESS PROCESS OPTIMIZATION. OPTIMIZATION DES PROCESSUS D ENTERPRISE Comment d aborder la qualité en améliorant le processus

Introduction to Agile Software Development. EECS 690 Agile Software Development

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

Agile Software Development

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

LEAN AGILE POCKET GUIDE

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London conchango

ITSM Agile Intro Feb 5, 2015

Comparing Scrum And CMMI

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

Development. Lecture 3

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

Jukka Mannila KEY PERFORFORMANCE INDICATORS IN AGILE SOFTWARE DEVELOPMENT

Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP

Qu est-ce que le Cloud? Quels sont ses points forts? Pourquoi l'adopter? Hugues De Pra Data Center Lead Cisco Belgium & Luxemburg

Agile Projects 7. Agile Project Management 21

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

Another way to look at the Project Une autre manière de regarder le projet. Montpellier 23 juin - 4 juillet 2008 Gourlot J.-P.

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

Scrum In 10 Slides. Inspect & Adapt

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

Introduction to Agile Software Development

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

Issues in Internet Design and Development

Neglecting Agile Principles and Practices: A Case Study

Fondation Rennes 1. Atelier de l innovation. Fondation Rennes 1. Fondation Rennes 1 MANAGEMENT AGILE. Fondation Rennes 1 ET INNOVATION

Asset management in urban drainage

Agile QA s Revolutionary Impact on Project Management

Introduction. GEAL Bibliothèque Java pour écrire des algorithmes évolutionnaires. Objectifs. Simplicité Evolution et coévolution Parallélisme

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

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

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

Agile Software Development in the Large

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Role of Agile Methodology in Software Development

Agile Project Management


How To Understand The Limitations Of An Agile Software Development

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

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

Agile Processes and Distributed Projects: Dream or Nightmare?

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

Introduction au BIM. ESEB Seyssinet-Pariset Economie de la construction contact@eseb.fr

Aristotle in an Agile World. By Ben Allen

«Object-Oriented Multi-Methods in Cecil» Craig Chambers (Cours IFT6310, H08)

Developing the Agile Mindset for Organiza7onal Agility. Shannon Ewan Managing

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

Introduction to Agile Software Development Process. Software Development Life Cycles

Personnalisez votre intérieur avec les revêtements imprimés ALYOS design

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

site et appel d'offres

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

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

Agile Project Management

Expérience appui ANR Zimbabwe (Medicines Control Authority of Zimbabwe -MCAZ) Corinne Pouget -AEDES

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

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

Agile Execution for and Beyond IT

Office of the Auditor General / Bureau du vérificateur général FOLLOW-UP TO THE 2010 AUDIT OF COMPRESSED WORK WEEK AGREEMENTS 2012 SUIVI DE LA

How to manage agile development? Rose Pruyne Jack Reed

Introduction ToIP/Asterisk Quelques applications Trixbox/FOP Autres distributions Conclusion. Asterisk et la ToIP. Projet tuteuré

The Agile Manifesto is based on 12 principles:

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

Strategic Workforce Planning and Competency Management at Schneider Electric

Administrer les solutions Citrix XenApp et XenDesktop 7.6 CXD-203

Software Development with Agile Methods

Software Requirements and Specification

General Certificate of Education Advanced Level Examination June 2012

How can I be agile and still satisfy the auditors?

Laboratório de Desenvolvimento de Software

Agile Software Development. Mohsen Afsharchi

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

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

THE DEVELOPMENT OF OFFICE SPACE AND ERGONOMICS STANDARDS AT THE CITY OF TORONTO: AN EXAMPLE OF SUCCESSFUL INCLUSION OF ERGONOMICS AT THE DESIGN STAGE

Governments information technology

Introduction to Agile and Scrum

Formation à l ED STIC ED STIC Doctoral education. Hanna Klaudel

Enterprise Informa/on Modeling: An Integrated Way to Track and Measure Asset Performance

Guidance on Extended Producer Responsibility (EPR) Analysis of EPR schemes in the EU and development of guiding principles for their functioning

AGILE BUSINESS INTELLIGENCE

COMP 354 Introduction to Software Engineering

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

Introduction to Software Engineering: Overview and Methodologies

AgroMarketDay. Research Application Summary pp: Abstract

Agile Scrum Workshop

REQUEST FORM FORMULAIRE DE REQUETE

Transcription:

Advanced Software Engineering Agile Software Engineering 1 Version 1.0

Basic direction A agile method has to be A method is called agile if it follows Incremental the principles of the agile manifest. Cooperative Easy Based on Haneberg 2009 Adaptive Based on Abrahamsson et al 2002 2

The agile manifest We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 3

The twelve principles Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée. Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client. 4

The twelve principles Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts. Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet. 5

The twelve principles Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Réalisez les projets avec des personnes motivées. Fournissez-leur l environnement et le soutien dont ils ont besoin et faites-leur confiance pour atteindre les objectifs fixés. La méthode la plus simple et la plus efficace pour transmettre de l information à l'équipe de développement et à l intérieur de celle-ci est le dialogue en face à face. 6

The twelve principles Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Un logiciel opérationnel est la principale mesure d avancement. Les processus Agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant. 7

The twelve principles Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. Une attention continue à l'excellence technique et à une bonne conception renforce l Agilité. La simplicité c est-à-dire l art de minimiser la quantité de travail inutile est essentielle 8

The twelve principles The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly Les meilleures architectures, spécifications et conceptions émergent d'équipes autoorganisées. À intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence. 9

The agile manifesto focused statements Individuals and interactions Working software Customer collaboration over over over Process and tools Comprehensive documentation Contract negotiation Responding to change over Following a plan 10

What is Scrum? Scrum is a action in Rugby The action is complex and have to be planned and orchestrated Requires disciplined teamwork 11

Scrum scope Identify reasons, develop solutions To check the realisation of requirements inside software frequently Identify problems and handicaps early To perform the correct activities 12

Scrum process Product increment 13

Scrum-Philosophy Requirement for a new version should be minimal Deliver functionality as fast as possible and frequently No Big-Bang -Release with extensive amount of new functionality Every sprint create a product increment Procedure: Identify the lowest number of marketable attributes, which have a real added value 14

Scrum roles Product owner Roles Scrum Team Scrum master 15

Scrum process Requirement description Realisation Common procedure Requirement description Realisation Sprint 1 Scrum procedure Sprint N 16

Scrum process Customer End-user Stakeholder Product Backlog Team 17

Scrum Process Daily scrum 24 hours Sprint backlog Sprint planning meeting Part 2 Part 1 Sprint goal Return Return Cancel Gift Coupons wrap Sprint Backlog task 2-4 weeks (worked by the team) Gift Cancel wrap Coupons Product Backlog (prioritised by product owner) Sprint review meeting Potentially shippable product increment 18

Product Backlog Not fixed, it is a living document Iterative an incremental development Scrum does not know Change requests, but the Product Backlog should include changes All entries should be prioritised and the effort should be estimated 19

Product Backlog 20

Product Backlog Attributes, from the product concept, will be included in the product backlog. Product Owner group requirements to topics Product Owner has to set priority to the topic Product Owner refines the high priority requirements with the team Actualisation, refinement or cancellation of existing requirement Inclusion of new requirements 21

Set priority Prio Topic Description Acceptance criteria Effort 1 Calendar User wants to create a meeting 2 Calendar User wants to delete a meeting 3 Calendar User wants to change a meeting Test the input of false values, e.g. End time before start time Test if a meeting can be delete twice Test if changes are applied 2h 3h 1h 22

Requirement workshop Helpful tool for the identification of requirements All on one table Support for a common understanding, a common language and Establish a common understanding, language and adequate description More then one before the first sprint, regular during the sprints, to identify new sprints 23

Set priority Why? Relevant things first Precise refinement on the relevant requirements Team knows what is necessary for the success of the project and it is focused on this Setting priority is difficult! Product owner has to know customer requirement, and has to know which function relevant is. 24

Set priority Aim of the project is the generation of added values Primary question: How much added value is created by a requirement Risk, value, and costs Priority 25

Set priority Risk High Avoiding First Value Low Last Second Low High 26

Won t have 27 Set priority (MuSCoW pyramid) Must have Should have Could have

Scrum process Product increment Sprint 28

Scrum process Product Backlog Actual progress and current problems Release planning Sprint planning Daily planning Release plan Release plan 29

Release Burn down Chart 30

Sprints Standard sprint Smallest unit, to create an useable product Time frame is fixed Max 30 day Explorations sprint For trial Release sprint For configuration 31

Sprints Improvement activities Product Backlog Sprint planning Conversion activity and daily scrum Sprint review and sprint retrospective 32

Sprints Standards prints Start with a Sprint planning meeting Are used in analyse, design, implementation and test phase Use Agile techniques as TDD, FDD, Pair Programming, Refactoring etc. Deliver a product at Sprint Review Support the improvement of process in the Sprint retrospective 33

Sprint planning meeting Moderation by scrum master Product owner Sprint aims and requirements Add requirements, if realisable Sprint Team Activity definition estimation 34

Sprint backlog Priority Requirement To Do In Progress Done 1 2 3 4 35

Sprint burn down Activities 1 2 3 4 5 6 Days 36

Daily scrum Max. 15 Min. Same time Same place Moderation by Scrum Master All have to participate (passive Product Owner) Organisation, address problems (do not solve it!) 37

Daily scrum Preparation: Sprint Backlog Sprint Burn down Chart Three question to everybody: Work done?? Work planned? Problems? Write down all problems Use speech token if necessary 38

Sprint review Approval of work results Only requirements are discussed, which are completely and error free implemented (no 99% solutions) ~ 1 hour. Moderated by Scrum Master All have to participate 39

Sprint review Sprint aim Live-Demo of working result Product Owner analysis Product Owner decide 40

Sprint Retrospective Aim: Work together to improve the process When: Direct after the Sprint review Duration: ~ 1 hour. Who: all Moderation by Scrum Master 41

Sprint Retrospective Check -In, Jump outside the box Collect information max. 3 pos. and 3 neg./person all group Gain experience, group set priority, how this could happen? Take decision Conclusion 42

Training SCRUM ON ONE DAY (SOOD) Rules We are simulating SCRUM 3 Groups Aim is to develop a software architecture for program controlling ALL things necessary for the METRO in Paris (Ticketsystem, Train cotnrolling, Timeplan, Web, Mobile access,..) Simulation A working task (45 minutes is a day in real life) 43

SOOD - Initial Steps Step 0: Decide who is the Product Owner and who is the Scrum Master Step 1: Make a Requirement Session with the Product Owner ~ 60 Minutens Find as much requirement as you can find even you cannot focus all today Make a Product Backlog with Priorities Create a Burndown Chart Step 2: Make a Sprint Planning Meeting ~ 15 Minutes Plan 2 Weeks (Simulation) Plan 1 Task (UML Diagramm) per Person Create a Sprint Burndown Chart Create a Sprint Backlog 44

SOOD - Daily Scrum Step 3 - Each person work on your Topics (45 Minutes) Step 4 Make a first Daily Scrum Session (15 Minutes) Product Owner (Passiv) Scrum Master (Looking at the time and make Notes) Update your Sprint Backlog with history Each person should say Work done?? Work planned? Problems? Write down all problems 45

SOOD - Daily Scrum Step 5: Work on your next topics (45 Minutes) Step 6: Make a second Daily Scrum Session (15 Minutes) Step 7: Work on your next topics (45 Minutes) See Step 4 Step 8: Make a Sprint Review (See slide 39; 20 Minutes) Step 9: Make a Sprint Retrospective (20 Minutes) Remember Focus is to make your process better not the product 46