24
www.immobilienscout24.de ImmobilienScout24 Introduction and use of agile methods for software development www.immobilienscout24.de Berlin | 23.06.2009 | André Neubauer

ImmobilienScout24 - Introduction and use of agile methods for software development

Embed Size (px)

DESCRIPTION

This presentation is a summary of the introduction of agile methods at ImmobilienScout24, including approach, review and lessons learned.

Citation preview

Page 1: ImmobilienScout24 - Introduction and use of agile methods for software development

www.immobilienscout24.de

ImmobilienScout24 Introduction and use of agile methods for software development

www.immobilienscout24.de

Berlin | 23.06.2009 | André Neubauer

Page 2: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 2 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Contents

(1)  Facts (2)  Retrospection (3)  Introduction of agile processes and methods (4)  Review (5)  Outlook

Page 3: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 3 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Chapter 01

(1)  Facts (2)  Retrospection (3)  Introduction of agile processes and methods (4)  Review (5)  Outlook

Page 4: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 4 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Facts – ImmobilienScout24 "   ImmobilienScout24 is the leading

real estate portal in the German speaking countries. With more than 450 employees in Berlin we hope to offer the best service to all our customers:

"   >3.7 MM unique users/ month

"   > 1 BN page impressions/ month

"   > 150 MM virtual real estate visits/ month (viewing of exposé)

"   > 1.2 MM real estate objects/ month

"   > 95.000 real estate providers/ month

Page 5: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 5 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Facts – ImmobilienScout24 "   Team leader IT development,

professional agents

"   Teamdesign & -development, Introduction of agile methods for software development

"   Graduated in computer sciences, business informatics

"   Certified ScrumMaster

"   Member of Java user group Berlin

Blog: http://www.devpg.com Twitter: http://www.twitter.com/devpg

Page 6: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 6 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Chapter 02

(1)  Facts (2)  Retrospection (3)  Introduction of agile processes and methods (4)  Review (5)  Outlook

Page 7: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 7 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Waterfall modell " Idea " Analysis " Design " Implementation " Post-processing

Source: Wikimedia Commons

Page 8: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 8 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Retrospection

Project A " > 800 MD

" Two dedicated project managers

" Departments for software development and testing nearly completely blocked

" Continuous maintenance of project plan based on real progress

Project B " > 220 MD

" Two releases too late

" More than 75 bugs, a lot of them critical

" First release didn’t really fit customer expectations

" Explicit assignment of tasks

Page 9: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 9 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Retrospection – Problems

" Long running projects without iterations

" Succession projects (neverending projects)

" Long time to market

" Missing company wide prioritization

" Unreproducible re-prioritization

" Classic project business

" Unhappiness of product managers and developers

Page 10: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 10 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Chapter 03

(1)  Facts (2)  Retrospection (3)  Introduction of agile processes and methods (4)  Review (5)  Outlook

Page 11: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 11 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Introduction of Scrum

"   02/2008 Two product managers and two IT team leader attended a Certified Scrum Master (CSM) training

"   06/2008 Recommendation of the CSMs regarding a Scrum introduction at IS24

"   08/2008 Combined CSM and CSPO training for product manager and software developer (36 EE)

"   09/2008 Start of the first IS24 Scrum team

"   03/2009 Second wave of training for managers and team leads

"   05/2009 Company wide Scrum introduction completed

Driven by IT-management

Page 12: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 12 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Introduction of Scrum

Task Sep Oct Nov Dec Jan Feb Mar Apr Mai Jun Jul Aug

Sprint 4 – PMI 2

Sprint 7 – PMI 3, BBP

Sprint 13 – OC1, OC2a/b

Sprint 15 – SAT

Sprint 1 – PMI 1

Sprint 17 – OM

Sprint 15 – PMI 4, C&S

Page 13: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 13 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Introduction of Scrum

"   No cross-functional teams

"   Additional support via support teams

"   Two week sprints until 03/2008, now three week sprints

"   Daily sync between teams and exchange of impediments

Wednesday (week 1) Week 2 Tuesday (week 3)

Sprint Planning 1

Daily standup

Review Estimation meeting

Sprint Planning 2 Retrospective

Page 14: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 14 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Introduction of agile methods

"   Pair programming

"   Establish IT-specialists within the team to be independent

"   Continuous refactoring

"   Permanent testing

Source: http://www.cenqua.com/pairon

This is not XP!

Page 15: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 15 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Chapter 04

(1)  Facts (2)  Retrospection (3)  Introduction of agile processes and methods (4)  Review (5)  Outlook

Page 16: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 16 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Review

" Product business instead of project business (which is much better for our business)

" Company wide backlog and priorization to get a vision what is needed

" Reduced time to market

" Increased software quality

" Satisfaction of product owner, customer and developer

" Scrum is the right scope to improve sw/hw structure continuously

About 70% of complete Scrum organisation reached

Page 17: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 17 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Review – Trend: projects vs. todos

0

2

4

6

8

10

12

14

16

0

20

40

60

80

100

120

140

ProjectsTodosLinear (Todos)Linear (Projects)

Page 18: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 18 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Review – Trend: bugs/ release

0

50

100

150

200

250

300

TestingProductionSumOverallLinear (Overall)

Page 19: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 19 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Review – Success story „Objekt-Archiv“

" Implementation within one sprint (three weeks)

" No errors during testing

" After 9 weeks available at ImmobilienScout24

" Enthusiasm of PO and customers

Starting point: Go in circles for more than 18 months

Page 20: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 20 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Review – Lessons learned

" Use external coach to implement Scrum (it is a rocky road)

" Involve whole company including top management

" Scrum will expose problems and bottlenecks

" Use Scrum masters to improve the organisation

" Scrum for external and virtual teams needs additional attention

" Have a periodical review to ensure you are on track

" Scrum will change your company

Page 21: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 21 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Review – Lessons learned at daily business

" Have as less dependencies as possible

" Solve impediments as early as possible

" Use sprint planning to get a common understanding about stories, tasks and implementation

" Sprint review is not about acceptance but feedback

" Daily Scrum is not for discussion

" Stories should be worked on serially

Page 22: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 22 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Chapter 05

(1)  Facts (2)  Retrospection (3)  Introduction of agile processes and methods (4)  Review (5)  Outlook

Page 23: ImmobilienScout24 - Introduction and use of agile methods for software development

Page 23 | ImmobilienScout24 – Introduction and use of agile methods for software development | André Neubauer

Outlook

"   Get the last 30% to be complete Scrum organization

"   Scrum master organization as incubation centre for a common understanding of Scrum

"   Continuing reduce time to market

"   Include remaining departments in agile procedure

"   Involve QA earlier

"   Optimize build and deployment (“continuous deployment”)

"   Rethink team size and structure

"   Periodical review and use of best practices

Still things to improve

Page 24: ImmobilienScout24 - Introduction and use of agile methods for software development

www.immobilienscout24.de

Contact: Immobilien Scout GmbH Andreasstraße 10 10243 Berlin

Fon: +49 (0)30 243 01-1571 Email: [email protected] URL: www.immobilienscout24.de

Thank you for your attention!