Taking over applications is always a challenging task. You need to get the most information possible from the former developer, if they are still available. Then you often realise that migration to another technology is inevitable to keep the software up and running. It seems we mastered the process, though. Read the story of E-Scan, another project we took over, successfully migrated and have been developing further for a while now. Would you believe it all began with a doctoral thesis?
Entrepreneur Consultancy is a Dutch company offering a wide range of products and services focused on the development of entrepreneurship. They help their customers as well as their customers’ customers see opportunities, exploit them and ultimately create value for others and themselves.
The product Entrepreneur Consultancy offers is called Entrepreneur Scan (E-Scan). E-Scan is a profiling tool designed to be carried out online. It uses an assessment test to uncover the entrepreneurial characteristics, thinking styles and capabilities of a person running a business, intending to start one or being already in the process of starting one.
It takes only 15-20 minutes to complete the test. The application evaluates the user based on ten key characteristics that, according to an in-depth scientific analysis, prove to distinguish an ideal entrepreneur. As soon as the test is completed the E-Scan report is provided online. It includes comprehensive information about the person who has just done the survey and how they compare to the characteristics that are most common in successful entrepreneurs. The user is also provided with some advice on how they can improve their performance in the future.
As said, Goyello was not involved in the project from the very beginning. One day, and it was actually a Sunday 6 years ago, we got a call from Martijn Driessen, the owner of Entrepreneur Consultancy. He was wondering whether we would be interested in helping him further develop and then manage an online tool another developer wanted to hand over.
On Monday we already had an in-depth analysis of the existing application. On that basis we could say “Yes, we are ready to work on your software!” and eventually we signed the contact.
Challenge #1: many technologies, documentation incomplete
On the basis of the analysis we found out that four different technologies had been used to develop the app. Also, it had to be run on several different servers. Taking into consideration the fact that IT architecture of the app was not very carefully planned and that the project documentation was incomplete we had to discover a number of issues on our own.
Challenge #2: migrate it
Initially, the complex E-Scan system was based on J2EE, including EJB2. The client had plenty of ideas on how to develop the platform and enhance it with new features. When we took the project over from its former developer, we quickly learned that to be able to further develop it and add the functions the client was expecting us to implement we would have to migrate it. We managed to improve several issues that needed immediate attention and decided to migrate the app step by step to the newest Java technology.
Challenge #3: keep it running during migration
The client asked us to make sure the whole platform would still be available for its users while it was being improved. The customers who paid for the access were using the tool on a daily basis so it had to remain up and running. It was quite a challenge as you may imagine. Since we already had a great deal of experience in managing projects like this, we were able to meet the client’s expectations. The customers didn’t notice that some works were conducted and they could perform the surveys without any interruptions.
The platform that initially was simply a self-test an individual could do online is now an advanced tool used by HR departments of big corporations as well as the Dutch employment agency. Several banks and investors use it as an assessment tool when evaluating their customers’ business plans. The tool is also used by a number of educational institutions that run entrepreneurship courses for students.
As for the technology – due to the fact that the database model used in the app was complicated, we decided to leave the application layer as is and rewrite the business logic and the presentation layers. Currently, the product is based on the Spring framework. The database communication layer was developed with JPA and the UI – with Spring MVC/JSP/JSTL/Tiles/JQuery/Spring Security. The network service layer is also Spring-based. JMS was used for the asynchronous queuing and e-mail sending purposes. We use Maven tools to manage the project and Eclipse IDE to develop the app.
At present, a team of four specialists is responsible for the maintenance of the platform as well as introducing new functions.
A great thing about this project is the fact that its inventor, Martijn Driessen, is not only an entrepreneur himself. He is a scientist as well. The idea of an online test for entrepreneurs that was eventually converted into a fully working solution was the topic of first his master thesis and later on his dissertation. So the tool is firmly based on an extensive scientific research.
The fact that the client is so much into the topic makes him on one hand very demanding, on the other a very rewarding partner. He knows exactly what he needs from us. He also knows certain algorithms behind the whole process and keeps adjusting them. At the same moment he is very much involved in the development of the tool and keeps in touch with the team all the time. Such an involved Product Owner is a great advantage for an Agile team.
Plans for the future
E-Scan is being constantly developed. The client has a number of ideas that he would like to be implemented in the future. One of the functions already available in the app enables its users to contact career coaches to ask them for advice on how to improve their performance. The client aims at developing the feature further.
He would also like to translate the test database to several different languages to let the non-native speakers to do it in their native languages.