53
1 Agenda Was macht ein Start Up erfolgreich? Das Team Business und IT Alignment Technologie Entwicklungsprozesse Deployment Sicherheit Monitoring Dokumentation

Was macht ein Start Up erfolgreich?

Embed Size (px)

Citation preview

Page 1: Was macht ein Start Up erfolgreich?

1

Agenda

● Was macht ein Start Up erfolgreich?● Das Team● Business und IT Alignment● Technologie● Entwicklungsprozesse● Deployment● Sicherheit● Monitoring● Dokumentation

Page 2: Was macht ein Start Up erfolgreich?

2

Page 3: Was macht ein Start Up erfolgreich?

3

Start Up Erfolg

● Pro● Schnelles lernen● Günstiges lernen● Gutes Team● Exzellente Ausführung

● Contra● Zu früh skalieren● Schlechte Anforderungen● „Verzetteln“ → Fokussierung auf unwichtige Dinge

Quelle: Startup Genome Report 01 https://www.startupcompass.co/

Page 4: Was macht ein Start Up erfolgreich?

4

Start Up Stages

Discovery Validation Efficiency Scale

ProfitMaximation

Renewal

Page 5: Was macht ein Start Up erfolgreich?

5

Page 6: Was macht ein Start Up erfolgreich?

6

Zyklisches Controlling

● Alles messen● Smart/e Ziele

● spezifisch● messbar● akzeptiert● realistisch● terminiert

● Regelmäßig messen● fester Tag im Monat an dem Ziele kontrolliert

werden, bei neuen Zielen wöchentlich bis täglich

Page 7: Was macht ein Start Up erfolgreich?

7

Kommunikation

● Eine auffällige Gemeinsamkeit erfolgreicher Unternehmen ist effiziente und effektive Kommunikation

● Wann wird effektiv kommuniziert?● Entscheidungen werden im Zeitplan getroffen und

werden von allen respektiert und akzeptiert● Es herrscht ein Vertrauensverhältnis zwischen allen

Mitarbeitern● Es gibt nur Meetings, wenn Entscheidungen zu

treffen sind

Page 8: Was macht ein Start Up erfolgreich?

8

Das Team

Page 9: Was macht ein Start Up erfolgreich?

9

Page 10: Was macht ein Start Up erfolgreich?

10

Personal

● Personal● Teuerste Komponente im Unternehmen● Schwer zu beschaffen● IQ guter Indikator, ob passend für Stelle● Fähigkeiten messen

● Effizientes Arbeiten● Programmierer Produktivität schwankt um den

Faktor 10● Persönliche Ziele● Klare Anforderungen

http://www.johndcook.com/blog/2011/01/10/some-programmers-really-are-10x-more-productive/

Page 11: Was macht ein Start Up erfolgreich?

12

Page 12: Was macht ein Start Up erfolgreich?

13

Identität für Team anbieten

Page 13: Was macht ein Start Up erfolgreich?

14

Recruitment

● Am effektivsten über persönliches Netzwerk● Frühzeitig Personen an sich binden● Personen, die für Geld kommen, werden auch

wieder für Geld gehen

"In looking for people to hire, you look for three qualities: integrity, intelligence, and energy. And if they don't have the first, the other two will kill you."

Warren Buffet

CEO, Berkshire Hathaway

Page 14: Was macht ein Start Up erfolgreich?

15

Business und IT Alignment

Page 15: Was macht ein Start Up erfolgreich?

16

Prozesse

● Die Kernprozesse sollten aufgeschrieben sein z.B. Porter Wertkette● Wann ist etwas ein Kernprozess?

– Er trägt mehr als 10% zu den Unternehmenseinnahmen bei

– Er trägt mehr als 10% zu den Unternehmensausgaben bei

● Prozesse erst nach Etablierung dokumentieren● IT Systeme zur Unterstützung dieser Prozesse

sollten zugeordnet sein

Page 16: Was macht ein Start Up erfolgreich?

17

Beispielkernprozesse

Entwicklung Betrieb SupportQualitäts-sicherung

Entwicklung und BetriebEntwicklung und Betrieb

Vertrieb und Marketing / B2B

LeadGenerierung

Vertrags-abschluss

Bereit-stellung

Lead-qualifizierungund -pflege

... bis zu 70% der IT Kosten

bis zu 50% der Gesamtkosten bei SaaS

Page 17: Was macht ein Start Up erfolgreich?

18

IT kann Prozesse beeinflussen

● Neue IT Systeme bilden meist nicht die Prozesse so ab, wie sie vorher im Unternehmen waren

● Sinnvoll die Best Practises von Software zu übernehmen anstatt für viel Geld anpassen zu lassen

● Auswahl der Lösungen die möglichst gut die momentanen Prozesse beschreiben

