1. Agile Anwendungsentwicklung
im Web 2.0
Showcase der Medieninformatik
an der Fachhochschule Köln
24. Oktober 2012
Tim S chneider, M.Sc.
tim@Railslove.com
2. Tim?
28 Jahre, Web-Entwickler aus Köln
2003-2007 Medieninformatik im Bachelor
2007-2011 Medieninformatik im Master
2007 Gründung der Railslove GbR
mit Jan Kus und Michael Bumann
2010 Gründung der Railslove GmbH
Web-Entwickler, -Konzepter, Frontendler,
Geschäftsführer und Unternehmer
3. 15 Web Professionals, als Dienstleister im Einsatz in der
internationalen Web-Start-Up-Branche
oft Technik-Partner bei Neu-Gründungen im Web
Idee, Konzept, Entwicklung, Betrieb, Wartung,
Produktmanagement, Internationalisierung, Skalierung, ...
Studentenjobs
Apartments sta
tt Hotels Film-Empfehlungen
Nachhaltige Produkte
5. - da listFeedburne r Wordpress Ne ter Wong form
vimeo YouTube d el.icio.us digg Mis
mblr poster ous PageFlakes Yahoo Pipes Pla zes Technorati
ufoo Pic asa 30 Boxes 12 seconds App.net Milk Ta-da listF
Agile ck Inst agram Facebook Remember The
re BackpaAnwendungsentwicklung ySpace tumblr posterou
ourSqua im Web 2.0 hing Flickr Twitter M
or dpress New sGator channelt ter Wong formsp ring Wufoo Pi
eFlakes vimeo YouTube d el.icio.us digg Mis quare Back
ag
oo Pipes Plazes Technorati FourS
B oxes 12seco nds App.net Yah a-da listFeedburn er Wordpress N
n stagram Facebook Reme mber The Milk T Flakes vimeo Y
MySpace tumblr st now age
pojusterous–P@tmschndr
cha nnelthin g Flickr Twitter Picasa 30 Box es 12seconds A
del.icio.us dig g Mister Wong f ormspring Wufoo tagram Faceboo
norati FourSqua re Backpack Ins
Yahoo P ipes Plazes Tech ordpress News Gator channelth
The Milk Ta-da listFeedburner W
Remember geFlakes vimeo Y ouTube del.icio.us
Twitte r MySpace tum blr posterous Pa .net Yahoo Pipes
Picasa 30 Boxe s 12seconds App
ormspring Wufoo The M
6. - da listFeedburne r Wordpress Ne ter Wong form
vimeo YouTube d el.icio.us digg Mis
mblr poster ous PageFlakes Yahoo Pipes Pla zes Technorati
ufoo Pic asa 30 Boxes 12 seconds App.net Milk Ta-da listF
mmh, k Inst agram Face2.0k– boo emem er The
Rwasbist das
re Backpacgenau... Web r Twitter MySpace tumblr posterou
ourSqua eigentlich nochhing Fligenau?
or dpr ess NewsGator c hannelt mal ck ring Wufoo Pi
el.icio.us digg Mis ter Wong formsp
ag eFlakes vimeo YouTube d Technorati FourS quare Back
oxes 12seco nds App.net Yah oo Pipes Plazes er Wordpress N
B
mber The Milk T a-da listFeedburn
n stagram Facebook Reme st now age Flakes vimeo Y
pojusterous–P@tmschndr
cha nnelthin g Flickr Twitter MySpace tumblr es 12seconds A
ormspring Wufoo Picasa 30 Box
del.icio.us dig g Mister Wong f re Backpack Ins tagram Faceboo
Yahoo P ipes Plazes Tech norati FourSqua Gator channelth
listFeedburner W ordpress News
Remember The Milk Ta-da ouTube del.icio.us
blr posterous Pa geFlakes vimeo Y
Twitte r MySpace tum s 12seconds App .net Yahoo Pipes
ormspring Wufoo Picasa 30 Boxe The M
7. Web 2.0 – „you‘ve got to be kidding me...“
Ein Jahre alter Begriff aus dem Buzzword-driven Marketing?
Communities => Social Networks
Foren => Weblogs
Forenbeiträge => User-Generated-Content
8.
9. Aspekt
„Demokratisierung“ des Webs
bessere Zugänglichkeit zum Web
einfachere Bedienung von Web-Anwendungen
einfacherer Betrieb eigener Web-Anwendungen
z.B. mit Wordpress, aber auch Tumblr, posterous ...
einfacheres Publizieren von Inhalten
verändertes Nutzungsverhalten
Aufhebung der Produzenten-/Konsumenten-Rollen
z.B. Entstehung von Podcasts, Online-Shows, ...
Entstehung neuer Kommunikationsformen
10. Aspekt
Produktinnovation und Ökosysteme
Communities => Social Networks
Foren => Weblogs
Forenbeiträge => User-Generated-Content
... => Twitter
Erschaffung komplett neuer Ökosysteme um „einfache“
Anwendungen herum
Twitter: Twitpic, img.ly, Flipboard, Tweetbot, Echofon, ...
11. Aspekt
Remixability - Das Web 2.0 als Plattform
datengetriebene Anwendungen als Basis für „Ökosysteme“
Web Services + zahlreiche Client-Anwendungen
z.B. mobile Anwendungen auf iPhone & Co.
offene, gut dokumentierte, meist kostenlos nutzbare
Programmierschnittstellen
Standardisierung: „RESTful“-Architekturen, OAuth, ...
Anwendungen des Web 2.0 sind eine
traumhafte Spielwiese für Entwickler
12. Aspekt
Innovation und Unwissenheit
Twitter erschafft eine neuartige Form zu kommunizieren
Erschaffung neuartiger Geschäftsmodelle? $$$
Innovation bedeutet
Aufbruch ins Ungewisse für Unternehmer
Umgang mit Unwissenheit für Entwickler
13. Aspekt
Vereinfachung und Vertikalisierung
Fokussierung auf einzelne Anwendungs-
fälle oder stark vertikale Themen
Beispiel Instagram
Fotos mit mobilen Geräten unterwegs
einfach online stellen
Jedoch: Keine eigene Geo-Datenbank mit
Orten, sondern foursquare-Integration
Ziel: In einem Bereich sehr gut sein
– und nicht in vielen lediglich „okay“
super Bilder + Ortsinformationen
von foursquare
14. Aspekt
Rich Internet Applications
hoch-komplexe, hoch-interaktive Web-Frontends
„Desktop-class“-Anwendungen
Beispiel Google Docs
Funktionen auf Niveau von Desktop-Office-Programmen
Web-Entwicklung „beyond Client/Server”
Offline-Funktionalitäten
HTTP-Push, Websockets, ...
16. Arbeitskontext Web 2.0
datengetriebene Anwendungen als Plattformen
mit Client-Software oder speziellen Frontends für mobile Geräte
innovative Geschäftsideen und unbekannte Problemdomänen,
oft finanziert durch Risikokapital
Vereinfachung und Fokussierung der Produkte
hohe Erwartungen bzgl. der „User Experience“,
komplexe Web-Frontends
Nutzerpartizipation während der Entwicklung
Im Idealfall nie endende Weiterentwicklung
17. Risiken als Freiberufler oder Agentur
es wird das falsche Produkt entwickelt
am Markt vorbei, Anforderungen werden nicht erfüllt
die Entwicklung dauert zu lange...
Web 2.0 ist ein hart umkämpfter, sehr schnell-lebiger Markt
... und sprengt damit das gesetzte Budget
der Klassiker ;-)
das Produkt ist fehlerhaft oder funktioniert nicht einwandfrei
und macht damit vielleicht sogar eine Benutzung unmöglich
Wie funktioniert Anwendungsentwicklung in einem solchen
Spannungsfeld?
18. Ziele des Entwicklungsprozesses
Ein Projekt ist aus Entwicklersicht i.d.R. dann erfolgreich, wenn
Produkt in Version 1.0 „live“ ist und stabil läuft
Nutzeranforderungen erfüllt
Zeitrahmen eingehalten
Budget eingehalten
einfach erweiterbar, um weitere Funktionen
wenn die Ziele des Auftraggebers erfüllt sind
oder absehbar erfüllt werden können
19. - da listFeedburne r Wordpress Ne ter Wong form
vimeo YouTube d el.icio.us digg Mis
mblr poster ous PageFlakes Yahoo Pipes Pla zes Technorati
ufoo Pic asa 30 Boxes 12 seconds App.net Milk Ta-da listF
Agile ck Inst agram Facebook Remember The
re BackpaAnwendungsentwicklung ySpace tumblr posterou
ourSqua im Web 2.0 hing Flickr Twitter M
or dpress New sGator channelt ter Wong formsp ring Wufoo Pi
eFlakes vimeo YouTube d el.icio.us digg Mis quare Back
ag
oo Pipes Plazes Technorati FourS
B oxes 12seco nds App.net Yah a-da listFeedburn er Wordpress N
n stagram Facebook Reme mber The Milk T Flakes vimeo Y
MySpace tumblr st now age
pojusterous–P@tmschndr
cha nnelthin g Flickr Twitter Picasa 30 Box es 12seconds A
del.icio.us dig g Mister Wong f ormspring Wufoo tagram Faceboo
norati FourSqua re Backpack Ins
Yahoo P ipes Plazes Tech ordpress News Gator channelth
The Milk Ta-da listFeedburner W
Remember geFlakes vimeo Y ouTube del.icio.us
Twitte r MySpace tum blr posterous Pa .net Yahoo Pipes
Picasa 30 Boxe s 12seconds App
ormspring Wufoo The M
21. Startpunkt
Ziele und Motivation
nicht nur aus Entwicklersicht
vor allem aus Unternehmersicht
spezifisch, messbar, akzeptiert, realistisch, terminierbar
z.B. „innerhalb von 3 Monaten 20.000 € Umsatz pro Monat“
Grundlage für messbaren Projekterfolg
Grundlage allen Handelns und aller Produktplanung
22. Konzeptworkshops
gemeinsames Verständnis unter allen Beteiligten
die Domäne kennenlernen
den Markt/die potentiellen Nutzer kennenlernen
das Geschäftsmodell kennenlernen
ein Produkt skizzieren, und zwar ein
Minimum Viable Product
23. MVP, Minimum Viable Product
Strategie, um schnell potentielle Produkte am Markt „zu testen“
MVP, ein Produkt mit genau den Funktionen, die zu dessen
„Deployment“ notwendig sind – und nicht mehr
Test mit ersten realen Nutzern, sog. „Early adopters“
begeisterungsfähig
frustationstolerant
geben gerne Feedback
Ziel: Maximale Erkenntnis mit minimalem Einsatz
24. MVP-Techniken und -Grade
„Smoke-Test“
Mock-Seite, die die nicht-existente Anwendung bewirbt,
um überhaupt Interesse festzustellen
„deploy first, code later“
Neue, jedoch nicht-existente Funktion einer Anwendung
prominent bewerben, Resonanz feststellen
Version 0.1
minimaler Anwendungsumfang geht als Alpha- oder
Betaversion online noch während der Entwicklung
25. UX: Rapid Prototyping
Rapid Prototyping
zahlreiche Prototypen skizzieren und parallel mit minimalem
Umfang umsetzen
paper-based oder PDF-Prototypen
Test
„Early adopters“ mit klickbaren PDF-Dokumenten interagieren
lassen, Feedback einholen
26. UX: Implementierung und A/B-Testing
Ausgewählte UI-Varianten implementieren
A/B-Testing
alle Prototypen gleichzeitig online betreiben
Benutzer in n Gruppen aufteilen
pro Gruppe einen Prototypen ausliefern
„Performance“ messen
Messbare Performance als Entscheidungsgrundlage
27.
28. iterativer Konzept- und Design-Prozess
Idee für neuen Prototypen diskutieren
Prototypen entwickeln
Prototypen deployen
Feedback sammeln
Feedback verarbeiten
Schritt für Schritt zum „funktionierendem“ Design
im Sinne der zu erfüllenden Ziele
30. Wie geht man vor?
Wie wird aus einer Idee und einem Konzept eine Web-
Awendung?
Wie geht man als Entwickler mit der Unsicherheit um?
Wie können Aufwände und Kosten geschätzt werden?
Wir geht man mit neuen Erkenntnissen und Ideen während
des Entwicklungsprozesses um?
Wie bleibt man nicht in unwichtigen Implementierungsdetails
stecken?
Wie integriert man den Kunden in den Entwicklungsprozess?
31. Startpunkt
Problemdomäne beherrschbar gestalten
Aufteilung in Teilprobleme bis zur Erreichung einer handlichen
Größe, die sich tatsächlich überschauen und bewerten lässt
Methode: User Stories
„Als ein Benutzer möchte ich mir ein hochgeladenes Bild
merken können, um es später meinen Freunden zu zeigen.“
User Stories beschreiben genau einen Aspekt der Anwendung
Sie beschreiben die Interaktion aus Benutzersicht inkl.
Motivation
32. User Stories
User Stories sind handlich und nicht komplex
sie vermitteln Implementierungsideen
sie sind vollständig beschrieben und lassen sich schätzen
sie spiegeln die Detailsicht auf Probleme wider
alle User Stories zusammen bilden das Produkt,
sie bilden die Produkt-Roadmap
sie besitzen eine Reihenfolge und damit eine Priorität
33. User Stories, Sprints
Komplexitätsschätzung Indikator für Budgetauslastung
Priorisierung der Stories innerhalb des Budgets,
ständige Re-Priorisierung während der Entwicklung
Vorgehensweise
Aufteilung der Stories in „Sprints“ (i.d.R. 1 oder 2 Wochen)
Team-Commitment auf Set an Stories
ständiges Feedback und Retrospektiven
Bessere Schätzung für den nächsten Sprint
34. Prozess
Sprint für Sprint ständige Annäherung an eine Version 1.0 (MVP)
stets die Möglichkeit
Priorisierung (Entwicklungsrichtung) zu verändern
neue Ideen als User Stories mit aufzunehmen
überholte Stories auszusortieren
auf Entwicklungsgeschwindigkeit zu reagieren bzw. sie zu
beeinflussen
zielgerichtete Entwicklung trotz unübersichtlicher
Problemdomäne
35. Railslove Manifesto
Vorgehen nach dem agilen Manifest nach Kent Beck, 2001
Agile Werte
Agile Methoden
Agiler Prozess
Agile Softwareentwicklung?
Gegenentwurf zu klassischen Softwareentwicklungsmodellen
flexibler, schlanker, weniger Bürokratie
dem Charakter des Web 2.0 Rechnung tragend
36. Agile Werte als Fundament
Menschen und Interaktionen
sind wichtiger als Prozesse und Werkzeuge
Funktionierende Software
ist wichtiger als umfassende Dokumentation
Zusammenarbeit mit dem Kunden
ist wichtiger als Vertragsverhandlungen
Eingehen auf Veränderungen
ist wichtiger als Festhalten an einem Plan
ehrliche, pragmatische Art der Softwareentwicklung, die
Vertrauen voraussetzt, jedoch mit guten Produkten belohnt
37. Voraussetzungen
Vertrauen und Mut seitens der Auftraggeber
ein eingespieltes Team
mentale Flexibilität und Bereitschaft Pläne über den Haufen zu
werfen
den Willen nicht nur irgendein, sondern ein sehr gutes Produkt
zu entwickeln
38. MV P-An satz
und -Kon zept
UI Prototypen
funktionale P rototypen
40. Komplexitatsbeherrschung
..
Etablierung durch User Stories
eines iterativen
Feedback Prozesses
LA UNCH
41. P-An satz Agile Ent
MV
-Kon zept w icklung
und
UI Prototypen
funktionale P rototypen
Komplexitatsbeherrschung
..
Etablierung durch User Stories
eines iterativen
Feedb ack Prozesses
LA UNCH
42. Der öffentliche Launch ist erst der Anfang
Zum ersten Mal unbekannte Benutzer, keine Early adopter
Ausbau Benutzer-Support
Etablierung von Produktmanagement
Benutzer-Feedback einsammeln/verarbeiten
Weiterführung der iterativen Entwicklung
Mobile Clients
Internationalisierung
Weiterhin agil sein hilft, schrittchenweise voranzukommen
und Innovation zu schaffen
43. Epilog
Agile Methoden, Prinzipien und Prozesse erfolgreich
angewendet in 20+ Web-Projekten
Minimum Viable Product spannende Herangehensweise an
Produktdesign, erlaubt die Erforschung von Potenzialen
das moderne Web eines der spannendsten Tätigkeitsgebiete
für Softwareentwickler
interdisziplinär, international, immer im Umbruch
gleichzeitig vielleicht einer der fordernsten Arbeitskontexte?
ständig neue Techniken, gehypte Programmiersprachen,
neue best practices und irre guter Nachwuchs
45. just finished my talk at this year‘s
@micologne showcase. had a great time
speaking about agile web development
principles.
just now – @tmschndr
Twitter
Weitere Infos
railslove.com/tim
46. I wonder wether I answered or raised
more questions during those 44 slides of
agile fun facts. #showcase
just now – @tmschndr
Twitter
Weitere Infos
railslove.com/tim
47. Mehr Web in Köln
Cologne.rb http://colognerb.de/
Cologne.js http://colognejs.de/