2009 - Basta!: Agiles requirements engineering

62
Agiles Requirements- Engineering Daniel Fisher [email protected]

Transcript of 2009 - Basta!: Agiles requirements engineering

Page 1: 2009 - Basta!: Agiles requirements engineering

Agiles Requirements-Engineering

Daniel [email protected]

Page 2: 2009 - Basta!: Agiles requirements engineering

Lennybacon.comDaniel Fisher | CTO & Software Architect

MCP, MCTS, MCPD…[email protected]

Mit-Gründer und Geschäftsführer von devcoach.comwww.devcoach.com

Mitglied von www.solution-EXPERTS.de

Mit-Gründer und Vorstand dergemeinnützigen www.just community.de e.V.

Veranstalter des größten Entwickler & IT-Pro Community Events in Deutschland: www.nrwconf.de

Mit-Gründer und Leiter derINETA Usergroup Düsseldorf

www.NetUG-NiederRhein.de

Mitglied im Microsoft Community Leader & Insider Program (CLIP)Connected Systems Advisory Board

Expertengruppe für WCF, WF & BizTalk

Page 3: 2009 - Basta!: Agiles requirements engineering

devcoach.com• Leistungen

– Architektur-Beratung• Strukturierter und effizienter zu einer wartbaren Anwendung.

– Prozessoptimierung• BPM• FDD, TDD, MSF Agile & SCRUM

– Software-Entwicklung• Team-out-of-the-box (Near-shoring)• Objektmodelle und Datenzugriff• Kommunikations-Infrastrukturen• Identitäts- und Berechtigungsmodelle• Web 2.0 und Rich Internet Applikation

– Coaching & Training• Technologien schneller verstehen und richtig einsetzen.

• Technologien– Microsoft Windows & .NET Framework

• ASP.NET, WCF, WF, WPF, Silverlight & Geneva

• Kunden– Versicherung, Finanzindustrie, Mittelstand, Handel, Kommunikation,

Softwarehersteller u.v.a.• Bundesamt für Sicherheit in der Informationstechnologie, Microsoft,

Dresdner Bank…

Project Experience

Technology Know-how

devcoach®

Page 4: 2009 - Basta!: Agiles requirements engineering

Agile Anforderungsanalyse...

Page 5: 2009 - Basta!: Agiles requirements engineering

Warum sind die Anforderungen so wichtig?

Page 6: 2009 - Basta!: Agiles requirements engineering

Der Erfolg eines Software-Projektes hängt von verschiedenen Faktoren ab!

Page 7: 2009 - Basta!: Agiles requirements engineering

Heisst das wenn man eine Anforderungsanalyse betreibt erhält man gute Software?

Page 8: 2009 - Basta!: Agiles requirements engineering

Die bloße existenz ist keine Garantie Wie bei allen anderen Faktoren!

Page 9: 2009 - Basta!: Agiles requirements engineering

Das ist nicht nur in der Software-Industrie so...

Page 10: 2009 - Basta!: Agiles requirements engineering

Ein Brot ist immer so gut wie seine Zutaten und sein Bäcker

Page 11: 2009 - Basta!: Agiles requirements engineering

Oder?

Page 12: 2009 - Basta!: Agiles requirements engineering

Wenn aus Eisen kein Gold werden kann... kann ein Prozess allein keine Gute Software machen!

Page 13: 2009 - Basta!: Agiles requirements engineering

Sehen wir uns die "Zutaten" mal an...

Page 14: 2009 - Basta!: Agiles requirements engineering

Customer Requirements

Page 15: 2009 - Basta!: Agiles requirements engineering

Functional Requirements

Page 16: 2009 - Basta!: Agiles requirements engineering

Non-functional Requirements

Page 17: 2009 - Basta!: Agiles requirements engineering

Derived Requirements

Page 18: 2009 - Basta!: Agiles requirements engineering

Allocated Requirements

Page 19: 2009 - Basta!: Agiles requirements engineering

Stakeholder identification

Page 20: 2009 - Basta!: Agiles requirements engineering

Stakeholder interviews

Page 21: 2009 - Basta!: Agiles requirements engineering

Requirements lists

Page 22: 2009 - Basta!: Agiles requirements engineering

Measurable goals

Page 23: 2009 - Basta!: Agiles requirements engineering

Prototypes

Page 24: 2009 - Basta!: Agiles requirements engineering

Use cases

Page 25: 2009 - Basta!: Agiles requirements engineering

Und trotzdem...

Page 26: 2009 - Basta!: Agiles requirements engineering
Page 27: 2009 - Basta!: Agiles requirements engineering

