10x Faster Deployments in a Large E-commerce Platform through CI/CD Consulting and Implementation

checklist
  • Duration: 1 year
  • Industries: E-Commerce; Finances; Supply Chain, Inventory & Order Management
  • Services: Custom Software Development; Test Automation Services; Project Management; CI/CD Implementation & Modernization. DevOps Services; Early-Stage Innovation, R&D Services; Software Reengineering, Refactoring and Modernization. Cloud Migration; Software Maintenance and Support Services
  • Software Categories and Types: Integration Solutions; ERP/CRM Systems; Document Management Systems (DMS); Supply Chain, Inventory & Order Management Systems (SCM, OMS, IMS, Warehouse)
  • IT Architecture Paradigms and Approaches: Plugins Architecture and Development
  • Technical Expertise: Web Development; Test Automation; Continuous Integration & Continuous Delivery (CI/CD); Research and Development (R&D); Databases
  • DevOps Expertise: Advanced build organization; CI/CD Basics; CI/CD Advanced; Virtual Machines; Docker; Kubernetes; Monitoring Systems
  • Technologies: Data Bases; Amazon Web Services (AWS); Liquibase; CI/CD Automation Servers; Jenkins; VmWare vSphere; Git; BitBucket (Stash); Java; Various Utility Languages; Apache Groovy; Cloud Platforms; Allure Framework; Backend; Testing Frameworks; JVM Languages; Test Automation; Virtual Machines; Source Code Management (SCM); Batch; CloudWatch; CI/CD and DevOps; Languages, Protocols, APIs, Network Tools; Software Engineering and Management Tools; DB Tools
project-team
  • Team size (5):
  • 1 Project Manager
  • 1 QA Automation
  • 2 Backend
  • 1 DevOps

Provided services

Custom Software Development, Test Automation Services, Project Management, CI/CD Implementation & Modernization. DevOps Services, Early-Stage Innovation, R&D Services, Software Reengineering, Refactoring and Modernization. Cloud Migration, Software Maintenance and Support Services

Client

Our client is a well-established IT product company from England, UK, with a focus on B2B e-commerce digital solutions. By the time of our collaboration, the company had already become a household name in the market and transitioned to the growth mode.

Product

Our client’s business revolves around a large-scale B2B e-commerce platform with inventory and order management tools, comprising ERP, CRM, and an inventory management system. High product traction led to an influx of new users and demanded a regular rhythm of releases to swiftly accommodate the growing business needs.

Challenge

When JazzTeam experts stepped in, the project was experiencing significant issues. Our client’s product has grown into a bulky solution with a wealth of functionalities and modules — all uncovered by testing automation. Excessive dependence on manual effort took a toll on the release schedule, leading to constant release delays and bugs cropping up at the production stage.

Needless to say, an unsatisfactory user experience didn’t add to customer satisfaction, resulting in customer attrition and hindered partnership growth.

The absence of holistic, time-proven test automation practices also backfired on other aspects of product development:

  • Limited scaling. The complete lack of CI/CD and test automation rendered the entire system unstable and complicated the process of scaling and further product development. As the system components weren’t isolated, the slightest code changes led to bugs cascading through the system.
  • Degrading code quality. As the product wasn’t covered by CI and autotests, the testing and deployment processes relied heavily on manual effort, lacking both unit and UI automation. Due to this flaw, the product was subject to errors, delays in updates, lowering quality, and regression.

The client’s existing approach to testing demanded fundamental changes and a series of improvements. That’s why they were looking for an experienced test automation partner with hands-on experience in handling large-scale systems. Our client’s choice fell on JazzTeam specialists who, with their extensive QA experience of over 12 years and a portfolio of 100 projects, quickly rose to the challenge.

Project context

After thoroughly analyzing and scoping the project, our team identified some other setbacks that affected the entire project and impacted our strategy.

  • Intricate system architecture. Not only was the product large-scale, but it also had an extensive codebase with complex architecture and mixed code layers. The nature of the system made it challenging to isolate test cases and determine dependencies, while also requiring the right balance between test coverage and execution speed.
  • Difficulties in tech management and lack of automation culture. Over time, our client’s project has built up significant technical debt due to the absence of automation. All previous attempts to foster holistic technical debt management didn’t come to fruition, which led to the overall resistance towards automation within the team.
  • Inefficiencies in the development pipeline. Focused on short-term gains, the team overlooked the foundational building blocks of a successful development environment. The product growth was bogged down by insufficient team morale, an absence of defined development stages (the project lacked explicit business analysis, testing, and delivery processes) — along with the overall high-stress atmosphere.

Taking into account the diversity of project-related challenges and setbacks, JazzTeam specialists decided to implement a comprehensive approach that would allow us to set up an all-in testing automation environment, introduce best development and testing practices, and effectively handle technical debt. We also developed a roadmap for nurturing a value-based engineering culture on the project, designed to promote proactive engineering practices and improve collaboration within the client’s team.

Mule solution

Solution

As the client’s challenges grew beyond technological issues, they required an all-round solution that would deal with all the aspects of the problem. Here’s how we made it all happen.