Page 18: Was macht ein Start Up erfolgreich?

19

Wann brauche ich ein IT System

● Viele Prozesse werden implizit durch IT unterstützt● Standardprogramme: Email, Office,

Tabellenkalkulation, Kalender

● IT Systeme sind primär zum Sammeln von Daten, Auswerten und Präsentation an mehrere Personen● IT Systeme werden oft gebraucht, wenn ein Prozess

mit mehreren Personen statt findet und die Daten an dem Prozess anstatt in den Mailboxen der beteiligten Personen landen sollen

Page 19: Was macht ein Start Up erfolgreich?

20

Start Up Kosten von Entwicklung dominiert

● Sinnvolle Strategie schnell zu entwickeln und auf Funktionen und möglicherweise Qualität zu verzichten um Geschäftsmodell zu validieren

● Startups need 2-3 times longer to validate their market than most founders expect. (Startup Genome Report)

● Performanzprobleme sind Luxusprobleme● Wenn erfolgreiches Businessmodell, dann ist

Geld vorhanden um gute IT zu bauen

Page 20: Was macht ein Start Up erfolgreich?

21

Technologie

Page 21: Was macht ein Start Up erfolgreich?

22

Welche Technologie wählen?

● Technologie egal, die Probleme liegen woanders:● Die festgestellten Haupterfolgsfaktoren sind:

– Einbindung der Endbenutzer– Unterstützung durch das obere Management– Klare Anforderungen

● Die Hauptpunkte, die zum Scheitern der Projekte führen sind:– fehlende Zuarbeit durch Benutzer– unvollständige/unklare Anforderungen– häufige Anforderungsänderungen

Quelle http://de.wikipedia.org/wiki/Chaos-Studie CHAOS-Studie der Standish Group

Page 22: Was macht ein Start Up erfolgreich?

23

https://www.plat-forms.org/results-2011

Produktivität von Webplatformen

Page 23: Was macht ein Start Up erfolgreich?

24

Produktivität abhängig von

● Daumenregel● Person (50%)● Anforderungen (30%)● Technologie (20%)

Page 24: Was macht ein Start Up erfolgreich?

27

Performance Tests

● ab - http://httpd.apache.org/docs/2.2/programs/ab.html

● JMeter - http://jmeter.apache.org/

Page 25: Was macht ein Start Up erfolgreich?

28

Entwicklungsprozesse

Page 26: Was macht ein Start Up erfolgreich?

29

Teamgröße

● Optimales Entwicklungsteam zwischen 4-9 Leute● Experten sollten sich viel mit Planung,

Dokumentation und den Kollegen helfen beschäftigen, nicht alles selbst coden

● Um eine Anforderung zu erfüllen sollten immer zuerst bereits bestehende Lösungen evaluiert werden

● 20% der Personen machen ausschließlich Managementarbeit

Page 27: Was macht ein Start Up erfolgreich?

30

Vorgehensmodelle

● Vorgehensmodelle sollten nur so benannt werden, wenn der Verantwortliche mindestens 200 Seiten zu dem Modell gelesen hat● Wasserfall

– V Modell XT– PRINCE2 (project management)

● Iterative (agile)– Rational Unified Process– Xtreme Programming– Scrum (momentan trendy)– Kanban (noch cooler als Scrum)

Page 28: Was macht ein Start Up erfolgreich?

31

http://www.joelonsoftware.com/articles/fog0000000043.html

Joels Rules for productivity

● Do you use source control?

● Can you make a build in one step?

● Do you make daily builds?

● Do you have a bug database?

● Do you fix bugs before writing new code?

● Do you have an up-to-date schedule?

● Do you have a spec?

● Do programmers have quiet working conditions?

● Do you use the best tools money can buy?

● Do you have testers?

● Do new candidates write code during their interview?

● Do you do hallway usability testing?

Page 29: Was macht ein Start Up erfolgreich?

32

Application Lifecycle Management

SCM e.g. git, svnIssue Management e.g.

JIRA, Redmine

Continious Integration Server e.g. Hudson,

Bamboo

Server Runtime e.g. Tomcat, Apache

Page 30: Was macht ein Start Up erfolgreich?

33

Ticketing System

● Arbeitsanweisungen werden nur über Tickets kommuniziert● Messbarer Fortschritt● Klarer Lebenszyklus (Erstellt, In Arbeit, Fertig)● Quellcode und Deployment integrierbar

Page 31: Was macht ein Start Up erfolgreich?

34

Continious Integration

● Eine Funktion muss innerhalb von 8 Stunden so implementiert sein, dass das System kompilierbar ist

● System wird täglich kompiliert● System wird täglich getestet● System ist ständig auslieferbar● Automatisiertes Kompilieren, Testen und

