Web Development 2014



Bastian Albers

Ich bin Programmierer.


Was ihr denkt.

Wie es wirklich ist. 

An guten Tagen

OK, es gibt auch schlechtere Tage.

Selten.

Web Development?

Software die in Browsern funktioniert.



Was ich gemacht habe


  • Lange Wirtschaftsingenieurwesen studiert
  • sehr lange
  • Ein Praktikum in einer Agentur
  • Ein Reise-Startup mitgegründet
  • Als Freelancer für viele Kunden gearbeitet
    • Hotels, Hostels, Shops, etc
  • Ein Verkehrsstartup mitgegründet
  • Eine Cloudplatform mitgebaut
  • Eine Projektmanagementsoftware mitentwickelt
  • Gerade meinen Job gekündigt

Was ich jetzt mache: Immer noch Web Applications


  • HTML 5
  • CSS3
  • Responsive Web Design
  • JavaScript, CoffeeScript
  • Node.js
  • CouchDB / MySQL / MongoDB

Wie wird man Programmierer?


Niemand startet als Profi.

Der Einstieg kann frustrierend sein...

...das bleibt auch so.

...aber man wird gelassener

Wer kann Programmierer werden?

Jeder!  





TEAMWORK!

Programmieren ist sozial




Wir erstellen und benutzen Free Open Source Software
...teilen diese auf Github
...präsentieren sie in freien User Groups
...helfen uns bei Problemen auf StackOverflow
...entwickeln gemeinsam beim Pair Programming

Wer ist Beteiligt?


  • Business Development
  • Scrum Entwicklung:
    • Product Owner
    • Development Team
      • UX Designer
      • UI Designer
      • Front End Developer
      • Back End Developer
    • Scrum Master
  • Tester
  • Support
  • ...und mehr

Business Development

"...bezeichnet die zielgerichteten Maßnahmen zur Weiterentwicklung einer wirtschaftlich ausgerichteten Organisation."

Business Development


  • Was bringt das Produkt dem Benutzer?
  • Gibt es Lücken im Markt?
  • Was für mögliche Kunden gibt es?
  • Was für Wettbewerber?
  • Was können wir?
  • Wollen wir zusammen mit Partnern arbeiten?

=> Gruppenarbeit: Wir entwickeln eine PRODUKTIDEE
(ca. 10 Minuten)

Danach entscheide Ich als Investor in welche Idee wir unsere weitere Zeit investieren.

SCRUM

Product Owner

Definiert Features für Kunden und wann sie entwickelt werden.


Development Team

Setzt Features um. UI/UX-Design, Frontend- und Backend-Programmierung, Tests, Dokumentation


Scrum Master

Koordiniert das Team, fördert Kommunikation mit Product Owner. Sorgt dafür, dass alles Funktioniert.

Product Owner


  • Macht aus der Idee "User Stories"
  • "Akzeptanzkriterien" - wie sie umgesetzt werden sollen
  • Sinnvolle Reihenfolge
  • Sorgt dafür, dass die Produktvision erreicht wird
  • Sagt, wann ein Feature fertig umgesetzt ist

Product Owner: Beispiele für User Stories

  1. "Als Benutzer kann ich mich registrieren" (Fertig wenn man Passwort, Email und Benutzername in ein Formular eingibt. Email und Benutzernamen darf es noch nicht geben.)
  2. "Als Benutzer kann ich mich einloggen"
  3. "Als eingeloggter Benutzer kann ich Bilder hochladen"
  4. "Als eingeloggter Benutzer kann ich Bilder liken"
  5. "Als eingeloggter Benutzer kann ich Bilder kategorisieren"
  6. "Als Besucher kann ich auf einer Seite die 50 meistgelikedten Bilder aus der Kategorie Gestreifte Katzenbabies die auf Erdbeertorten schlafen ansehen"

Gruppenarbeit:


Erstellt User Stories für unsere Idee (ca. 10 Minuten)

  • Kurze Überschrift, die das Feature knapp beschreibt
  • Evtl. kurzer Text zur Erläuterung
  • Kurze DoD: "Definition of Done"
    • wann ist dieses Feature fertig
    • was gehört UNBEDINGT dazu
    • was gehört NICHT dazu

Development Team


  • Design
    • UX Design
    • UI Design
  • Programmierer
    • Frontend
    • Backend

User Experience (UX) Design


  • Wie komme ich von der Idee zur Umsetzung der Ziele
  • Interaktion zwischen verschiedenen Elementen
  • Im Mittelpunkt steht das Erlebnis des Benutzers

User Interface (UI) Design


  • Gestaltung der Benutzeroberflächen
  • Entwickeln der visuellen Sprache der Anwendung 
  • Reduktion auf das was nötig ist, Design hat ein Ziel und ist kein Selbstzweck

Backend Development


  • Handling vom Zugriff auf Daten in Datenbank
    • erstellen, lesen, bearbeiten, löschen (CRUD)
    • Kontrolle über Zugriffsberechtigungen
    • Datenverarbeitung
  • Applikationsflow / Routing
  • REST API - Zur Verfügung stellen von Daten nach definierten Standards

Frontend Development


  • Programmierung von UI/UX
  • Zusammenspiel mit Backend / REST API
  • Optimieren für verschiedene Browser / Endgeräte

Development im Scrum Prozess

Arbeiten in "Sprints"

  • Das Team schätzt den Umfang einer User Story
  • Mehrere User Stories werden in "Sprints" zusammengefasst
  • Das Team bestimmt wie viele Stories in den Sprint kommen
  • Sprints sind meistens ca. 1-3 Wochen lang
  • Jeder nimmt sich die gerade gewünschten Aufgaben
  • In "Daily Standups" wird kurz geklärt wer woran arbeitet
  • Am Ende des Sprints gibt es ein "Review" in dem die Product Owner bestimmen, ob eine User Story abgeschlossen ist

Scrum Master


  • Kümmert sich darum, dass das Team ungestört arbeiten kann
  • Schützt vor Eingriffen in die Sprint-Agenda
  • Sorgt für Kommunikation
    • im Team
    • zwischen Team und Product Ownern
    • zwischen Teams

Bugfixing hat Vorrang

Startup gründen! Dann kann ich alles selber machen!

Startup gründen! Dann kann muss ich alles selber machen!

Don't be evil


Don't be a cheap copycat

Man kann immer NEIN sagen

Dankeschön.


Web Development 2014

By bastianalbers

Web Development 2014

  • 278