SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Agile Scaling in a Self-Organizing Team
Timo Fuchs & Stefan Rotsch
-style
How to Eat an
Herzlichen Glückwunsch, congstar!
Projekt
Projekt Team Scrum Organisation Architektur
Projektumfang
Webshop
Projekt Team Scrum Organisation Architektur
CustomerSelfCare
Projekt Team Scrum Organisation Architektur
PennyMobil
Projekt Team Scrum Organisation Architektur
ja!Mobil
Projekt Team Scrum Organisation Architektur
Vertriebsportal(cPP)
Projekt Team Scrum Organisation Architektur
Schnittstellen
Guthabenabfrage Produktkatalog
KundenstammdatenIdentitätsprüfung
Authentifizierung
Rufnummernportierung
Adressvalidierung
Verfügbarkeitsprüfung
Projekt Team Scrum Organisation Architektur
Team
Teamzusammensetzung
BE
FE
QA
BE BE
FE
QA
SM
PO
3 Backend-Entwickler
2 Frontend-Entwickler
2 Tester
Scrum Master
Product Owner
Projekt Team Scrum Organisation Architektur
Teamzusammensetzung
BE
FE
QA
BE
BE
FE
QA
SMPO
congstar (Köln)
AOE (Wiesbaden)
Extern
Proxy-SM
Projekt Team Scrum Organisation Architektur
TeamsimProjektcongstar
BE
FE
QA
BE
BE
FE
QA
SMPO SMPO SMPO SMPO
FE
FE
FE
FE
FE
FE
BE
BE
BE
BE
BE
QA
QA
QA
QA
QA
BE
BE
BE
Team 3 Team 7 Team 10 Team 12
Projekt Team Scrum Organisation Architektur
Scrum
Releasezyklus
Projekt Team Scrum Organisation Architektur
17.5.1 Release 17.517.5.2 17.5.3
You are here
3 Wo 3 Wo 2 Wo
Feature-Sprint Feature-Sprint Release-Sprint
VBT (Verbundtest)
IBN (Inbetriebnahme)
Review-Messe (Köln)
Zeremonien
Projekt Team Scrum Organisation Architektur
Sprint Review
Daily Standup
Retrospektive / Sprint Planning
(Selbst-) Organisation
Bewerberprozess
Projekt Team Scrum Organisation Architektur
Bewerbung Beschnuppern Familientreffen Entscheidung
Skalierung
Projekt Team Scrum Organisation Architektur
BE
FE
QA
BE
BE
FE
QA
SMPO SMPO SMPO
FE
FE
FE
BE
BE
BE
QA
QA
QA
QA
BE
BE
BE
BE
FE
BE
QA
BE
FE
Skalierung
Projekt Team Scrum Organisation Architektur
BE
FE
QA
BE
BE
FE
QA
SMPO SMPO SMPO
FE
FE
FE
BE
BE
BE
QA
QA
QA
QA
BE
BEBE
BE
FE
BE
QA
BE
FE
SMPO
Teamübergreifend
Projekt Team Scrum Organisation Architektur
BE
FE
QA
BE
BE
QA
BE
FE
QA
BE
BE
FE
QA
BE
QA
BE
BE
FE
QA
BE FE
QA
BEBE
FE
QA
BE
BE
SMPO
Ohne SM/PO
congstar Weekly
Gruppen/COIs
Projekt Team Scrum Organisation Architektur
BE
FE
QA
BE
BE
QA
BE
FE
QA
BE
BE
FE
QA
BE
QA
BE
BE
FE
QA
BE FE
QA
BEBE
FE QA
BE
BE
Architektur
DevOps
Testing
Frontend
Scrum
Microservices
TeamübergreifendeRollen
Projekt Team Scrum Organisation Architektur
EP1 EP2 EP3
$$$
Abrechung

Budget-Planung

Controlling
Personal
Bewerber-Koordination

Schnittstelle zu 

AOE Management Team
DP3
Technologie
Technischer Überblick

Ansprechpartner

für congstar
Architektur
Projekt Team Scrum Organisation Architektur
E-Commerce Framework for
Telecommunication Providers
Projekt Team Scrum Organisation Architektur
EFTExtension
2.283 PHP-KlassenTYPO3 Extension 427.864 Lines of Code
Saubere ArchitekturTestabdeckung ~80% Monolith
Enthält die gesamte congstar Web-Platform (Stand 2014)
EFT – E-Commerce Framework for Telecommunication Providers
Exzessive Nutzung von Vererbung
‣Code-Änderungen weit unten in der Hierarchie ziehen große Auswirkungen 