Sehen wir uns das Problem mal genauer an...

Page 28: 2009 - Basta!: Agiles requirements engineering

Der Kunde weiss gar nicht was er will?

Page 29: 2009 - Basta!: Agiles requirements engineering

Der Kunde will eine Software!Wenn er ein Auto kauft muss er das ABS dazu auch nicht selbst erfinden...

Page 30: 2009 - Basta!: Agiles requirements engineering
Page 31: 2009 - Basta!: Agiles requirements engineering

Der Kunde weiss gar nicht wie er die Anforderungen formulieren soll?

Page 32: 2009 - Basta!: Agiles requirements engineering

Der Kunde hat ein Geschäft, dass er kennt!Zu 99,9% ist das nicht das schreiben von Anforderungen...

Page 33: 2009 - Basta!: Agiles requirements engineering

Die Anforderungen des Kunden ändern sich mit der Zeit!

Page 34: 2009 - Basta!: Agiles requirements engineering

Die Welt dreht sich. Märkte ändern sich!Warum sollten Anforderungen in Stein gemeisselt sein...

Page 35: 2009 - Basta!: Agiles requirements engineering

Die Kommunikation mit dem Kunden ist schwer!

Page 36: 2009 - Basta!: Agiles requirements engineering

Jeder spricht die Sprache seiner Fachdomäne!Techniker auch...

Page 37: 2009 - Basta!: Agiles requirements engineering

Der Kunde hat keine Ahnung von Technologie

Page 38: 2009 - Basta!: Agiles requirements engineering

Woher soll der Kunde die Technologie kennen wie wir? Kennen wir seine Fachdomäne wie er?

Page 39: 2009 - Basta!: Agiles requirements engineering

Der Kunde versteht den Entwicklungs-Prozess nicht!

Page 40: 2009 - Basta!: Agiles requirements engineering

Verstehen wir seinen Geschäftsprozessohne, dass er diesen erklärt?

Page 41: 2009 - Basta!: Agiles requirements engineering

Der Entwickler verfasst oder interpretiert Anforderungen!

Page 42: 2009 - Basta!: Agiles requirements engineering

Der Entwickler kennt die Technologie!Nicht die Fachdomäne...

Page 43: 2009 - Basta!: Agiles requirements engineering

OK, Probleme identifiziert!

Page 44: 2009 - Basta!: Agiles requirements engineering

Aber wie kann uns "Agil" helfen?

Page 45: 2009 - Basta!: Agiles requirements engineering

Agil != Funky

Page 46: 2009 - Basta!: Agiles requirements engineering

agil <Adj.> [frz. agile < lat. agilis] (bildungsspr.): von großer Beweglichkeit zeugend; regsam, flink, gewandt und wendig (bes. Körperlich und geistig).

Page 47: 2009 - Basta!: Agiles requirements engineering

Messen, messen, messen!Nicht nur einmal raten!

Page 48: 2009 - Basta!: Agiles requirements engineering

Ein Projekt hat ein meist fixes BudgetFür das Software Programmiert werden kann

Page 49: 2009 - Basta!: Agiles requirements engineering

Ein Projekt hat ein meist eine DeadlineBis zu der Software Programmiert werden kann

Page 50: 2009 - Basta!: Agiles requirements engineering

Agilität heisst Kurskorrekturen ein zu planenDas Ziel genauer zu treffen!

Page 51: 2009 - Basta!: Agiles requirements engineering

Wie kann man denn Aufwände schätzen wenn der Umfang nicht von vorne herein klar ist?

Page 52: 2009 - Basta!: Agiles requirements engineering

Heisst das nicht, dass vieles doppelt entwickelt wird?

Page 53: 2009 - Basta!: Agiles requirements engineering

Ist so ein Ansatz denn schon Reif?

Page 54: 2009 - Basta!: Agiles requirements engineering

Ein Beispiel aus einem Projekt...

Page 55: 2009 - Basta!: Agiles requirements engineering

The Manual

Page 56: 2009 - Basta!: Agiles requirements engineering

Small iterations Gather Requirements

Design

DevelopTest

Review

Page 57: 2009 - Basta!: Agiles requirements engineering

Und die Tools?

Page 58: 2009 - Basta!: Agiles requirements engineering

A fool with a tool is still a fool!Besonders bei agilen Methoden!

Page 59: 2009 - Basta!: Agiles requirements engineering
Page 60: 2009 - Basta!: Agiles requirements engineering
Page 61: 2009 - Basta!: Agiles requirements engineering
Page 62: 2009 - Basta!: Agiles requirements engineering