Anforderungen, Architektur, Projektvertrag – ein Trio von Freunden(?)

23
Anforderungen, Architektur und Projektvertrag – ein Trio von Freunden(?)! Vortrag auf der OOP 2010 Matthias Bohlen <[email protected]> Unabhängiger Coach und Berater

Transcript of Anforderungen, Architektur, Projektvertrag – ein Trio von Freunden(?)

Anforderungen, Architektur und Projektvertrag – ein Trio von Freunden(?)!

Vortrag auf der OOP 2010Matthias Bohlen <[email protected]>Unabhängiger Coach und Berater

Requirements

How should they look like?

3

The Ship: A Model for Requirements

Online Store

Advertise Order Invoice

Identify promotion Register user

Setup promotion Monitor promotion Place order Create invoice

Business Goals

User Goals

Alistair Cockburn

Overall project

Functions Identify product Identify customer

4

User Stories: The three C's

Card

Conversation

Confirmation

Ron Jeffries

5

A story template

<Story title><Role> can <do what>so that <why>

How to demo:

1. System does this…

2. User does that…

3. System reacts like this…

Business value

Effort estimate

Issue#

6

Example Story

Review submissionReviewer can review a submissionso that the chairman will knowhow good it is.

How to demo:

1. System lists submissions assigned to this reviewer

2. Reviewer selects submission for download

3. System serves document file

4. Reviewer assigns rating: A (strong) to D (poor)

300

3857

5

7

INVEST in good stories!Bill Wake

Independent

Negotiable

Valuable

Estimatable

Small

Testable

Architecture

How do we find it?

9

Conceptual ContoursN

on-f

unct

ional

forc

es

Architecture

10

NFRTransformation

Non-FunctionalRequirements

z

Architectural metamodel

Architect

11

Architectural Metamodel

Application

Module Data Service

Entity Value Object

à la Eric Evans' DDD

12

User

ConferenceController

user/register.gsp

Conference Submission

Submission

View

Controller

Service ConferenceService

DomainTag

Example: splendicon.net powered by

13

From Story to Architecture

noun concept controller name

verb action controller method name

noun concept entity name

noun attribute name

14

From Story to Architecture

Review submissionReviewer can…

How to demo:1. System lists submissions assigned to this reviewer2. Reviewer selects submission for download3. System serves document file4. Reviewer assigns rating A (strong) to D (poor)5. Reviewer comments on his rating6. System assigns rating and comment to submission

300

3857

5

concept / entityaction

attribute

action

15

Result: Model elements

SubmissionSubmissionControllerSubmissionController.listSubmissions()

ReviewReview.ratingReview.comment

SubmissionController.assignReview()

Project Contract

How do we satisfy both customer and developers?

17

Contracts are a matter of trust

Customer asks:Will they develop what I need?Do they understand me?Do they charge me for every change?Do I have to know everything in advance so that changes are minimal?Do they keep their promised delivery date?

Developers ask:Will they pay us?Do they clearly say what they need?Fixed-price project: How about all those changes they want? Fixed-time project: How do we keep the release date facing all those changes?

Usual reaction: Customer installs rich, heavy-weight change management process !

18

Scrum overview

Image available at www.mountaingoatsoftware.com/scrum

19

Product Backlog: Sprint #1

Story 1 Goal:Deliver

business valuein shortest

possible time

500 3

Story 2 300 5

Story 3 200 8

1000 16

20

Scrum: Changes for free

CancelGift wrap

Return

Sprint2-4 weeks

Return

Sprint goal

Sprint backlog

Potentially shippableproduct increment

Productbacklog

CouponsGift wrapCoupons

Cancel

24 hours

21

Scrum Change Management

Product Backlog:Sorted by

descendingbusiness valueStories

New storywith high bizvalue

Story withlowest bizvalueEffort estimate for added story must be

less or equal to sum of removed stories.

22

Money for nothingBusiness

valueRise in business value is non-linear

100%

Terminate here! Original plan

€€€ saved

80% to customer

20% to developers Time

80%

23

Three friends, now! Questions?

Call:+49 (170) 7728545

e-mail:[email protected]