nach sich (bei Controllern zum Teil über 10 Vererbungshierarchien)
Projekt Team Scrum Organisation Architektur
Wachstumsprobleme
Allumfassendes Domain Model
‣Neue Entwickler brauchen Monate oder Jahre um sich zurechtzufinden
Eine einzige Code-Basis (trunk-based)
‣Ausführung der Unit Tests dauert eine gefühlte Ewigkeit

‣Commit-gesteuerte Build-Jobs laufen ständig

‣Fehlerhafte Commits legen mehrere Teams lahm
Relaunch als Chance zum Neubau
‣Relaunch des Webshops & Customer Self Care
Projekt Team Scrum Organisation Architektur
Schritt1:Feature-Extensions
Schnitt anhand von Geschäftsprozessen
‣Beispiele: Checkout, Tarifkonfiguration, 

Handykonfiguration, Passwort vergessen
Aufteilen von Verantwortlichkeiten
‣Team 3: Handykonfigurator

‣Team 7: Tarifkonfigurator

‣Team 10: Authentifizierung

‣Team 12: Checkout
Problem: Caching von Seiten
‣Seiten werden mit Markern für das Replacement 

von dynamischen Inhalten gecached

‣Replacement muss im TYPO3 Rendering-Prozess passieren

‣Einsatz von z.B. Varnish nicht möglich
Projekt Team Scrum Organisation Architektur
Schritt2:AJAXifizierung
Lösung: Nachladen von dynamischen Inhalten via AJAX
‣Seiten können komplett in Varnish gecached werden

‣Komplexe Caching-Logik kann ausgebaut werden
Problem: Dependencies auf PHP-Ebene
‣Miteinander agierende Komponenten sind nur im Verbund testbar

‣Änderungen bedeuten enormen Anpassungsaufwand

‣Caching von oft aufgerufenen Methoden schwierig
Projekt Team Scrum Organisation Architektur
Schritt3:RESTifizierung
Lösung: RESTifizierung aller Komponenten
‣Datenaustausch über HTTP-Requests und APIs anstelle von PHP-Objekten

‣Schnittstellenabstimmungen werden einfacher

‣Herausforderung Abwärtskompatibilität der REST-APIs

‣API-Responses können mit Hilfe von Varnish gecached werden
Problem: Performance von PHP APIs
‣Feingranulare REST-APIs häufig unperformant (Bootstrapping)

‣Caching der Responses ist unumgänglich

‣In vielen Fällen müssen Caches vorgewärmt werden (Komplexität)
Projekt Team Scrum Organisation Architektur
Schritt4:PHP➔Java/Groovy
Problem: Qualität von Frameworks und Bibliotheken
‣Beispiel: Serialisierung und Deserialisierung von JSON/PHP-Objekten

(JMS Serializer, Symfony Serializer oder manuell)
Lösung: Microservices mit Spring Boot (Groovy)
‣Java-KnowHow bei AOE und congstar vorhanden

‣Entwicklungsgeschwindigkeit

‣Deployment

‣Einarbeitungszeit für neue Entwickler
Projekt Team Scrum Organisation Architektur
Frontend LayerOAuth Checkout
Tarif-

wechsel
TYPO3 Handys Tarife …
Schichten-Architektur
Service Layer
Customer

Service
Produkt-

katalog
Pricing

Service
…
Backend Layer
AAX²

Kunden, Verträge, Produkte, …
Nexnet

Rechnungen, …
Deutsche Telekom External APIs
EFT Extension
Projekt Team Scrum Organisation Architektur
Elefanten-Evolution
Customer
Auth
Projekt Team Scrum Organisation Architektur
Elefanten-Evolution
Rechnungen
Verträge
Checkout
Bankdaten
Adressdaten
Verfügbarkeits-

prüfung
Passwort ändern
Pricing
Aufladefinder
Tarifwechsel
Produktkatalog
Options-

verwaltung
…
…
…
…
EFT Suite
That’s all, Folks…
❤

Weitere ähnliche Inhalte

