• Blog
  • Our Approach to System Modernization

Our Approach to System Modernization

Model-Driven Software Lifecycle

Publish date:
Discover more of what matters to you

Overview

On our blog, we regularly lift the veil on how we organize our work and our interaction with customers in order to implement our “happy-happy” strategy which is our own understanding of the well-known “win-win” concept. In this article, we’d like to tell you more about how we deal with legacy system modernization projects and what is so special about our approach to them.

Pitfalls of software modernization and how to overcome them
Check out the interview with a Project Manager
Check out

This article was prepared by Sergey Khatskevich, Senior developer at Softacom, who knows everything about our values and principles of work. Sergey has been successfully working in the software development industry for more than 11 years and has contributed to the realization of 21 projects which helped him to gain exclusive expertise in various business domains.

Model-Driven Engineering process

Though at Softacom, we work with different types of projects, software modernization is one of the aspects that we focus on and we have really impressive experience in it. What do we rely on for such projects? Over the years of work, our team managed to successfully integrate the power of traditional software development approaches, model-driven engineering, and the best DevOps practices. We have our own Internal Development Platform powered by codebots that help us to speed up all the processes and better adjust them to the needs and expectations of stakeholders.

The main peculiarity is the possibility for all stakeholders to get access to a concurrent model. They can observe what is happening with the solution in real-time. We strongly believe that this model can not only boost collaboration on the project but also help to enhance quality control and achieve significantly better results.

Here is how the Model-Driven Engineering process is organized.

Step 1. Creation of models

First of all, technical experts have the task of designing initial app models and introducing meta-models. It is very important to highlight that all stakeholders will be able to collaborate on these models.

Then, codebots will process the models and as a result of their work, the target app artefacts will be generated. Meanwhile, during the processing, compiling app data will be updated.

Step 2. CI/CD 

The contribution of codebots is introduced to Git just like in the case of traditional development. At the same time, automated tests are run to check the performance, security, and reliability of the previously created models. For us, it is crucial to make sure that the apps that we work on function seamlessly and can meet the highest industry and organization standards.

While codebots are performing their tasks, the technical team is also continuing its work following the principles of traditional software development, using their local dev environments and existing tools.

Step 3. Work on the target app

The bot used on the platform for streamlining the development process is always set up in accordance with the client’s preferences regarding the tech stack that should be applied for building client-side and server-side logic.

Step 4. Q&A and acceptance

Now the solution should be released in a beta environment which is done automatically. We usually work with cloud environments but if a customer prefers to use an on-premises platform, we also can do it.

The Product owners need to perform user acceptance testing. If the model doesn’t satisfy the set requirements, it is possible to introduce updates till the moment, it is accepted.

Step 5. Production release

At this step, our work doesn’t have any specificity. As soon as all stakeholders agree that the solution meets their requirements, it can be released.

Step 6. Operation and monitoring

After the solution has been implemented, there is still a lot of work to be done. Technical experts need to track the performance of the app, monitor how it is used, and check whether it is protected well enough.

As for the project stakeholders, they have the possibility to offer ideas for product improvements that will help them optimize their business processes and increase the efficiency of the software.

Final word

In our work, we always follow the principles of transparency, visibility, and collaboration. For us, it is important to become not just a contractor but a reliable partner for our customers that’s why we do our best to build an open dialogue with them. It helps us to understand their needs more deeply and to be able to offer them really valuable solutions that will demonstrate the highest efficiency in addressing their business needs.

Want to learn more about our services?
Let’s schedule a consultation!
Book a call

Subscribe to our newsletter and get amazing content right in your inbox.

This field is required
This field is required Invalid email address
By submitting data, I agree to the Privacy Policy

Thank you for subscribing!
See you soon... in your inbox!

confirm your subscription, make sure to check your promotions/spam folder

Subscribe to our newsletter and get amazing content right in your inbox.

You can unsubscribe from the newsletter at any time

This field is required
This field is required Invalid email address

You're almost there...

A confirmation was sent to your email

confirm your subscription, make sure to check
your promotions/spam folder