SSense.com was about 6 years old when I came in the company, updating content was a real pain & any new feature development was taking an unacceptable amount of time. A luxury e-retailer commands a luxury website to be taken seriously & with the advent of mobile responsive websites the current implementation was just dragging along the company. It was also really hard to hire excellent developers to work on the website since nobody wanted to work in a badly engineered 6 years old codebase that has never been updated.
THE PLAN:
Rewrite in this case was the only way, a long term vision was planned. That meant building an API, a solid css framework enabling us to do quick changes in the future, introducing agile practices to the team, introducing tests into development cycle, basically putting the foundations in place for the years to come. We also planned for the website to be a real front-end application taking into account seo considerations, the website never reload itself, changing page only involve changing the piece of contents it needs to. This is specially useful on mobile were resources are scarce, not having to reload the page greatly improve the speed & user experience.
THE RESULT:
We took great care to micro-iterate some stories in each sprint, always improving the user experience that we were providing & also bringing a consistent experience across platforms & devices. We wanted a design quality that our competitors could not achieve & speed that would make platforms like Shopify shy. We launched the new website & api after only 6 sprints (3 months). The website is responsive & uses an independent api than can be used by other products like the CMS. In time we also did speed optimization sprints which enabled us to provide a loading time often under 1 second. Optimization has always been ongoing since the launch & in time we reduced the load time by 66% & improved sales.
TECH USED:
- HTML(5)
- CSS
- SASS
- LESS
- Javascript (jQuery, backbone.js, Angular)
- MVC Architecture
- Agile Methodology
- CodeIgniter PHP