Ähnlich wie AOEconf17: How to eat an elePHPant, congstar style - Timo Fuchs & Stefan Rotsch

Frontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeFrontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeNico Steiner
 
Automatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenAutomatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenJakob
 
TYPO3 Case Study-für die Heico Holding GmbH
TYPO3 Case Study-für die Heico Holding GmbHTYPO3 Case Study-für die Heico Holding GmbH
TYPO3 Case Study-für die Heico Holding GmbHBrowserwerk GmbH
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der PraxisMichael Mirold
 
Kritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonKritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonDynatrace
 
Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'scamunda services GmbH
 
Scrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererScrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererTobias Schlüter
 
ScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungHeiko Brenn
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...QAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördernAgile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördernSascha Böhr
 
SEO on TYPO3 homepage
SEO on TYPO3 homepageSEO on TYPO3 homepage
SEO on TYPO3 homepageAlex Kellner
 
MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)Ulf Mewe
 
AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)
AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)
AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)norisk
 
Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesAndré Fleischer
 
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-GewinnspielSüßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-GewinnspielAWS Germany
 
Scrum-Einführung bei mobile.de
Scrum-Einführung bei mobile.deScrum-Einführung bei mobile.de
Scrum-Einführung bei mobile.deMarkus Andrezak
 
Roadshow 2019: Praxistipps für die erfolgreiche Einführung von Camunda in Ihr...
Roadshow 2019: Praxistipps für die erfolgreiche Einführung von Camunda in Ihr...Roadshow 2019: Praxistipps für die erfolgreiche Einführung von Camunda in Ihr...
Roadshow 2019: Praxistipps für die erfolgreiche Einführung von Camunda in Ihr...camunda services GmbH
 

Ähnlich wie AOEconf17: How to eat an elePHPant, congstar style - Timo Fuchs & Stefan Rotsch (20)

Frontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeFrontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 Bestellsysteme
 
Automatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenAutomatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-Optimierungen
 
TYPO3 Case Study-für die Heico Holding GmbH
TYPO3 Case Study-für die Heico Holding GmbHTYPO3 Case Study-für die Heico Holding GmbH
TYPO3 Case Study-für die Heico Holding GmbH
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der Praxis
 
Kritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonKritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit Bison
 
Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht's
 
Scrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererScrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für Programmierer
 
ScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungScriptRunner - Eine Einführung
ScriptRunner - Eine Einführung
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördernAgile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
 
SEO on TYPO3 homepage
SEO on TYPO3 homepageSEO on TYPO3 homepage
SEO on TYPO3 homepage
 
OOP2017: Scrum statt Murcs - Agile Software-Entwicklung
OOP2017: Scrum statt Murcs - Agile Software-EntwicklungOOP2017: Scrum statt Murcs - Agile Software-Entwicklung
OOP2017: Scrum statt Murcs - Agile Software-Entwicklung
 
MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)
 
AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)
AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)
AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)
 
Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit Microservices
 
Devops
DevopsDevops
Devops
 
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-GewinnspielSüßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
 
Scrum-Einführung bei mobile.de
Scrum-Einführung bei mobile.deScrum-Einführung bei mobile.de
Scrum-Einführung bei mobile.de
 
Roadshow 2019: Praxistipps für die erfolgreiche Einführung von Camunda in Ihr...
Roadshow 2019: Praxistipps für die erfolgreiche Einführung von Camunda in Ihr...Roadshow 2019: Praxistipps für die erfolgreiche Einführung von Camunda in Ihr...
Roadshow 2019: Praxistipps für die erfolgreiche Einführung von Camunda in Ihr...
 

Mehr von AOE

Re-inventing airport non-aeronautical revenue generation post COVID-19
Re-inventing airport non-aeronautical revenue generation post COVID-19Re-inventing airport non-aeronautical revenue generation post COVID-19
Re-inventing airport non-aeronautical revenue generation post COVID-19AOE
 
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019AOE
 
Flamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel PötzingerFlamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel PötzingerAOE
 
A bag full of trust - Christof Braun at AOE Conference 2018
A bag full of trust - Christof Braun at AOE Conference 2018A bag full of trust - Christof Braun at AOE Conference 2018
A bag full of trust - Christof Braun at AOE Conference 2018AOE
 
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...AOE
 
