SlideShare ist ein Scribd-Unternehmen logo
1 von 77
Downloaden Sie, um offline zu lesen
Sebastian Heuer | Globetrotter Ausrüstung
Make or Buy?
@GlobetrotterDEV
FOLLOW US!
STATUS QUO
Eigenentwicklung
STATUS QUO
Eigenentwicklung Standardsoftware
STATUS QUO
URSPRÜNGLICHER PLAN
Standardsoftware Standardsoftware
WHAT HAPPENED?
FEATURES, FEATURES, FEATURES
• Produktvergleich	

• Merklisten	

• Gutscheine	

• Bestellhistorie	

• Backoffice (Artikel- und Bestellverwaltung)
–Random Globetrotter Employee
„Die Features passen fast zu unseren Anforderungen.“
CUSTOMIZING
CUSTOMIZING
Bestehende Software wird an individuelle
Anforderungen angepasst
Feature X FeatureY Feature Z
Core Code Customization
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
desTeams
„das wird niemals
bewilligt“
Die Idee wird
geboren
Infizierung
desTeams
„das wird niemals
bewilligt“
Workshop wird
genehmigt o/
Die Idee wird
geboren
Infizierung
desTeams
„das wird niemals
bewilligt“
Workshop wird
genehmigt o/
Bau eines Prototypen	

„Wir schaffen das!“
Die Idee wird
geboren
Infizierung
desTeams
„das wird niemals
bewilligt“
Workshop wird
genehmigt o/
Bau eines Prototypen	

„Wir schaffen das!“
Die Idee wird
geboren
Infizierung
desTeams
Entscheidung für die
Eigenentwicklung!
„das wird niemals
bewilligt“
Workshop wird
genehmigt o/
Bau eines Prototypen	

„Wir schaffen das!“
Die Idee wird
geboren
Infizierung
desTeams
finaler Lasttest
Entscheidung für die
Eigenentwicklung!
„das wird niemals
bewilligt“
Workshop wird
genehmigt o/
Bau eines Prototypen	

„Wir schaffen das!“
Die Idee wird
geboren
Infizierung
desTeams
Produktivsystem
läuft
finaler Lasttest
Entscheidung für die
Eigenentwicklung!
„das wird niemals
bewilligt“
Workshop wird
genehmigt o/
Bau eines Prototypen	

„Wir schaffen das!“
Wir sind live!
Die Idee wird
geboren
Infizierung
desTeams
Produktivsystem
läuft
finaler Lasttest
Entscheidung für die
Eigenentwicklung!
–Green Lantern
„With great power comes great
responsibility“
ARCHITECTURE ISTHE KEY
ARCHITECTURE ISTHE KEY
• Wenn man bei NULL anfängt, muss man sich gut
vorbereiten. Kein „just do it“ in dieser Phase.
ARCHITECTURE ISTHE KEY
• Wenn man bei NULL anfängt, muss man sich gut
vorbereiten. Kein „just do it“ in dieser Phase.
• Wichtig: nicht sofort inTechnologien denken
(„Webprojekte macht man jetzt mit Rails“)
ARCHITECTURE ISTHE KEY
• Wenn man bei NULL anfängt, muss man sich gut
vorbereiten. Kein „just do it“ in dieser Phase.
• Wichtig: nicht sofort inTechnologien denken
(„Webprojekte macht man jetzt mit Rails“)
• Technologieunabhängige Architektur steht am
Anfang
ARCHITECTURE ISTHE KEY
Webserver StoreFront
Middleware
DataPool
Search
StoreBack
TEAM SETUP
TEAM SETUP
• Coding Guidelines
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
DAS MINIMUM
• Navigation
DAS MINIMUM
• Navigation
• Produktlisting
DAS MINIMUM
• Navigation
• Produktlisting
• Produktdetailseite
DAS MINIMUM
• Navigation
• Produktlisting
• Produktdetailseite
• Warenkorb
DAS MINIMUM
• Navigation
• Produktlisting
• Produktdetailseite
• Warenkorb
• Checkout (Adresse + ZahlartVorkasse)
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 kreativenVorschlägen aus dem
Team ist manchmal notwendig, aber
demotivierend
SOLVING CONFLICTS
• Alleingänge vermeiden und stoppen
• Ablehnung von kreativenVorschlägen aus dem
Team ist manchmal notwendig, aber
demotivierend
• <insert anecdote here>
THE SKYTEAM ISTHE LIMIT
THE SKYTEAM ISTHE LIMIT
• Bei der Umsetzung von Features gibt es quasi™

