59
Michael Ehresmann, Michael Rölle, Christian Sporer Agile Requirements Engineering

Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Michael Ehresmann, Michael Rölle, Christian Sporer

Agile Requirements Engineering

Page 2: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Insiders Technologies

Leading vendor

„intelligent document processing and business process optimization“

| 05.02.2015 |

© Insiders Technologies Page 2

Page 3: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Insiders Technologies Founded 1998 German Research Center for Artificial Intelligence (DFKI) 120 Employees

| 05.02.2015 |

© Insiders Technologies Page 3

Page 4: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

More than 800

| 05.02.2015 |

© Insiders Technologies Seite 4

Page 5: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Insiders Technologies

Industries: Insurance & financial services

Seite 5 | 05.02.2015 | © Insiders Technologies

Page 6: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Insiders Technologies

Industries: Manufacturing, Retail

Seite 6 | 05.02.2015 | © Insiders Technologies

Page 7: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Insiders world-wide

Seite 7 | 05.02.2015 | © Insiders Technologies

Page 8: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Multichannel Management

Seite 8 | 05.02.2015 | © Insiders Technologies

Page 9: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Multichannel-Management

Seite 9 | 05.02.2015 | © Insiders Technologies

Archiv

ERP

CRM

Konfiguration Administration

Extraktion Klassifikation

Verifikation

Reporting

Intelligente Kopplung an Geschäftsprozesse

4 Nach-

bearbeitung

3

Automatische Analyse

2 Anbindung aller Eingangskanäle

1

Analysedienst

Page 10: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Seite 11 | 05.02.2015 | © Insiders Technologies

A B D C

KLASSIFIKATION UND EXTRAKTION DER RELEVANTEN DATEN

1 NACHBEARBEITUNG DER AUSGELESENEN DATEN

2

INTELLIGENTE KOPPLUNG AN GESCHÄFTSPROZESSE

3

ARCHIV PDF/A

CRM/ERP

Page 11: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Working Fields

Seite 12 | 05.02.2015 | © Insiders Technologies

Image Processing Self-Learning Autoadaption Domain Specific Language Search Technologies Content Classification

Page 12: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Technologies

Seite 13 | 05.02.2015 | © Insiders Technologies

Page 13: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Web Verifier

Seite 14 | 05.02.2015 | © Insiders Technologies

Page 14: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Insiders App

Seite 15 | 05.02.2015 | © Insiders Technologies

Page 15: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

INTELLIGENT E-MAIL

Seite 16 | 05.02.2015 | © Insiders Technologies

Page 16: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

smart E-MAIL PILOT

Seite 17 | 05.02.2015 | © Insiders Technologies

Page 17: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Insiders Technologies

Insiders-technologies.de

| 05.02.2015 |

© Insiders Technologies Page 18

Page 18: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Research & Development

Seite 19 | 05.02.2015 | © Insiders Technologies

Joint R&D Lab

Page 19: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Insiders Technologies is a

Seite 20 | 05.02.2015 | © Insiders Technologies

Page 20: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Development@Insiders

Seite 21 | 05.02.2015 | © Insiders Technologies

Design Thinking Scrum & eXtreme Programming

Page 21: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Design Thinking@Insiders

Bring different expertise together

Put the customer into the center – empathy phase

Set up a space for creativity

Let the team produce prototypes

Fail early and often - Test prototypes and learn

Find best ideas and solutions

Seite 22 | 05.02.2015 | © Insiders Technologies

Page 22: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

SCRUM@Insiders

Seite 24 | 05.02.2015 | © Insiders Technologies

Page 23: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

The Product Backlog

Seite 25 | 05.02.2015 | © Insiders Technologies

Requirements Document

Ordered Featurelist

Product Backlog Item

Page 24: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

The Product Backlog

Seite 26 | 05.02.2015 | © Insiders Technologies

PRIORITY - ORDER HIGH

LOW

Product Backlog Item

Page 25: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

The Product Backlog

Seite 27 | 05.02.2015 | © Insiders Technologies

Prouct Backlog Itemem

User Stories Examples Use Cases

Page 26: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

A promise for a conversation – User Story

