How to Make a Version 3.0 of Almost Any IT Project and Survive

It is rather common that the long-term projects inherited from other development teams require a fresh look. The technologies of the project are hopelessly outdated, the interface solution looks cumbersome and the new business rules require the total revision of its logic. Hence, there is an urgent need of a new version release to get new customers and to remind the old ones that the product and the company itself keep up with the times.

SimbirSoft
SimbirSoft World

--

There are some general questions that come before the team that plans to make a version 3.0. How to make it better than the previous one? How to transfer the most laborious business logic without complicating the interface? Here are the answers.

Getting Started

Back in 2013. A network of healthcare medical centers requires a full software update and we are as ready as ever. The project comes to us from a third-party development team and it is 3 or 4 years old even then. The idea of the project is that doctors in clinics dictate information about the patients and their visits into special devices. This information automatically transforms into a text. The text is checked, the template is filled. Then come workflow movements, including different stages with different business logic. Next, integration with several external systems takes place. The final stage is a letter sent to the patient.

The complete software working process

The first and most obvious questions for us were, “Is it actually time to begin developing the third version of the product? Has the second version been completely exhausted?” We checked the latest features developed by the previous team and determined the main problems we have been facing during the testing period:

  • The development and testing process of new features took a lot of time.
  • More regression bugs appeared in the system.
  • 30% of large and complex features had to be abandoned, thus the application was becoming more and more uncompetitive.
  • The architecture could not support new solutions.
  • The desktop version could not meet the conditions of the market mobility anymore.
  • Constant difficulties with installations and updates.
  • The complex interface of the 2000s scared off new customers who preferred modern web solutions.
  • The system of settings was very complicated and did not allow users to quickly begin using it.

However, version 2.0 had its advantages:

  • A large database of customers who are accustomed to the application and were not going to abandon it.
  • A huge number of different features that allow to solve difficult problems of business logic, including complex integration with third-party systems.
  • The support team knew the application, as well as all the unsolved problems and always helped the customers in the shortest time.
  • Many bugs and defects were already known and had their work-arounds.
  • Flexible settings that could configure the system for any business needs.
  • A fairly powerful system for monitoring problems that occur in server parts of the system.

Finally, the desire to improve the project and to apply the newest technological solutions to be competitive in the market took their toll.

The Crew

Version 2.0 had a lot of inherited code, wrong architectural solutions and a decent amount of defects in it; that’s why the project team almost completely consisted of the developers and quality assurance (QA) specialists.

First, the backbone of the business logic in version 2.0 was designed before us. Its complexity let us understand that those textual assignments are not enough. Strong analysts who are able to communicate with doctors and transcribers from hospitals, transfer their desires into business process diagrams, describe the user story and take into account all the important aspects — are the vital parts of a successful development start.

Second, the design of the version 2.0 was rather common for all desktop applications and absolutely not user friendly. So, consultations with the designer and usability expert have become rather usual.

Developing such a project with so many specialists involved is not an easy task, so a PM (Project Manager) integration needed without any doubt.

Another bonus for the new project was the addition of the SDET engineer — Software Development Engineer in Test, a developer responsible for test creation. The old desktop project turned out to be too expensive to automate. Now the automation of the web version no longer seemed an impossible task.

Diving Into

The very first thing that had been decided to begin with, was the development of the most flexible and modern architecture for version 3.0; so our architect started to work long before the rest of the team. At the same time, we were trying to stabilize version 2.0, because it was still used in the hospitals — till the release of the version 3.0. And it is also very likely that some healthcare organizations may refuse to switch to the newer version even after the release due to the high risks.

In order to determine what to inherit from the version 2.0, our team wrote out all the existing features of the project, identifying the most important ones. Then we pointed out the most important values ​​for our project:

  • It should not take too much time to learn how to work with the application, and the key functionality should be intuitive for doctors.
  • The system should completely eliminate any data loss even under extreme conditions (blackout, internet interruption, etc).
  • Documents generated by the system must comply with the official UK laws and look correct.
  • Updating the system should not be a complicated task for the support and all updates should occur without active user participation.

In fact, the list of main features was much longer and has reflected all the specifics of the medical work. It turned out that one of the most important and complicated objectives was to transfer the functionality without turning version 3.0 into an “overloaded clone of the version 2.0”. So we have reviewed the most high-loaded features and deleted them from our list.

Diving Deeper

First steps of QA to prevent past version errors

The difficulties of the version 2.0 have always been before our eyes. While developing and analyzing features for version 3.0, we revised our backlog looking for possible defects from the old version. All accumulated experience was invaluable.

We constantly compiled the tables of risks that version 3.0 may be exposed to, such as:

  • Insufficient responsiveness of the system. The user should always ensure that he has saved the data, and that there is no possible data loss.
  • Difficulties with the development of a special browser plugin.
  • Monitoring the performance of the application.
  • A large number of wishes from customers. Due to the fact that you can add any features to the new version at the early stages, it was necessary to establish the additional control over prioritization.
  • Creation of a flexible system of settings that will differ from project 2.0.

One of the most important aspects of quality assurance was to create a system that is going to be adapted for the confident automation. Our SDET specialist had written his own framework, which helped to develop the automation and reduce the time consuming processes for regressive requirements.

In Conclusion & About Us

Despite the fact that we had faced certain difficulties, the version 3.0 was launched into production; and it has been successfully used for over a year. Today we increase the functionality, implement user-friendly solutions, get the real users’ experience feedback and thus gain new values ​​for our customers. More than 500 specialists use our software today and its planned to spread wider this year, increasing the quantity of the users to almost 1000 doctors.

SimbirSoft is a modern IT-company, specialising in the implementation of end-to-end software & mobile development projects. Within 19 years, we have developed more than 620 IT solutions: enterprise automation systems, highly loaded systems, mobile applications, Machine Learning & Data Science solutions, embedded software. Today we collaborate with many international companies such as ABBYY, Burger King, Intland Software, Avactis. Our full portfolio is here.

Learn more about the IT product creation process from our recent article: 7 Must Have Features of Successful IT Project

Interested in the reputation management solutions for your business? Here we deeply dive into that theme: Business Automation: a Solution That Will Definitely Boost Your Reputation Management

Follow us on Medium! Never miss an article!

--

--