Storydevelopment Uniqode4

uniQode tames a tangled backend

Story by

uniQode

2018.02.22  ||  P

Year:
2017

Client:
Svensk Adressändring

Captivating fact:
Rescuing an aging system

Svensk Adressändring is a major integrator between several mail distributors in Sweden and is so well known to people that they are often mistaken for a government institution. When our consultant first encountered the client they had an aging backend system, an entire team of developers leaving and long overdue plans for a new website to sell their products.


Despite the departure of the entire development team, our consultant managed to quickly absorb the core competencies needed to maintain and develop the existing system and then distribute that knowledge onwards as a new team was slowly put together. The knowledge rescued by our consultant would be paramount in undertaking the next big task for the customer: building a new website.

Through-the-wall letterbox

The plans for the new website entailed a host of new requirements on the backend, meaning large parts of it would have to be repurposed. This presented a challenge because the new backend code would also have to maintain compatibility with other parts of the system. One example being the internally developed desktop client used by customer services to place new orders and handle customer complaints. Components were mainly integrated via a shared database and any inconsistencies in data between the new backend and the existing systems could lead to failure in delivering the purchased services, as well as errors in accounting.

The compatibility requirement threatened to compromise the quality of the new code, either by forcing it to adhere to an ill-adapted data model or by requiring the use of various synchronization calls riddled throughout the code. To solve this, our consultant gradually introduced the team to the concepts of DDD, CQRS and Event Sourcing, allowing them to cleanly separate the compatibility layer from the newly implemented domain logic while simultaneously giving them a reliable way to synchronize data with the old data model.

a subway carriage in motion

In addition, our consultant endeavored to improve the development processes employed by the team. By introducing a Continuous Delivery pipeline, they managed to not only lower the maintenance costs of developers manually executing deployment procedures, but to increase the reliability of releases too. Our consultant also spearheaded an effort to capture requirements using BDD and automated testing, an effort which has helped the team to not only make sense of their business but to also be assured that the code being written works without unintended consequences.


Today the customer looks to the future with a positive mindset, thanks in large part to the ideas and visions set forth by our consultant. While the team still hasn’t managed to liberate themselves from all parts of the old system, they now feel they have all the tools they need to get there in the long run.

Further stories

  • QA for Medical Technology Qlue
    M

    QA for Medical Technology

    Qlue consultants helped Baxter deliver a state-of-the-art medical machine. Their sophisticated methodology contributed to making this product a gold standard for dialysis machines today.

    View story 2018-01-18 I .
  • inQore tackles complex embedded systems inQore
    M

    inQore tackles complex embedded systems

    What happens when a product on the market still serves an important function, but one of its components has reached the end of its life span? The answer: perform a clever operation to extend its life.

    View story 2018-01-19 II .
  • A root level update for a leading biometrics company Qcm
    M - R - S

    A root level update for a leading biometrics company

    The key to architecting the optimal system for a client isn’t knowing systems: it’s knowing the business. This is the story of a project for a world-leading biometrics company.

    View story 2018-01-22 III .

OOOOOPS YOUR BROWSER IS UNHAPPY

Please download the most recent version of your browser to enjoy the graphics on our site.

Update my browser