In January 2014, we established a relationship with CDP.pl company. Our contribution in the project constituted a part of a bigger plan aimed at the creation of a new trading platform for CDP.pl that would enrich the existing digital products sales service (audiobooks, e-books, video games, movies) with a possibility to trade physical products as well.
As one of the biggest distributor of video games and digital content in Poland, CDP.pl decided to complement its offer with offline products, having in mind a large group of potential customers, to whom the exclusive access to digital goods still constitutes a significant barrier to entry.
The challenge was not a trivial one, taking into account a considerable scale of the scheduled tasks (over 100 000 product indexes) and high efficiency required by the client (up to 6 thousand simultaneous visitors – traffic jumps related for instance to the premiere of The Witcher game, distributed only by CDP.pl). Moreover, the physical product sales service at the assumed scale required full automation.
Orders management, logistics, returns, status updates – such processes had to be fully automated and connected to the ERP system used at the company (Microsoft AX).
So far, CDP.pl has not handled the retail sale of physical products. Therefore their logistics base (warehouses) and supply chain constituted another challenge. All the factors mentioned above had their impact on the implementation process, because CDP planned to manage the sale of physical products only to the limited extent. A significant part of their assortment (for instance books) was to be handled by external suppliers, who also needed to be integrated into the system (Rekman, AB, ABC Data, Azymut, Action…).
The new CDP.pl platform is the result of months of work by dozens of experts from Divante and Ars Thanea. Thanks to their commitment the website stands out with its design and modern technical background. In terms of customer service and delivery, we wanted to have all the solutions that we believe will help us successfully compete with the biggest e-commerce projects on the Polish market.
In order to achieve this goal, we needed to create a dedicated subsystem – the “Integration Panel”, which allowed us to compare the same products delivered by various suppliers and to choose the best price and supplier on the basis of the client’s order. Additionally, the digital products management process also turned out to be a difficulty. Other integrations (eLibri, Audioteka.pl, CDN Atende) and dedicated functions (digital bookshelf, Kindle, Dropbox, SIS integrations) appeared on the horizon as well.
The website was planned to be fully functional on the mobile devices (Responsive Web Design), with the highest quality graphic design provided by Ars Thanea agency.
Due to the short amount of time scheduled for the development of the MVP version, we agreed with the client to apply a flexible approach (SCRUM) and to prepare detailed specifications and analyses in the course of works. It made it possible to achieve very high quality of the final product.
In practice, CDP project turned out to be a huge challenge that implied large amount of involvement of both teams (Divante’s and CDP’s). On the Divante’s side, completion of the project took the total amount of 10 564 hours of work (of the whole team – programmers, testers, front end developers etc.) performed in 12 months and 21 days.
Starting date needed to be postponed several times, due to the scope of works that constantly had to be made more detailed, new functional requirements and to the adjustment of new functions, implemented on the basis of the feedback provided by the users.
The team composed of 12 permanent employees (details provided below) performed the total amount of 7000 commits in GIT revision control system and closed more than 2500 tasks in Redmine system.
What is interesting – the server cluster that we provided is composed of 15 servers (5 application servers, 2 proxy servers, 2 servers for static files, 2 SOLR search servers and 2 middleware/worker servers). It means that we used 2 thousand CPU cores and over 700GB of RAM altogether. We also managed to keep high level of SLA (Service Level Agreement) with the bug fix time < 1h in 24/7 mode.
Pre-implementation analyses took 16 weeks (app. 600Wh) in total
Programming works performed by 4 developers for the first 2 months and 6-7 developers for the following 10 months took 48 weeks (7000Wh)
Implementation of the user interface took 20 weeks (1600Wh performed by 2 developers)
In order to achieve the highest quality possible and to observe the extreme delivery dates at the same time, we decided to choose a work model based on the elements of SCRUM approach. Normally, an implementation process includes planning, analysis, design (mock-up and graphics) and programming works, tests and launch of the site.
In the case of CDP project, Divante was responsible for all stages of works, apart from the preparation of the mock-up and graphic design, commissioned to Ars Thanea agency. The works were performed in 2 week long iterations. The client designated its employees to coordinate the works (product owner and a team of the target site users).
At the beginning of each sprint, a fragment of the backlog (list of all tasks to be implemented) was scheduled for the performance. Each sprint ended with a demo with the client, organized to present the performed tasks and to collect any feedback.
The return information provided by the client served as a basis for the ongoing modification of the requirements. While we did not have the possibility to perform full
functional and systemic analysis before the works were commenced, analytical tasks were also performed during particular sprints.
We analyzed functions which were most likely to be added to the next sprint, in order to avoid a situation when the team needs to wait for the proper time for their implementation. Every day, we held 15 minutes long online meetings in Google Hangouts.
They were attended by the whole team – programmers, testers, PM etc., to discuss tasks that have already been completed, things that still needed to be performed and any possible problems that occurred. Due to such an approach, we managed to maintain complete transparency of the project. We were able to immediately react to any problems and to postpone some functional requirements or even the whole stages of implementation.
The whole process began with the performance of tasks related to the migration of the existing platform (from RoR – SPREE e-Commerce technology) with the use of a data migrator that we kept developing at later stages. Because mock-ups and graphic design were developed simultaneously for the first 2-3 months, we focused on back end functions – mostly related to the Integration Panel and digital contents. When we received graphical elements from Ars Thanea,
we could start to implement them as well, performing this task in parallel to the works related to back end functions.
Ars Thanea team members joined the SCRUM team and took part in the functionality implementation process, together with our front end developers – designing any missing elements, providing advice and assessing the final results. For most of the time, we worked without a schedule. An official works schedule was developed after the site was handed over to the testers – 3 months before the launch. During that time, it was intensely updated and eventually we managed to perform it in 100%. Due to the large amounts of changes in the project, we decided not to impose any fixed schedule at an earlier stage.
In cooperation with CDP.pl Divante is also responsible for the performance actions and platform hosting. The company will also continue to develop the website.