Case Study: Delivering Debenhams a composable commerce site in 8 weeks
Business goals
Debenhams was founded in 1778 as a single store in London and grew to 178 separate locations in the UK and developed its own eCommerce website. Debenhams went into administration in 2020 when the boohoo group (an online company) acquired the Debenhams.com domain and brand.
Debenhams physical stores went into administration and any remaining stock was sold off.
The goal was to replace the existing website (which was due to be switched off when the lockdown rules were eased and shops were allowed to reopen) with a new website on a modern technology stack. Allowing the Debenhams team to implement only what they want in a composable manner i.e. only implementing what is required, rather than a monolith environment where functionality is available at additional cost but not needed or used.
The deadline was non-negotiable and April 2021 was fast approaching. The impact of failing is that Debenhams.com would be without a website and as its only source of revenue, would not be able to sell its products and make any revenue.
The challenge
In the UK, Covid lockdowns were in force when the project was initiated. Once the country moved out of lockdown, the old website would be turned off permanently. The team had 8 weeks to develop and test a new transactional website with products, content and integrations with various backoffice systems such as an Order Management System (OMS) and PIM (Product Information Management).
The impact of missing this deadline is that Debenhams.com would be without a website and there as a business, not make any money whatsoever.
Using a modern technology stack the new composable platform would be built to enable Debenhams.com to build quickly on the marketplace post-go-live.
The project introduced new products and new technologies to boohoo, it was important the Cabiri team collaborated closely with the boohoo/debenhams.com internal teams, especially when it came to integrations. It would require close relationships between the internal/external teams to develop integrations quickly and in a manner that could be easily updated as new information surfaced.
The benefit of introducing a micro-service platform supported this way of working and allowed these updates to happen quickly.
What we delivered
Ashiba Accelerator
Using the Cabiri accelerator (Ashiba) enabled the project team to kickstart development, by applying Debenhams branding to the pre-built eCommerce pages and functionality.
Rather than starting the project by first having to develop the website basics (Homepage, product listing/detail pages, basket/checkout, account area, integrations with Commerce Tools and other platforms), Ashiba provided all of this out of the box, giving the team a heads start by just needing them to apply the Debenhams branding, after which, quickly iterating, adding extra functionality and tweaking the user experience to suit the needs of the new Debenhams marketplace.
Furthermore, Ashiba CI/CD enables the development team to quickly build environments and deployment pipelines which allows testing and releasing into production daily. Inbuilt unit, Integration and automated functional test scripts support the out-of-the-box functionality. Allowing the team to hit the ground running and enabling the team to scale quickly with additional functionality required by Debenhams.com to get the website live.
Building infrastructure
The application infrastructure is written and configured as IaC (infrastructure as code) using Terraform. This allows changes to be consistent and easily applicable across different deployment environments, taking into account the different requirements of each environment.
We also delivered a fully automated CI/CD process to allow “Anytime Releases” using Terraform/GitHub actions and custom tooling. “Anytime Releases” allows easy, fast and safe deployment of changes into production at any time. Using this methodology multiple releases per day have become the new standard.
Key features:
Granular release to production of changes of the application down to platform, service and configuration level.
Easy release process with peer approval and review and automatic rollback process for issues occurring deployment.
Deployment into individual PR environments for fast development iteration, review and approval.
Support of multiple deployment environments.
Robust functional and performance testing.
Security & performance
The Cabiri development team worked with AWS architects to plan the right infrastructure for Debenahams.com and once agreed, the team (including AWS) reviewed the finalised solution to ensure it met their requirements
Prior to launch, CommerceTools reviewed the development of Cabiri to ensure quality standards has been met
Penetration tests were completed to ensure the site was secure from threats at the point of launch
The team built and executed performance tests and resolved feedback to ensure non-functional requirements were met
Proactive monitoring enables the website to be fully performant with no outages since the launch of the website
post-go-live launches included:
Working with the boohoo audit team, the development team managed to get their PCI compliance accreditation, a benchmark for all other teams to aspire too
To reduce the amount of bot traffic on the website, Cloudflare was implemented and rules were introduced based on the feedback from website traffic
Integrations and functionality
Building with a composable mindset and as part of the micro-services infrastructure, the platform had a fully responsive react frontend and integrated with various external suppliers for content, product data, search, Order Management Systems (OMS) and Product Information Management (PIM) systems.
The team used Adyen as the initial payment gateway. Klarna, Clearpay and apple pay were all implemented shortly after going live.
Google Analytics and Google Tag Manager (GTM) were implemented to monitor and track customer traffic across the website.
Soon after the website was launched, Mirakl was implemented to enable Debenhams.com to sell and deliver products by external parties on their website, a new revenue stream for the business.
The team also added integration with an external promotions engine and a marketing tool which would manage the non-transactional emails to customers.
Functionality such as customer reviews which required another integration is available on both the PLP and PDP pages. Unlimited (Debenham’s version of Amazon Prime), Beauty club (loyalty program) and A/B testing were all key pieces of functionality implemented by the development team post-go-live.
Testing
It was vital for the development/test team to agree and create processes which allowed the team to work efficiently and with the confidence needed to release new features into production quickly and seamlessly. Multiple releases were released in a controlled manner daily (on average several releases per day) to support the timescales the project demanded.
To achieve this the team completed the following:
Combined Test-Driven Development and Testing Pyramid concepts throughout the project as it was the responsibility of all team members to ensure a high-quality and performant application was built
Unit and Integration tests written in JEST are contributed by the Developers
Functional tests written in Cypress are contributed by the QA Engineers
Unit, Integration and Functional tests are run against each Pull Request giving fast feedback
The team uses Gatling on an AWS infrastructure for peak/load testing
On Debenhams.com we used DataDog Synthetic tests for functional Production monitoring
After the initial launch, the team continued and enhanced this approach to maintain quality as the development team, feature set and complexity of the application grew.
Our approach
Supported with a fully automated CI/CD process and test regression packs, the team used Scrum to plan and release features into production. The team avoided having large releases and was able to release multiple releases per day into production to ensure the business received business value at the earliest opportunity.
Collaboration between all teams (internal and external) was vital to ensure the business teams were confident the development and UX teams knew what they were asking for and to ensure the development and UX teams have enough information in order to develop at a good level of confidence. During these discussions, business and UX teams are challenged to ensure that whatever is developed is done so in the right way for the product.
The Result
The new Debenhams.com site was launched in April 2021 and the Debenhams.com team continue to enjoy improvements and enhanced business value on a daily basis, long after we have left. Thanks to this way of working, the speed of development and the time to launch, the website was nominated for an award at the MACH Alliance Awards 2022. The work we did for the Mirakl integration won the Launch Faster award at the Pioneer Platform Awards 2022.
Authors
Robbie Ablett, Steve Matthews, Saul Sampson
Contributors
Rex Bigger, Kamil Zuzda, Ronald Selimi, Ronan Forker, Gab Zsapka, Georg Backer