Seite 28 | 05.02.2015 | © Insiders Technologies

Page 27: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

What is a good User Story?

Independent

Negotiable

Valuable

Estimable

Small

Testable

Seite 29 | 05.02.2015 | © Insiders Technologies

Page 28: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Build right or Right product?

Seite 30 | 05.02.2015 | © Insiders Technologies

Right product

Build right

Specification by example Com

mun

ity fo

cus

in la

st 1

0 ye

ars

Maintenance nightmare

Useless crap

Success Business failure

Page 29: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

The process

Seite 31 | 05.02.2015 | © Insiders Technologies

business goals deriving scope from

goals

specification with

examples

specifying collaboratively illustrating

using examples

scope (user stories, …)

refining the specification

key examples

Page 30: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Deriving scope from goals

Seite 32 | 05.02.2015 | © Insiders Technologies

Page 31: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Deriving scope from goals

As a jet pilot, I want the F16 to fly Mach 2.5, so that I can espace any fight.

Seite 33 | 05.02.2015 | © Insiders Technologies

Page 32: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Deriving scope from goals

Seite 34 | 05.02.2015 | © Insiders Technologies

Page 33: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

specification with

examples

The process

Seite 35 | 05.02.2015 | © Insiders Technologies

business goals deriving scope from

goals

specifying collaboratively illustrating

using examples

scope (user stories, …)

refining the specification

key examples

Page 34: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Specify collaboratively

Seite 36 | 05.02.2015 | © Insiders Technologies

Developer Tester Business Analyst

Page 35: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Illustrating using examples

Best Practices Realistic examples No abstract equivalence classes (e.g. smaller than 10) No combinatorial task to find examples only key examples No clean copy use pen & paper Lo-Fi prototypes for the GUI Play with the data to find new examples

Seite 37 | 05.02.2015 | © Insiders Technologies

Page 36: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

specification with

examples

The process

Seite 38 | 05.02.2015 | © Insiders Technologies

business goals deriving scope from

goals

specifying collaboratively illustrating

using examples

scope (user stories, …)

key examples

refining the specification

Page 37: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Refining the specification

Seite 39 | 05.02.2015 | © Insiders Technologies

Rules • Free delivery is offered to VIP customers once they purchase a certain

number of books. • The minimum number of books to get free delivery is five • Free delivery is not offered to regular customers • Free delivery is not offered to VIP customers buying anything other than

books Examples

Customer type Cart contents Delivery Customer type Cart contents Delivery VIP 5 books Free

Customer type Cart contents Delivery VIP 5 books Free VIP 4 books Standard

Customer type Cart contents Delivery VIP 5 books Free VIP 4 books Standard

Regular 10 books Standard

Customer type Cart contents Delivery VIP 5 books Free VIP 4 books Standard

Regular 10 books Standard VIP 5 washing machines Standard

Customer type Cart contents Delivery VIP 5 books Free VIP 4 books Standard

Regular 10 books Standard VIP 5 washing machines Standard VIP 5 books, 1 washing machine Standard

Page 38: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

An Example

Use Context

As a customer I want to see the availability of a computer configuration so that I can change my configuration based on what is available.

Seite 40 | 05.02.2015 | © Insiders Technologies

possible stock states for parts: • Available

• Ordered

• Out of stock

CPU

RAM

HDD

Main-board

Page 39: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

An Example

Use Context

As a customer I want to see the availability of a computer configuration so that I can change my configuration based on what is available.

Seite 41 | 05.02.2015 | © Insiders Technologies

possible stock states for parts: • Available

• Ordered

• Out of stock

CPU

RAM

HDD

Main-board

Let‘s specify collaboratively!

Page 40: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

The Solution

Rules

If all parts are available the computer is available

If at least one part is out of stock, then the computer is out of stock

If no part is out of stock and at least one part is ordered, then the computer is ordered

(An empty or incomplete configuration is not orderable)

Seite 42 | 05.02.2015 | © Insiders Technologies

Page 41: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Agile Planning

Backlog Managment

Seite 43 | 05.02.2015 | © Insiders Technologies

Page 42: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Rank Order

Seite 44 | 05.02.2015 | © Insiders Technologies

Product Backlog Item

