Sebastian Heuer Globetrotter Ausrüstung Make or Buy?
FOLLOW US! @GlobetrotterDEV
STATUS QUO
STATUS QUO Eigenentwicklung
STATUS QUO Eigenentwicklung Standardsoftware
URSPRÜNGLICHER PLAN Standardsoftware Standardsoftware
WHAT HAPPENED?
FEATURES, FEATURES, FEATURES Produktvergleich Merklisten Gutscheine Bestellhistorie Backoffice (Artikel- und Bestellverwaltung)
Die Features passen fast zu unseren Anforderungen. Random Globetrotter Employee
CUSTOMIZING
CUSTOMIZING Bestehende Software wird an individuelle Anforderungen angepasst
Core Code Customization Feature X Feature Y Feature Z
HOUSTON, Artikelimport Varianten- und Merkmalstrukturen passen nicht zusammen Performance aufwändiges Caching, Probleme bei Invalidierung ohne Cache ein CPU Core je Request
THE WAY OUT Alternative Eigenentwicklung
THE WAY OUT Alternative Eigenentwicklung
THE WAY OUT Alternative Eigenentwicklung
THE WAY OUT Alternative Eigenentwicklung
Die Idee wird geboren
Die Idee wird geboren Infizierung des Teams
Die Idee wird geboren Infizierung des Teams das wird niemals bewilligt
Die Idee wird geboren Infizierung des Teams Workshop wird genehmigt \o/ das wird niemals bewilligt
Die Idee wird geboren Infizierung des Teams Bau eines Prototypen Wir schaffen das! Workshop wird genehmigt \o/ das wird niemals bewilligt
Die Idee wird geboren Infizierung des Teams Entscheidung für die Eigenentwicklung! Bau eines Prototypen Wir schaffen das! Workshop wird genehmigt \o/ das wird niemals bewilligt
Die Idee wird geboren Infizierung des Teams Entscheidung für die Eigenentwicklung! Bau eines Prototypen Wir schaffen das! finaler Lasttest Workshop wird genehmigt \o/ das wird niemals bewilligt
Die Idee wird geboren Infizierung des Teams Entscheidung für die Eigenentwicklung! Bau eines Prototypen Wir schaffen das! finaler Lasttest Produktivsystem läuft Workshop wird genehmigt \o/ das wird niemals bewilligt
Die Idee wird geboren Infizierung des Teams Entscheidung für die Eigenentwicklung! Bau eines Prototypen Wir schaffen das! Wir sind live! finaler Lasttest Produktivsystem läuft Workshop wird genehmigt \o/ das wird niemals bewilligt
With great power comes great responsibility Green Lantern
ARCHITECTURE IS THE KEY
ARCHITECTURE IS THE KEY Wenn man bei NULL anfängt, muss man sich gut vorbereiten. Kein just do it in dieser Phase.
ARCHITECTURE IS THE KEY Wenn man bei NULL anfängt, muss man sich gut vorbereiten. Kein just do it in dieser Phase. Wichtig: nicht sofort in Technologien denken ( Webprojekte macht man jetzt mit Rails )
ARCHITECTURE IS THE KEY Wenn man bei NULL anfängt, muss man sich gut vorbereiten. Kein just do it in dieser Phase. Wichtig: nicht sofort in Technologien denken ( Webprojekte macht man jetzt mit Rails ) Technologieunabhängige Architektur steht am Anfang
ARCHITECTURE IS THE KEY Middleware Webserver StoreFront DataPool StoreBack Search
TEAM SETUP
Coding Guidelines TEAM SETUP
TEAM SETUP Coding Guidelines PHP CodeSniffer Ruleset erarbeiten
TEAM SETUP Coding Guidelines PHP CodeSniffer Ruleset erarbeiten Welche Metriken sind uns wichtig und warum?
TEAM SETUP Coding Guidelines PHP CodeSniffer Ruleset erarbeiten Welche Metriken sind uns wichtig und warum? CI aufsetzen
TEAM SETUP
TEAM SETUP Definition of Done festlegen und leben
TEAM SETUP Definition of Done festlegen und leben interne QA durch zweiten Entwickler
TEAM SETUP Definition of Done festlegen und leben interne QA durch zweiten Entwickler Deploymentkonzept
TEAM SETUP Definition of Done festlegen und leben interne QA durch zweiten Entwickler Deploymentkonzept so früh wie möglich ins CI integrieren
DEPLOYMENT
THINK ITERATIVE
THINK ITERATIVE Mit minimalem Featureset starten
THINK ITERATIVE Mit minimalem Featureset starten Stabiles Fundament errichten
THINK ITERATIVE Mit minimalem Featureset starten Stabiles Fundament errichten Stabilen Stand nach und nach um Features erweitern
THINK ITERATIVE Mit minimalem Featureset starten Stabiles Fundament errichten Stabilen Stand nach und nach um Features erweitern regelmäßige Reviews
DAS MINIMUM
Navigation DAS MINIMUM
DAS MINIMUM Navigation Produktlisting
DAS MINIMUM Navigation Produktlisting Produktdetailseite
DAS MINIMUM Navigation Produktlisting Produktdetailseite Warenkorb
DAS MINIMUM Navigation Produktlisting Produktdetailseite Warenkorb Checkout (Adresse + Zahlart Vorkasse)
SOLVING CONFLICTS Diskussionen über mögliche Lösungswege brauchen einen Moderator und einen Entscheider, dessen Urteil akzeptiert wird
SOLVING CONFLICTS
SOLVING CONFLICTS Alleingänge vermeiden und stoppen
SOLVING CONFLICTS Alleingänge vermeiden und stoppen Ablehnung von kreativen Vorschlägen aus dem Team ist manchmal notwendig, aber demotivierend
SOLVING CONFLICTS Alleingänge vermeiden und stoppen Ablehnung von kreativen Vorschlägen aus dem Team ist manchmal notwendig, aber demotivierend <insert anecdote here>
THE SKY TEAM IS THE LIMIT
THE SKY TEAM IS THE LIMIT Bei der Umsetzung von Features gibt es quasi keine Grenzen mehr
THE SKY TEAM IS THE LIMIT Bei der Umsetzung von Features gibt es quasi keine Grenzen mehr Das Team kennt jede einzelne Codezeile
THE SKY TEAM IS THE LIMIT Bei der Umsetzung von Features gibt es quasi keine Grenzen mehr Das Team kennt jede einzelne Codezeile Schnelles Team = schnelle Weiterentwicklung
THE SKY TEAM IS THE LIMIT Bei der Umsetzung von Features gibt es quasi keine Grenzen mehr Das Team kennt jede einzelne Codezeile Schnelles Team = schnelle Weiterentwicklung Langsames Team = langsame Weiterentwicklung
non-comment lines of code (NCLOC) Magento CE 1.8.0.0 (/app) Symfony 2.3.7 (/vendor) globetrotter.de 0 125.000 250.000 375.000 500.000 ermittelt mit phploc 2.0.0
non-comment lines of code (NCLOC) Magento CE 1.8.0.0 (/app) Symfony 2.3.7 (/vendor) globetrotter.de 0 125.000 250.000 375.000 500.000 ermittelt mit phploc 2.0.0
FAZIT Warum war die Eigenentwicklung die richtige Entscheidung für uns?
FAZIT Warum war die Eigenentwicklung die richtige Entscheidung für uns? Wir wollen kein me too commerce
FAZIT Warum war die Eigenentwicklung die richtige Entscheidung für uns? Wir wollen kein me too commerce Wir haben die Chance, mit Innovationen den Markt mitzugestalten
FAZIT Warum war die Eigenentwicklung die richtige Entscheidung für uns? Wir wollen kein me too commerce Wir haben die Chance, mit Innovationen den Markt mitzugestalten Wir wollen die volle Kontrolle über unsere Applikation
FAZIT Warum war die Eigenentwicklung die richtige Entscheidung für uns? Wir wollen kein me too commerce Wir haben die Chance, mit Innovationen den Markt mitzugestalten Wir wollen die volle Kontrolle über unsere Applikation Wir haben die richtigen Leute!
WE ARE HIRING! (THIS IS THE Q&A SLIDE)
Sebastian Heuer Globetrotter Ausrüstung Make or Buy?