Frankfurt Airport Digitalization Case Study
Frankfurt Airport Digitalization Case StudyFrankfurt Airport Digitalization Case Study
Frankfurt Airport Digitalization Case StudyAOE
 
This is what has to change for Travel Retail to survive - Manuel Heidler, AOE
This is what has to change for Travel Retail to survive - Manuel Heidler, AOEThis is what has to change for Travel Retail to survive - Manuel Heidler, AOE
This is what has to change for Travel Retail to survive - Manuel Heidler, AOEAOE
 
AOEconf17: Application Security
AOEconf17: Application SecurityAOEconf17: Application Security
AOEconf17: Application SecurityAOE
 
AOEconf17: AOE Tech Radar Insights
AOEconf17: AOE Tech Radar InsightsAOEconf17: AOE Tech Radar Insights
AOEconf17: AOE Tech Radar InsightsAOE
 
AOEconf17: A flight through our OM³ Systems
AOEconf17: A flight through our OM³ SystemsAOEconf17: A flight through our OM³ Systems
AOEconf17: A flight through our OM³ SystemsAOE
 
AOEconf17: AOE Tech Radar Insights
AOEconf17: AOE Tech Radar InsightsAOEconf17: AOE Tech Radar Insights
AOEconf17: AOE Tech Radar InsightsAOE
 
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...AOE
 
AOEconf17: Agile scaling concepts
AOEconf17: Agile scaling conceptsAOEconf17: Agile scaling concepts
AOEconf17: Agile scaling conceptsAOE
 
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...AOE
 
AOEconf17: UI challenges in a microservice world
AOEconf17: UI challenges in a microservice worldAOEconf17: UI challenges in a microservice world
AOEconf17: UI challenges in a microservice worldAOE
 
AOEconf17: Application Security - Bastian Ike
AOEconf17: Application Security - Bastian IkeAOEconf17: Application Security - Bastian Ike
AOEconf17: Application Security - Bastian IkeAOE
 
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...AOE
 
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...AOE
 
SUPER-scaling E-Commerce with Magento
SUPER-scaling E-Commerce with MagentoSUPER-scaling E-Commerce with Magento
SUPER-scaling E-Commerce with MagentoAOE
 
How to eat an elephant
How to eat an elephantHow to eat an elephant
How to eat an elephantAOE
 

Mehr von AOE (20)

Re-inventing airport non-aeronautical revenue generation post COVID-19
Re-inventing airport non-aeronautical revenue generation post COVID-19Re-inventing airport non-aeronautical revenue generation post COVID-19
Re-inventing airport non-aeronautical revenue generation post COVID-19
 
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
 
Flamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel PötzingerFlamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel Pötzinger
 
A bag full of trust - Christof Braun at AOE Conference 2018
A bag full of trust - Christof Braun at AOE Conference 2018A bag full of trust - Christof Braun at AOE Conference 2018
A bag full of trust - Christof Braun at AOE Conference 2018
 
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
 
Frankfurt Airport Digitalization Case Study
Frankfurt Airport Digitalization Case StudyFrankfurt Airport Digitalization Case Study
Frankfurt Airport Digitalization Case Study
 
This is what has to change for Travel Retail to survive - Manuel Heidler, AOE
This is what has to change for Travel Retail to survive - Manuel Heidler, AOEThis is what has to change for Travel Retail to survive - Manuel Heidler, AOE
This is what has to change for Travel Retail to survive - Manuel Heidler, AOE
 
AOEconf17: Application Security
AOEconf17: Application SecurityAOEconf17: Application Security
AOEconf17: Application Security
 
AOEconf17: AOE Tech Radar Insights
AOEconf17: AOE Tech Radar InsightsAOEconf17: AOE Tech Radar Insights
AOEconf17: AOE Tech Radar Insights
 
AOEconf17: A flight through our OM³ Systems
AOEconf17: A flight through our OM³ SystemsAOEconf17: A flight through our OM³ Systems
AOEconf17: A flight through our OM³ Systems
 
AOEconf17: AOE Tech Radar Insights
AOEconf17: AOE Tech Radar InsightsAOEconf17: AOE Tech Radar Insights
AOEconf17: AOE Tech Radar Insights
 
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...
 
AOEconf17: Agile scaling concepts
AOEconf17: Agile scaling conceptsAOEconf17: Agile scaling concepts
AOEconf17: Agile scaling concepts
 
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
 