essential

dispensable

Page 43: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Level of Detail

Seite 45 | 05.02.2015 | © Insiders Technologies

Product Backlog Item

fine-grained i.e., small user stories

coarse-grained i.e., epics

20 %

80 %

size

Page 44: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Seite 46 | 05.02.2015 | © Insiders Technologies

Product Backlog Item Product Backlog Item

Backlog Grooming

Page 45: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Backlog Grooming

Seite 47 | 05.02.2015 | © Insiders Technologies

rearrange split

Page 46: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

1

How to estimate ?

Seite 48 | 05.02.2015 | © Insiders Technologies

Page 47: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

1

Choose a reference

Seite 49 | 05.02.2015 | © Insiders Technologies

Page 48: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

1

Estimate the size

Seite 50 | 05.02.2015 | © Insiders Technologies

possible values: 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100,

Page 49: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

1

Estimate the size

Seite 51 | 05.02.2015 | © Insiders Technologies

possible values: 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100,

Page 50: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

1

Estimate the size

Seite 52 | 05.02.2015 | © Insiders Technologies

possible values: 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100,

Page 51: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Relative Estimation

Seite 53 | 05.02.2015 | © Insiders Technologies

Magic Estimation Game!

Page 52: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Magic Estimation Game

Seite 54 | 2/5/2015 | © Insiders Technologies

1 2 3 5 8 13 …

Page 53: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Magic Estimation Game

Seite 55 | 05.02.2015 | © Insiders Technologies

Draw different columns on a board.

Label each column with one number representing the size of the items.

The Product Owner presents each item to the team.

The Product Owner distributes the items randomly and evenly among the team.

Each team member chooses the right column (i.e. size) for his items.

Once all items are on the board, the team members can change other estimations.

Items that often change columns are removed from the board and discussed

afterwards.

Using the Magic Estimation Game, you can estimate a complete backlog within one

or two hours!

Page 54: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Release Planning

Seite 56 | 05.02.2015 | © Insiders Technologies

Product Backlog Item

Iteration 1

Iteration 2

Iteration 3

Iteration 4

Release 1

Estimates are measured in story points. I know my team can implement 20 story points in one iteration. If the product backlog contains 80 points of items, we will need 4 iterations.

Page 55: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Story Map – 2 dimensional backlog

Seite 57 | 05.02.2015 | © Insiders Technologies

Epics

Stories

Page 56: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Story Map – 2 dimensional backlog

Seite 58 | 05.02.2015 | © Insiders Technologies

Find the epics – the big stories - for your product Bring the epics into the right order. The most important epic is on the top left. After that, assign each backlog item to the corresponding epic. Order the Items for instance with lines as priority. In the scope of an epic, it should be very easy to order the items.

The first line in the Story Map is your smallest possible product.

Page 57: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Conclusion

Agile specification is teamwork.

The customer is part of the team.

Backlog grooming is a steady process.

For each requirement, choose the right technique.

Do not rely on a single specification technique.

Prioritize the requirements on the basis of their business value.

Seite 59 | 05.02.2015 | © Insiders Technologies

Page 58: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

The books

• Gojko Adzic: Specification by Example: How Successful Teams Deliver the Right Software, 978-1617290084

• Kent Beck: Extreme Programming Explained: Embrace Change. Addison-Wesley, 0201616416

• Mike Cohn: User Stories Applied. For Agile Software Development. Addison-Wesley, 978-0-321-20568-1

• Mike Cohn: Agile Product Management with Scrum: Creating Products That Customers Love. Addison-Wesley, 9780321605788

• Robert C. Martin: Agile Estimating and Planning. Prentice Hall, 0131479415

• Ken Schwaber: Agile Software Development with Scrum. PEARSON STUDIUM, 978-0132074896

Seite 60 | 05.02.2015 | © Insiders Technologies

Page 59: Agile Requirements Engineering RE_… · Design Thinking@Insiders Bring different expertise together ... • Gojko Adzic: Specification by Example: How Successful Teams Deliver the

Exercise

Specification by Example Friday, Febrary 13th 8:00 – 9:30 am

Seite 61 | 05.02.2015 | © Insiders Technologies