Phase 1: Laying the groundwork with comprehensive documentation

Often underestimated and overlooked, documentation serves as a foundation for every great project. It aids in troubleshooting, reinforces the organization’s compliance and security posture, enables more efficient audit activities, and, most importantly, democratizes project knowledge, making sure it’s not confined to particular experts. For all these reasons and, also, to set the stage for a far-reaching, long-lasting success, we pored over key documents that would guide the entire project:

  • Environmental analysis comprises every piece of the existing hardware and software.
  • Deployment diagram maps out what software has been installed, which hardware it runs on, and how all the systems are connected.
  • Interaction process diagram captures the as-is software testing and delivery process, giving a clear starting point.
  • CI/CD integration diagram illustrates the future state of testing and delivery with CI/CD, visualizing a more efficient process.
  • Atomic operation diagram breaks down the CI/CD process into bite-sized tasks — the building blocks for our automation pipelines.

Phase 2: Initial setup and proof-of-concept

With the blueprint in hand, we set up test environments on virtual machines, effectively replicating the project conditions. This phase became a practical proof-of-concept that confirmed our vision was on the right track.

Phase 3: CI/CD implementation

Then came the major part — implementing CI/CD, which we tackled step by step:

  • Automating the build system. The client’s developers used to rely on a specific utility to prepare the data required for the build. They manually drafted the necessary template files to create a working build of the application with these files. We implemented Maven and integrated the utility directly into the build process, making application building completely automated.
  • Jenkins configuration. To orchestrate builds, tests, and deployments, we chose Jenkins as an automation server due to its flexibility and customizability.
  • Automated deployment. We took the stress out of deployment by automating the process for both frontend and backend servers. Whether it was IIS for the frontend or Tomcat for the backend, Jenkins came to grips with it all, from building to deployment.
  • Customization for specific customers. As automation wasn’t just a matter of ticking off another task, we didn’t stop at a standard solution but also provided a personalized touch in every deployment.
  • Database updates. What complicated the update of the client’s platform was that, unlike apps with a single database, it used a multitude of them. With certain customers having unique database functionality, the blanket update was not an option — tailored adjustments were required instead.
  • GUI testing. To prevent regression, we implemented automated GUI tests, running them nightly and analyzing results in the morning. That way, when the morning came, a detailed report was ready, and our QA engineer went through it to nip any issues in the bud.
  • Deployment to the Live server. After months of trial and refinement, all the hard work paid off — we took our automation live, reducing human error and ensuring smooth, reliable deployments.

Phase 4: Optimizing processes for repeatable success

Along with building the CI/CD pipeline and keeping it up and running, we zeroed in on fine-tuning some processes that have rusted over time, ceasing to function and compromising the product’s integrity:

  • Handled sporadically by developers and even the product owner, rather than a dedicated expert, our client’ testing process used to be inconsistent and hindered the product quality. To address this issue, we built high-quality test management and advised the client to expand the team with manual and automated testing specialists.
  • We enabled accurate planning and on-time delivery by refining the client’s task estimation, compiling a unified table of possible risks, decomposing labor costs, and establishing clear Definition of Done (DoD) criteria.
  • To get through the most challenging issues and come out on top, the client had to transform their business analysis dramatically. Instead of vague, overly technical problem statements that only a handful of experts could understand, JazzTeam introduced a clear and unified standard that makes every problem statement transparent, concise, and accessible to the entire team.

Result

Throughout the project, JazzTeam acted not only as a reliable partner but also as a seasoned consultant who drove change with stakeholder buy-in and cultural transformation. We brought a new perspective to the table, aligning all stakeholders on the long-term goals. The client’s team members felt empowered, motivated, and ready to up their game thanks to a culture of value-based development we fostered.

Per tech improvements, JazzTeam’s comprehensive approach enabled the client’s team to put the product on a path to long-haul growth. Summing up, the main achievements of this project include:

  • Our specialists set up a CI/CD for automatic build, regular quality control, and automation of product delivery, leading to faster, more controllable, and secure development processes.
  • By building a comprehensive testing infrastructure, our team achieved an x5-10 increase in test stand deployments and an x3-5 boost in live deployments.
  • Thanks to consistent and regular release schedules, our client was able to improve customer satisfaction by 150% and attract high-value clients.
  • JazzTeam’s experts reduced the amount of critical technical debt, which allowed our client to improve product reliability by 200%.

Project outcomes in numbers:

  • 1,5 years of collaboration
  • 5 JazzTeam specialists working on the project
  • 200% increase in product reliability
  • up to x5 boost in live deployments

Technologies

Stack: Liquibase, Allure, Groovy.

Infrastructure: AWS, Bitbucket, Jenkins, CloudWatch.

Related projects

Recent Work

    Contact Us

    What happens next?
    • 1

      Leave your project request. We will contact you and schedule a call.

    • 2

      Signing of the NDA to ensure the project info confidentiality.

    • 3

      Negotiation of your request and the required services.

    • 4

      Team forming, coordination of workstages.

    • 5

      Contract signing and project start.