27
Continuous Software Development - Catching the Flow in Software Engineering - Christian Wende, DevBoost GmbH 14. Januar 2013, Dresden

Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

Continuous Software Development - Catching the Flow in Software Engineering -

Christian Wende, DevBoost GmbH

14. Januar 2013, Dresden

Page 2: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 3

Agenda

E!zienzprobleme im Entwicklungsvorgehen

Flow als wichtigstes Optimierungskriterium

Flow in der Softwareentwicklung

Konkrete Beispiele für Flow

Round-Up

Page 3: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 5

Wie ist Software-

entwicklung in der

Industriellen Praxis?

Quelle: Zerotournaround; Developer

Productivity Report 2012

26%!

26%!

30%!

39%!

53%!

Buggy Software!

Lack of motivation!

Bad Management!

Boring Tasks!

To much multitasking!

What makes developers less efficient!

Page 4: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 7

Agenda

E!zienzprobleme im Entwicklungsvorgehen

Flow als wichtigstes Optimierungskriterium

Flow in der Softwareentwicklung

Konkrete Beispiele für Flow

Round-Up

Page 5: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 8

Was ist Flow? [Csikszentmihalyi]

Scha"ensrausch - mit Gefühl von

- Kontrolle

- Mühelosigkeit

- Zeitlosigkeit

- Tätigkeitsverschmelzen

=> Ansatz zur E!zienzsteigerung in der Softwareentwicklung

Page 6: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 9

Voraussetzungen für Flow

Notwendige Bedingungen

A) Eindeutige Schritte

B) Direktes Feedback

C) Unterbrechungsfrei

D) Skills & Tools

Page 7: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 10

Herausforderung vs.

Fähigkeiten

Page 8: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 12

Agenda

E!zienzprobleme im Entwicklungsvorgehen

Flow als wichtigstes Optimierungskriterium

Flow in der Softwareentwicklung

Konkrete Beispiele für Flow

Round-Up

Page 9: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

???

14. Januar 2013 13

Was ist der Job to be Done

in der Software-

entwicklung?

Page 10: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 14

How the Job

Is to be Done

nach Ullwick

Analyse Teamorganisation

Umsetzung

Flow

Page 11: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 16

Agenda

E!zienzprobleme im Entwicklungsvorgehen

Flow als wichtigstes Optimierungskriterium

Flow in der Softwareentwicklung

Konkrete Beispiele für Flow

Round-Up

Page 12: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 17

Flow in der Analyse

Beispiel:

Anforderungs-spezi#kation

A) Eindeutige Schritte

B) Direktes Feedback

Nutzungsszenarien beschreiben

D) Skills & Tools

C) Unterbrechungsfrei

Prüfbar durch Klienten

Ausführbar als Test

Natürlichsprachliche Kommunikation

Page 13: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 18

Natural Speci#cation

NatSpec •  De#nition von Anforderungen in natürlicher Sprache

•  Ausführung durch Abbildung auf Unit Tests [Demo]

Page 14: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 19

Flow in der Team-organisation

Beispiel:

Aufgaben-planung

A) Eindeutige Schritte

B) Direktes Feedback

Todoliste

D) Skills & Tools

C) Unterbrechungsfrei

Daily Chronicle

Transparent und übergreifend

Natürliche Sprache, Reminder, Aggregatoren, Generatoren

Page 15: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 20

Organisation mit

SmartText

SmartText •  Natürlichsprachlicher Text als universales Medium zur

Arbeitsorganisation –  Todos (Aufgaben, Erinnerungen, Priorisierung) –  Kontakte (Daten, Verlauf ) –  Projekte (Planung, Durchführung) –  Marketing (Artikel, Social Media, etc) –  Events (Ort)

•  Annotation mit Semantik über HashTags (#todo, #event)

•  Interpreter zur Automatisierung

Page 16: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 21

Todos & Chronicle

Page 17: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 22

Events & Website

Page 18: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 23

Events & Website

Page 19: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 24

Flow in der

Umsetzung

Beispiel: JPA

Persistenzschicht

A) Eindeutige Schritte

B) Direktes Feedback

Prozeß und Abstraktion

D) Skills & Tools

C) Unterbrechungsfrei

Sofortige Validierung

Hohe Automatisierung

Spezielle IDE

Page 20: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 25

Hibernate DSL

HEDL •  Domänenspezi#sche Sprache für Java Persistence API (e.g. JPA)

•  Generierung von Entitäten, DAOs und Testfällen [Demo]

Page 21: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 27

Agenda

E!zienzprobleme im Entwicklungsvorgehen

Flow als wichtigstes Optimierungskriterium

Flow in der Softwareentwicklung

Konkrete Beispiele für Flow

Round-Up

Page 22: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 28

A) Eindeutige Schritte

Autofahrt von Dresden nach Rom

Google Maps Kartennavigation

50 Schritte 50 Schritte

Routenanfrage: 30 sec Anhalten: 30 sec (50 mal)

Ausdrucken: 30 sec Nachschlagen: 30 sec (50 mal)

Abfahren: 30 sec (50 mal)

1 min 75 min + 18 Verkehrsverstöße

Die faszinierende Mathematik

des Flow

Page 23: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 29

A) Eindeutige Schritte

B) Direktes Feedback

Software entwickeln (35h Programmieraufwand, 50 Commits)

CI System (z.B. Jenkins) Lochkarte

50 Server-Builds pro Woche 5 Rechennächte pro Woche kompilieren

50 * 5 min warten 50 * eine Nacht warten

35 h programmieren 5 h Leerlauf

35 h programmieren 2 Monate Leerlauf

Die faszinierende Mathematik

des Flow

Page 24: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 30

A) Eindeutige Schritte

B) Direktes Feedback

C) Unterbrechungsfrei

Emails bearbeiten

Sofort 1 mal am Abend

50 Mails über Tag verteilt 50 Mails einmal am Abend

Laden: 5 sec (50 mal) Laden: 5sec

Lesen: 30 sec (50 mal) Lesen: 30 sec (50 mal)

Antworten: 60 sec (10 mal) Antworten: 60 sec (10 mal)

Arbeit fortsetzen: 60 sec (50 mal) Feierabend: 0 sec

1,5 h 0,5 h

Die faszinierende Mathematik

des Flow

Page 25: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 31

A) Eindeutige Schritte

B) Direktes Feedback

D) Skills & Tools

C) Unterbrechungsfrei

Kellerloch ausheben (250 m3)

Bagger Schaufel

150 m3 am Tag 6 m3 am Tag

2000 kcal Energieverbrauch 4000 kcal Energieverbrauch

2 Tage Bagger fahren 40 Bananen essen

2 Monate im Erdloch 1.460 Bananen essen

Die faszinierende Mathematik

des Flow

Page 26: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

14. Januar 2013 32

Den Flow selbst

erfahren

Freizeit Trial Versionen (Ende Jan 2013) •  NatSpec: nat-spec.com

•  HEDL: hibernate-dsl.org

•  Testlizenzen bei [email protected]

Vertiefungsthemen •  Model-driven Software Development

•  Continuous Delivery

•  Agile Software Development

Beleg- und Diplomarbeiten •  Themenliste bei [email protected]

Page 27: Continuous Software Developmentst.inf.tu-dresden.de/files/teaching/ws12/ring/2013... · Continuous Software Development ... Januar 2013 3 Agenda E!zienzprobleme im Entwicklungsvorgehen

Disclaimer.

Danke!

Fragen?

http://www.devboost.de

[email protected]

14. Januar 2013 33