optionale Auslieferung

Page 32: Was macht ein Start Up erfolgreich?

35

Integration und Traceability

● SCM, Ticketing und CI sollten integriert sein● Typische Fragen

● Warum wurde folgender Code geschrieben?● Welche Features sind in dem momentanen Build,

die nicht in dem vorherigen waren?● Gibt es für alle Tickets Test Cases● Wer hat wie viele Zeilen Code geschrieben für den

momentanen Build

Page 33: Was macht ein Start Up erfolgreich?

36

Vorgehensmodelle

● Vorgehensmodelle sollten nur so benannt werden, wenn der Verantwortliche mindestens 200 Seiten zum dem Modell gelesen hat● Wasserfall

– V Modell XT– PRINCE2 (project management)

● Iterative (agile)– Rational Unified Process– Xtreme Programming– Scrum (momentan trendy)– Kanban (noch cooler als Scrum)

Page 34: Was macht ein Start Up erfolgreich?

37

Anforderungen a.k.a User Stories aber wie?

● Anforderung z.B. wie folgt definieren:● Welches Problem löst die Anforderung● Bewertung des Geschäftswert● Textuelle Beschreibung● Prozess Diagramm machen● Wireframes machen● Optional: PSDs für Designs machen● Entity-Relationship Diagramme machen● Schätzung der Kosten● Akzeptieren der Entwicklung● Implementieren

Page 35: Was macht ein Start Up erfolgreich?

38

Einflußfaktoren und Gewichtung für Produktqualität

Page 36: Was macht ein Start Up erfolgreich?

39

Vorstellung von Scrum

Quelle: 2006 Softwaretechnik II Vorlesung bei Dr. Eckhardt Holz

Page 37: Was macht ein Start Up erfolgreich?

40

http://scrumcrazy.wordpress.com/2012/06/26/a-diagram-of-the-user-story-life-cycle/

Page 38: Was macht ein Start Up erfolgreich?

41

Problem

● Welche Dinge mag ein Kunde?

Page 39: Was macht ein Start Up erfolgreich?

42

Beschreibung

For the following items, it is advisable to capture explicit feedback:

• Fashion dresses

• DVDs, especially movies

• Books

• Recipes

The explicit feedback will also be associated with the user. Afterwards, it may be used to make better recommendations. Additionally, it could possibly be the case that the cross domain knowledge improves the cold start problem when adding a new domain. This functionality should be integrated in social networks like studiVZ. A mobile app should be made available.

A survey is a special case of explicit feedback. It collects multiple, enumerable attributes by requesting the user to answer multiple questions on their review concerning a specific item.

Page 40: Was macht ein Start Up erfolgreich?

43

Prozessmodel

User fillsout survey

missing fields

Page 41: Was macht ein Start Up erfolgreich?

44

Wireframe

Page 42: Was macht ein Start Up erfolgreich?

45

Entity Model

Page 43: Was macht ein Start Up erfolgreich?

46

Anfoderung ready to implement

● Nun ist die Anforderung fertig zum implementieren

Page 44: Was macht ein Start Up erfolgreich?

47

Page 45: Was macht ein Start Up erfolgreich?

48

Deployment

Page 46: Was macht ein Start Up erfolgreich?

49

Installation von Software

● Automatisiertes Bereitstellen● Welche Funktion ist neu?● Ausfallzeiten begrenzen● Checklisten durchgehen nach Bereitstellung

Page 47: Was macht ein Start Up erfolgreich?

50

CI Servers

production system

test system

SCM

Entwickler

1. coden2. commiten

3. bauen

4. automatischtesten

5. manuelltesten

6. deployen

Page 48: Was macht ein Start Up erfolgreich?

51

Sicherheit

Page 49: Was macht ein Start Up erfolgreich?

52

Sicherheit

● Checkliste:● https://www.owasp.org/index.php/Top_10_2010-Mai

n● Prozesse

● PCI compliance (Kreditkarten)● ISO/IEC 10181 Security frameworks

● Penetration testing● http://www.backtrack-linux.org/● nmap● Nessus (http://www.tenable.com/)

Page 50: Was macht ein Start Up erfolgreich?

53

Intrusion Detection/Prevention

● Hardening PHP (Suhosin) – outdated● Snort - http://www.snort.org/● „Web Application Firewall“

● http://www.modsecurity.org/ - Apache

Page 51: Was macht ein Start Up erfolgreich?

54

Monitoring

Page 52: Was macht ein Start Up erfolgreich?

55

Monitoring

● Sicherstellung, dass angebotene Systeme laufen

● Benachrichtigung bei Ausfall von Services● Verschiedenste Systeme

● New Relic● Icinga → empfohlen● Derdack Enterprise Alert● Zabbix