SlideShare ist ein Scribd-Unternehmen logo
1 von 47
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
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
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
Agile Anwendungsentwicklung
im Web 2.0
- 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
- 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
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
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
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, ...
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
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
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
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, ...
Aspekt
Nutzerpartizipation

hohe Nutzerpartizipation im
Entwicklungsprozess

Beispiel Twitter

 #Hashtags, @Mentions,
 RT Retweets

Ende des klassischen
Softwarelebenszyklus

Anwendungen im Web 2.0
sind niemals fertig
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
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?
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
- 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
Das richtige Produkt entwickeln
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
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
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
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
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
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
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
Das Produkt richtig entwickeln
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?
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
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
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
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
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
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
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
MV P-An satz
   und -Kon zept
                          UI Prototypen
funktionale P rototypen
Komplexitatsbeherrschung




                      ..
  Etablierung     durch User Stories
eines iterativen
   Prozesses
Komplexitatsbeherrschung




                                 ..
             Etablierung     durch User Stories
           eines iterativen
Feedback      Prozesses
           LA UNCH
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
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
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
Danke.




         just now – @tmschndr
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
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
Mehr Web in Köln

Cologne.rb    http://colognerb.de/
Cologne.js    http://colognejs.de/

Weitere ähnliche Inhalte

Andere mochten auch

Develop Conference 2012 talk
Develop Conference 2012 talkDevelop Conference 2012 talk
Develop Conference 2012 talkRobin Di Capua
 
Agile Verträge
Agile VerträgeAgile Verträge
Agile VerträgeOhr Timo
 
Agile Web Development, Exove seminar August 15th, 2013
Agile Web Development, Exove seminar August 15th, 2013Agile Web Development, Exove seminar August 15th, 2013
Agile Web Development, Exove seminar August 15th, 2013Exove
 
Agilität und Verträge - Vertragsmodelle - Agiler Festpreis
Agilität und Verträge - Vertragsmodelle - Agiler FestpreisAgilität und Verträge - Vertragsmodelle - Agiler Festpreis
Agilität und Verträge - Vertragsmodelle - Agiler FestpreisIT-Service-PN
 
"Och, nicht schon wieder...!" - Über das Leiden der Entwickler bei Aufwandssc...
"Och, nicht schon wieder...!" - Über das Leiden der Entwickler bei Aufwandssc..."Och, nicht schon wieder...!" - Über das Leiden der Entwickler bei Aufwandssc...
"Och, nicht schon wieder...!" - Über das Leiden der Entwickler bei Aufwandssc...Paul Herwarth von Bittenfeld
 
Agiles Schätzen
Agiles SchätzenAgiles Schätzen
Agiles SchätzenNEOMO GmbH
 
Agile developmentphp usergroup
Agile developmentphp usergroupAgile developmentphp usergroup
Agile developmentphp usergroupCypher Deimos
 
Erfahrungen mit agilen Festpreisen
Erfahrungen mit agilen FestpreisenErfahrungen mit agilen Festpreisen
Erfahrungen mit agilen FestpreisenJoachim Baumann
 

Andere mochten auch (9)

Develop Conference 2012 talk
Develop Conference 2012 talkDevelop Conference 2012 talk
Develop Conference 2012 talk
 
Agile Verträge
Agile VerträgeAgile Verträge
Agile Verträge
 
Agile Web Development, Exove seminar August 15th, 2013
Agile Web Development, Exove seminar August 15th, 2013Agile Web Development, Exove seminar August 15th, 2013
Agile Web Development, Exove seminar August 15th, 2013
 
Agilität und Verträge - Vertragsmodelle - Agiler Festpreis
Agilität und Verträge - Vertragsmodelle - Agiler FestpreisAgilität und Verträge - Vertragsmodelle - Agiler Festpreis
Agilität und Verträge - Vertragsmodelle - Agiler Festpreis
 
"Och, nicht schon wieder...!" - Über das Leiden der Entwickler bei Aufwandssc...
"Och, nicht schon wieder...!" - Über das Leiden der Entwickler bei Aufwandssc..."Och, nicht schon wieder...!" - Über das Leiden der Entwickler bei Aufwandssc...
"Och, nicht schon wieder...!" - Über das Leiden der Entwickler bei Aufwandssc...
 
Agiles Schätzen
Agiles SchätzenAgiles Schätzen
Agiles Schätzen
 
Scrum im Marketing
Scrum im MarketingScrum im Marketing
Scrum im Marketing
 
Agile developmentphp usergroup
Agile developmentphp usergroupAgile developmentphp usergroup
Agile developmentphp usergroup
 
Erfahrungen mit agilen Festpreisen
Erfahrungen mit agilen FestpreisenErfahrungen mit agilen Festpreisen
Erfahrungen mit agilen Festpreisen
 

Agile Anwendungsentwicklung im Web 2.0

  • 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, ...
  • 15. Aspekt Nutzerpartizipation hohe Nutzerpartizipation im Entwicklungsprozess Beispiel Twitter #Hashtags, @Mentions, RT Retweets Ende des klassischen Softwarelebenszyklus Anwendungen im Web 2.0 sind niemals fertig
  • 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
  • 20. Das richtige Produkt entwickeln
  • 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
  • 29. Das Produkt richtig entwickeln
  • 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
  • 39. Komplexitatsbeherrschung .. Etablierung durch User Stories eines iterativen Prozesses
  • 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
  • 44. Danke. just now – @tmschndr
  • 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/