AOEconf17: UI challenges in a microservice world
AOEconf17: UI challenges in a microservice worldAOEconf17: UI challenges in a microservice world
AOEconf17: UI challenges in a microservice world
 
AOEconf17: Application Security - Bastian Ike
AOEconf17: Application Security - Bastian IkeAOEconf17: Application Security - Bastian Ike
AOEconf17: Application Security - Bastian Ike
 
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...
 
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
 
SUPER-scaling E-Commerce with Magento
SUPER-scaling E-Commerce with MagentoSUPER-scaling E-Commerce with Magento
SUPER-scaling E-Commerce with Magento
 
How to eat an elephant
How to eat an elephantHow to eat an elephant
How to eat an elephant
 

AOEconf17: How to eat an elePHPant, congstar style - Timo Fuchs & Stefan Rotsch

  • 1. Agile Scaling in a Self-Organizing Team Timo Fuchs & Stefan Rotsch -style How to Eat an
  • 4. Projekt Team Scrum Organisation Architektur Projektumfang
  • 5. Webshop Projekt Team Scrum Organisation Architektur
  • 6. CustomerSelfCare Projekt Team Scrum Organisation Architektur
  • 7. PennyMobil Projekt Team Scrum Organisation Architektur
  • 8. ja!Mobil Projekt Team Scrum Organisation Architektur
  • 9. Vertriebsportal(cPP) Projekt Team Scrum Organisation Architektur
  • 11. Team
  • 12. Teamzusammensetzung BE FE QA BE BE FE QA SM PO 3 Backend-Entwickler 2 Frontend-Entwickler 2 Tester Scrum Master Product Owner Projekt Team Scrum Organisation Architektur
  • 14. TeamsimProjektcongstar BE FE QA BE BE FE QA SMPO SMPO SMPO SMPO FE FE FE FE FE FE BE BE BE BE BE QA QA QA QA QA BE BE BE Team 3 Team 7 Team 10 Team 12 Projekt Team Scrum Organisation Architektur
  • 15. Scrum
  • 16. Releasezyklus Projekt Team Scrum Organisation Architektur 17.5.1 Release 17.517.5.2 17.5.3 You are here 3 Wo 3 Wo 2 Wo Feature-Sprint Feature-Sprint Release-Sprint VBT (Verbundtest) IBN (Inbetriebnahme) Review-Messe (Köln)
  • 17. Zeremonien Projekt Team Scrum Organisation Architektur Sprint Review Daily Standup Retrospektive / Sprint Planning
  • 19. Bewerberprozess Projekt Team Scrum Organisation Architektur Bewerbung Beschnuppern Familientreffen Entscheidung
  • 20. Skalierung Projekt Team Scrum Organisation Architektur BE FE QA BE BE FE QA SMPO SMPO SMPO FE FE FE BE BE BE QA QA QA QA BE BE BE BE FE BE QA BE FE
  • 21. Skalierung Projekt Team Scrum Organisation Architektur BE FE QA BE BE FE QA SMPO SMPO SMPO FE FE FE BE BE BE QA QA QA QA BE BEBE BE FE BE QA BE FE SMPO
  • 22. Teamübergreifend Projekt Team Scrum Organisation Architektur BE FE QA BE BE QA BE FE QA BE BE FE QA BE QA BE BE FE QA BE FE QA BEBE FE QA BE BE SMPO Ohne SM/PO congstar Weekly
  • 23. Gruppen/COIs Projekt Team Scrum Organisation Architektur BE FE QA BE BE QA BE FE QA BE BE FE QA BE QA BE BE FE QA BE FE QA BEBE FE QA BE BE Architektur DevOps Testing Frontend Scrum Microservices
  • 24. TeamübergreifendeRollen Projekt Team Scrum Organisation Architektur EP1 EP2 EP3 $$$ Abrechung Budget-Planung Controlling Personal Bewerber-Koordination
 Schnittstelle zu 
 AOE Management Team DP3 Technologie Technischer Überblick Ansprechpartner
 für congstar
  • 26. Projekt Team Scrum Organisation Architektur E-Commerce Framework for Telecommunication Providers
  • 27. Projekt Team Scrum Organisation Architektur EFTExtension 2.283 PHP-KlassenTYPO3 Extension 427.864 Lines of Code Saubere ArchitekturTestabdeckung ~80% Monolith Enthält die gesamte congstar Web-Platform (Stand 2014) EFT – E-Commerce Framework for Telecommunication Providers
  • 28. Exzessive Nutzung von Vererbung ‣Code-Änderungen weit unten in der Hierarchie ziehen große Auswirkungen 
 nach sich (bei Controllern zum Teil über 10 Vererbungshierarchien) Projekt Team Scrum Organisation Architektur Wachstumsprobleme Allumfassendes Domain Model ‣Neue Entwickler brauchen Monate oder Jahre um sich zurechtzufinden Eine einzige Code-Basis (trunk-based) ‣Ausführung der Unit Tests dauert eine gefühlte Ewigkeit ‣Commit-gesteuerte Build-Jobs laufen ständig ‣Fehlerhafte Commits legen mehrere Teams lahm
  • 29. Relaunch als Chance zum Neubau ‣Relaunch des Webshops & Customer Self Care Projekt Team Scrum Organisation Architektur Schritt1:Feature-Extensions Schnitt anhand von Geschäftsprozessen ‣Beispiele: Checkout, Tarifkonfiguration, 
 Handykonfiguration, Passwort vergessen Aufteilen von Verantwortlichkeiten ‣Team 3: Handykonfigurator ‣Team 7: Tarifkonfigurator ‣Team 10: Authentifizierung ‣Team 12: Checkout
  • 30. Problem: Caching von Seiten ‣Seiten werden mit Markern für das Replacement 
 von dynamischen Inhalten gecached ‣Replacement muss im TYPO3 Rendering-Prozess passieren ‣Einsatz von z.B. Varnish nicht möglich Projekt Team Scrum Organisation Architektur Schritt2:AJAXifizierung Lösung: Nachladen von dynamischen Inhalten via AJAX ‣Seiten können komplett in Varnish gecached werden ‣Komplexe Caching-Logik kann ausgebaut werden
  • 31. Problem: Dependencies auf PHP-Ebene ‣Miteinander agierende Komponenten sind nur im Verbund testbar ‣Änderungen bedeuten enormen Anpassungsaufwand ‣Caching von oft aufgerufenen Methoden schwierig Projekt Team Scrum Organisation Architektur Schritt3:RESTifizierung Lösung: RESTifizierung aller Komponenten ‣Datenaustausch über HTTP-Requests und APIs anstelle von PHP-Objekten ‣Schnittstellenabstimmungen werden einfacher ‣Herausforderung Abwärtskompatibilität der REST-APIs ‣API-Responses können mit Hilfe von Varnish gecached werden
  • 32. Problem: Performance von PHP APIs ‣Feingranulare REST-APIs häufig unperformant (Bootstrapping) ‣Caching der Responses ist unumgänglich ‣In vielen Fällen müssen Caches vorgewärmt werden (Komplexität) Projekt Team Scrum Organisation Architektur Schritt4:PHP➔Java/Groovy Problem: Qualität von Frameworks und Bibliotheken ‣Beispiel: Serialisierung und Deserialisierung von JSON/PHP-Objekten
 (JMS Serializer, Symfony Serializer oder manuell) Lösung: Microservices mit Spring Boot (Groovy) ‣Java-KnowHow bei AOE und congstar vorhanden ‣Entwicklungsgeschwindigkeit ‣Deployment ‣Einarbeitungszeit für neue Entwickler
  • 33. Projekt Team Scrum Organisation Architektur Frontend LayerOAuth Checkout Tarif-
 wechsel TYPO3 Handys Tarife … Schichten-Architektur Service Layer Customer
 Service Produkt-
 katalog Pricing
 Service … Backend Layer AAX²
 Kunden, Verträge, Produkte, … Nexnet
 Rechnungen, … Deutsche Telekom External APIs
  • 34. EFT Extension Projekt Team Scrum Organisation Architektur Elefanten-Evolution
  • 35. Customer Auth Projekt Team Scrum Organisation Architektur Elefanten-Evolution Rechnungen Verträge Checkout Bankdaten Adressdaten Verfügbarkeits-
 prüfung Passwort ändern Pricing Aufladefinder Tarifwechsel Produktkatalog Options-
 verwaltung … … … … EFT Suite
  • 37.