keine Grenzen mehr
THE SKYTEAM ISTHE LIMIT
• Bei der Umsetzung von Features gibt es quasi™

keine Grenzen mehr
• DasTeam kennt jede einzelne Codezeile
THE SKYTEAM ISTHE LIMIT
• Bei der Umsetzung von Features gibt es quasi™

keine Grenzen mehr
• DasTeam kennt jede einzelne Codezeile
• SchnellesTeam = schnelle Weiterentwicklung
THE SKYTEAM ISTHE LIMIT
• Bei der Umsetzung von Features gibt es quasi™

keine Grenzen mehr
• DasTeam kennt jede einzelne Codezeile
• SchnellesTeam = schnelle Weiterentwicklung
• LangsamesTeam = 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 ISTHE Q&A SLIDE)
Sebastian Heuer | Globetrotter Ausrüstung
Make or Buy?

Weitere ähnliche Inhalte

Andere mochten auch

40 preguntas de mantenimiento
40 preguntas de mantenimiento40 preguntas de mantenimiento
40 preguntas de mantenimientoYanori Perez
 
Manual ppp men 1 (1)
Manual ppp   men 1 (1)Manual ppp   men 1 (1)
Manual ppp men 1 (1)Marlyn1920
 
Los libros interactivos multimedia
Los libros interactivos multimediaLos libros interactivos multimedia
Los libros interactivos multimediaBrayan Arley F D
 
Focusgroupmetodologia 110615224411-phpapp02
Focusgroupmetodologia 110615224411-phpapp02Focusgroupmetodologia 110615224411-phpapp02
Focusgroupmetodologia 110615224411-phpapp02More Cepeda
 
Historia del Internet
Historia del InternetHistoria del Internet
Historia del InternetLindaPerezC
 
trabajo echo en clase de power point
trabajo echo en clase de power pointtrabajo echo en clase de power point
trabajo echo en clase de power pointtobonangel
 
Rubrica tpack (1)miguel
Rubrica tpack (1)miguelRubrica tpack (1)miguel
Rubrica tpack (1)migueljaravilla64
 
Alfredo keller y asociados primer trimestre 2014
Alfredo keller y asociados primer trimestre 2014Alfredo keller y asociados primer trimestre 2014
Alfredo keller y asociados primer trimestre 2014Mario Abate Liotti Falco
 
Evolució del dibuix de la figura humana
Evolució del dibuix de la figura humanaEvolució del dibuix de la figura humana
Evolució del dibuix de la figura humanaamorera3
 
Thái Công Interior - Homes (german)
Thái Công Interior - Homes (german)Thái Công Interior - Homes (german)
Thái Công Interior - Homes (german)Thống Trình Đăng
 
Objetos tecnológicos tovar edgar
Objetos tecnológicos tovar edgarObjetos tecnológicos tovar edgar
Objetos tecnológicos tovar edgarEdgar Tovar
 
Castillo morales zurisadai
Castillo morales zurisadaiCastillo morales zurisadai
Castillo morales zurisadaizuricita
 

Andere mochten auch (20)

40 preguntas de mantenimiento
40 preguntas de mantenimiento40 preguntas de mantenimiento
40 preguntas de mantenimiento
 
Firma electronica Belen
Firma electronica   BelenFirma electronica   Belen
Firma electronica Belen
 
Manual ppp men 1 (1)
Manual ppp   men 1 (1)Manual ppp   men 1 (1)
Manual ppp men 1 (1)
 
Los libros interactivos multimedia
Los libros interactivos multimediaLos libros interactivos multimedia
Los libros interactivos multimedia
 
Actividad 7
Actividad 7Actividad 7
Actividad 7
 
Focusgroupmetodologia 110615224411-phpapp02
Focusgroupmetodologia 110615224411-phpapp02Focusgroupmetodologia 110615224411-phpapp02
Focusgroupmetodologia 110615224411-phpapp02
 
Historia del Internet
Historia del InternetHistoria del Internet
Historia del Internet
 
Segmentación De Mercados
Segmentación De MercadosSegmentación De Mercados
Segmentación De Mercados
 
