Project Ironman: the technical migration of the trivago hotel search’s existing CSS core Keeping technical debt low while developing a CSS base on a large scale project is a tough challenge. Even more exciting is to refactor existing CSS / frontend foundations which became cluttered. The talk will provide backgrounds, insights, learnings and technical approaches of refactoring a CSS base on a large scale project including its scope, the outcome and the business value.
3. Christoph Reinartz - @pistenprinz
What is it?
A description
Project Ironman was the technical migration of the trivago hotel
search's existing CSS core to a pattern library based user interface.*
*) business translation for #refactorAllTheThings
45. Christoph Reinartz - @pistenprinz
Retain the existing Layout & Design
integrate the new CSS framework base which was developed with the Pattern
Library without changing the appearance of the site
46. Christoph Reinartz - @pistenprinz
Stop at components layer
Fix the things at the root first
47. Christoph Reinartz - @pistenprinz
Ironman - technical details
What we had to refactor
48. Christoph Reinartz - @pistenprinz
#1
Refactor > 50k LOC of Scss
Rewrite / adapt the whole Scss Base
49. Christoph Reinartz - @pistenprinz
#2
Adapt dozens of templates
Markup changes needed for the new architecture
50. Christoph Reinartz - @pistenprinz
#3
Keep IE8 support
Yeah we still make money with IE8
51. Christoph Reinartz - @pistenprinz
#4
Remove all the Icons coming from
sprites
Prettify Frankenstein
52. Christoph Reinartz - @pistenprinz
#5
Extensive Device-Testing
Re-Test the application on all possible device
54. Christoph Reinartz - @pistenprinz
Ironman - the business side
Management <3 refactoring. Not. </3
55. Christoph Reinartz - @pistenprinz
How to tell management that you need 4
weeks of feature freeze and the User Interface
will look exactly the same afterwards?
Developer goes Marketing
56. Christoph Reinartz - @pistenprinz
#1
Be a salesman- Sell it! Prove it! Show
benefits!
Argue!
63. Christoph Reinartz - @pistenprinz
Ironman - Agility
Possible ways to enforce culture
64. Christoph Reinartz - @pistenprinz
#1
People over process
The Agile Manifesto told ya
65. Christoph Reinartz - @pistenprinz
#2
Commitment over estimation*
Interested to know when you are done, or interested to be as fast as
possible?
*) only works if you meet the deadline
66. Christoph Reinartz - @pistenprinz
#3
Make progress transparent & involve
everybody
Update the stakeholders as often as possible
67. Christoph Reinartz - @pistenprinz
#4
Motivate people and let them be
awesome
Hire awesome people and get out of their way
72. Christoph Reinartz - @pistenprinz
The (lean) Process
3 Meetings +17 Stand-Ups
… and a Kanban board with 67 Post-Its and a slack-channel is all we needed