PHP Summit 2013 - Make or Buy?

519 Aufrufe

Veröffentlicht am

Die alte Software genügt den Anforderungen nicht mehr, eine neue muss her. Zahlreiche Standardsysteme buhlen um die Gunst der Entscheider - aber ist Standard immer das richtige? Wann lohnt sich eine individuelle Eigenentwicklung? In der Session wird beleuchtet, warum der neue Shop von Globetrotter Ausrüstung nicht mit einer Standardsoftware läuft - und welche Vorteile das Unternehmen aus dieser Entscheidung zieht.

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
519
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
10
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

PHP Summit 2013 - Make or Buy?

  1. 1. Sebastian Heuer | Globetrotter Ausrüstung Make or Buy?
  2. 2. @GlobetrotterDEV FOLLOW US!
  3. 3. STATUS QUO
  4. 4. Eigenentwicklung STATUS QUO
  5. 5. Eigenentwicklung Standardsoftware STATUS QUO
  6. 6. URSPRÜNGLICHER PLAN Standardsoftware Standardsoftware
  7. 7. WHAT HAPPENED?
  8. 8. FEATURES, FEATURES, FEATURES • Produktvergleich • Merklisten • Gutscheine • Bestellhistorie • Backoffice (Artikel- und Bestellverwaltung)
  9. 9. –Random Globetrotter Employee „Die Features passen fast zu unseren Anforderungen.“
  10. 10. CUSTOMIZING
  11. 11. CUSTOMIZING Bestehende Software wird an individuelle Anforderungen angepasst
  12. 12. Feature X FeatureY Feature Z Core Code Customization
  13. 13. HOUSTON, … • Artikelimport • Varianten- und Merkmalstrukturen passen nicht zusammen • Performance • aufwändiges Caching, Probleme bei Invalidierung • ohne Cache ein CPU Core je Request
  14. 14. THE WAY OUT Alternative Eigenentwicklung
  15. 15. THE WAY OUT Alternative Eigenentwicklung
  16. 16. THE WAY OUT Alternative Eigenentwicklung
  17. 17. THE WAY OUT Alternative Eigenentwicklung
  18. 18. Die Idee wird geboren
  19. 19. Die Idee wird geboren Infizierung desTeams
  20. 20. „das wird niemals bewilligt“ Die Idee wird geboren Infizierung desTeams
  21. 21. „das wird niemals bewilligt“ Workshop wird genehmigt o/ Die Idee wird geboren Infizierung desTeams
  22. 22. „das wird niemals bewilligt“ Workshop wird genehmigt o/ Bau eines Prototypen „Wir schaffen das!“ Die Idee wird geboren Infizierung desTeams
  23. 23. „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!
  24. 24. „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!
  25. 25. „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!
  26. 26. „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!
  27. 27. –Green Lantern „With great power comes great responsibility“
  28. 28. ARCHITECTURE ISTHE KEY
  29. 29. ARCHITECTURE ISTHE KEY • Wenn man bei NULL anfängt, muss man sich gut vorbereiten. Kein „just do it“ in dieser Phase.
  30. 30. 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“)
  31. 31. 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
  32. 32. ARCHITECTURE ISTHE KEY Webserver StoreFront Middleware DataPool Search StoreBack
  33. 33. TEAM SETUP
  34. 34. TEAM SETUP • Coding Guidelines
  35. 35. TEAM SETUP • Coding Guidelines • PHP CodeSniffer Ruleset erarbeiten
  36. 36. TEAM SETUP • Coding Guidelines • PHP CodeSniffer Ruleset erarbeiten • Welche Metriken sind uns wichtig und warum?
  37. 37. TEAM SETUP • Coding Guidelines • PHP CodeSniffer Ruleset erarbeiten • Welche Metriken sind uns wichtig und warum? • CI aufsetzen
  38. 38. TEAM SETUP
  39. 39. TEAM SETUP • Definition of Done festlegen und leben
  40. 40. TEAM SETUP • Definition of Done festlegen und leben • interne QA durch zweiten Entwickler
  41. 41. TEAM SETUP • Definition of Done festlegen und leben • interne QA durch zweiten Entwickler • Deploymentkonzept
  42. 42. TEAM SETUP • Definition of Done festlegen und leben • interne QA durch zweiten Entwickler • Deploymentkonzept • so früh wie möglich ins CI integrieren
  43. 43. DEPLOYMENT
  44. 44. THINK ITERATIVE
  45. 45. THINK ITERATIVE • Mit minimalem Featureset starten
  46. 46. THINK ITERATIVE • Mit minimalem Featureset starten • Stabiles Fundament errichten
  47. 47. THINK ITERATIVE • Mit minimalem Featureset starten • Stabiles Fundament errichten • Stabilen Stand nach und nach um Features erweitern
  48. 48. THINK ITERATIVE • Mit minimalem Featureset starten • Stabiles Fundament errichten • Stabilen Stand nach und nach um Features erweitern • regelmäßige Reviews
  49. 49. DAS MINIMUM
  50. 50. DAS MINIMUM • Navigation
  51. 51. DAS MINIMUM • Navigation • Produktlisting
  52. 52. DAS MINIMUM • Navigation • Produktlisting • Produktdetailseite
  53. 53. DAS MINIMUM • Navigation • Produktlisting • Produktdetailseite • Warenkorb
  54. 54. DAS MINIMUM • Navigation • Produktlisting • Produktdetailseite • Warenkorb • Checkout (Adresse + ZahlartVorkasse)
  55. 55. SOLVING CONFLICTS • Diskussionen über mögliche Lösungswege brauchen einen Moderator und einen Entscheider, dessen Urteil akzeptiert wird
  56. 56. SOLVING CONFLICTS
  57. 57. SOLVING CONFLICTS • Alleingänge vermeiden und stoppen
  58. 58. SOLVING CONFLICTS • Alleingänge vermeiden und stoppen • Ablehnung von kreativenVorschlägen aus dem Team ist manchmal notwendig, aber demotivierend
  59. 59. SOLVING CONFLICTS • Alleingänge vermeiden und stoppen • Ablehnung von kreativenVorschlägen aus dem Team ist manchmal notwendig, aber demotivierend • <insert anecdote here>
  60. 60. THE SKYTEAM ISTHE LIMIT
  61. 61. THE SKYTEAM ISTHE LIMIT • Bei der Umsetzung von Features gibt es quasi™
 keine Grenzen mehr
  62. 62. THE SKYTEAM ISTHE LIMIT • Bei der Umsetzung von Features gibt es quasi™
 keine Grenzen mehr • DasTeam kennt jede einzelne Codezeile
  63. 63. THE SKYTEAM ISTHE LIMIT • Bei der Umsetzung von Features gibt es quasi™
 keine Grenzen mehr • DasTeam kennt jede einzelne Codezeile • SchnellesTeam = schnelle Weiterentwicklung
  64. 64. 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
  65. 65. 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
  66. 66. 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
  67. 67. FAZIT Warum war die Eigenentwicklung die richtige Entscheidung für uns?
  68. 68. FAZIT Warum war die Eigenentwicklung die richtige Entscheidung für uns? • Wir wollen kein „me too commerce“
  69. 69. 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
  70. 70. 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
  71. 71. 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!
  72. 72. WE ARE HIRING! (THIS ISTHE Q&A SLIDE)
  73. 73. Sebastian Heuer | Globetrotter Ausrüstung Make or Buy?

×