Mediendaten Reiseblog & Projektwerkstatt Elena Paschinger www.creativelena.com
Mediendaten Reiseblog & Projektwerkstatt Elena Paschinger www.creativelena.comMediendaten Reiseblog & Projektwerkstatt Elena Paschinger www.creativelena.com
Mediendaten Reiseblog & Projektwerkstatt Elena Paschinger www.creativelena.com
 
lugares del mundo
lugares del mundolugares del mundo
lugares del mundo
 
trabajo echo en clase de power point
trabajo echo en clase de power pointtrabajo echo en clase de power point
trabajo echo en clase de power point
 
Rubrica tpack (1)miguel
Rubrica tpack (1)miguelRubrica tpack (1)miguel
Rubrica tpack (1)miguel
 
Alfredo keller y asociados primer trimestre 2014
Alfredo keller y asociados primer trimestre 2014Alfredo keller y asociados primer trimestre 2014
Alfredo keller y asociados primer trimestre 2014
 
Evolució del dibuix de la figura humana
Evolució del dibuix de la figura humanaEvolució del dibuix de la figura humana
Evolució del dibuix de la figura humana
 
Thái Công Interior - Homes (german)
Thái Công Interior - Homes (german)Thái Công Interior - Homes (german)
Thái Công Interior - Homes (german)
 
Idk
IdkIdk
Idk
 
Objetos tecnológicos tovar edgar
Objetos tecnológicos tovar edgarObjetos tecnológicos tovar edgar
Objetos tecnológicos tovar edgar
 
La Resiliencia
La Resiliencia La Resiliencia
La Resiliencia
 
3
33
3
 
Castillo morales zurisadai
Castillo morales zurisadaiCastillo morales zurisadai
Castillo morales zurisadai
 

Ähnlich wie PHP Summit 2013 - Make or Buy?

Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungOPEN KNOWLEDGE GmbH
 
OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfOSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfNETWAYS
 
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsDevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsStephan Kaps
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineOPEN KNOWLEDGE GmbH
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als CodeJan Gehring
 
Von Test nach Live mit Rex
Von Test nach Live mit RexVon Test nach Live mit Rex
Von Test nach Live mit RexJan Gehring
 
Von Test nach live mit Rex
Von Test nach live mit RexVon Test nach live mit Rex
Von Test nach live mit Rexinovex GmbH
 
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...SHI Search | Analytics | Big Data
 
2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und TestsDaniel Fisher
 
Qualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfQualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfOliver Lemm
 
Herstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoHerstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoATIX AG
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuCédric Hüsler
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedRené Winkelmeyer
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnMartin Seibert
 
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployDevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployMark Lechtermann
 
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...DevDay Dresden
 
Nanoservice Architekturen
Nanoservice ArchitekturenNanoservice Architekturen
Nanoservice ArchitekturenLeo Lindhorst
 
Qualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeQualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeDaniel Scherrer
 
Vorlesung - Cloud Infrastrukturen - Einleitung | anynines
Vorlesung - Cloud Infrastrukturen - Einleitung | anyninesVorlesung - Cloud Infrastrukturen - Einleitung | anynines
Vorlesung - Cloud Infrastrukturen - Einleitung | anyninesanynines GmbH
 

Ähnlich wie PHP Summit 2013 - Make or Buy? (20)

Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
 
OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfOSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
 
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsDevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-Pipeline
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Von Test nach Live mit Rex
Von Test nach Live mit RexVon Test nach Live mit Rex
Von Test nach Live mit Rex
 
Von Test nach live mit Rex
Von Test nach live mit RexVon Test nach live mit Rex
Von Test nach live mit Rex
 
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
 
2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests
 
Qualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfQualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdf
 
Herstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoHerstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhino
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neu
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloaded
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickeln
 
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployDevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
 
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
 
Nanoservice Architekturen
Nanoservice ArchitekturenNanoservice Architekturen
Nanoservice Architekturen
 
Qualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeQualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und Sonarqube
 
Vorlesung - Cloud Infrastrukturen - Einleitung | anynines
Vorlesung - Cloud Infrastrukturen - Einleitung | anyninesVorlesung - Cloud Infrastrukturen - Einleitung | anynines
Vorlesung - Cloud Infrastrukturen - Einleitung | anynines
 

PHP Summit 2013 - Make or Buy?