4. Interview session with the experts
4.4. Interview data analysis
4.4.5. Challenges in legacy modernization project
If organization has decided to do modernization, there are some challenges that they have to confront.
Data Migration
Some migration issues are common to all software engineering projects and are widely researched and supported. These include target system development, testing, and database model selection. Same with the finding in interview session, among all the challenges in legacy modernization, from technology point of view, data migration is the most challenging one according to 12 participants.
P10 even admit that data migration is more complex than re-write the code. “You have…if you migrate the data from the legacy system to the new system. Often that's also a big issue...it is even more complex than the writing the code”. It is so complex that can be the project by its own. “You want to migrate it completely with all its problems or do you want to improve on the quality as well? But if chose improve on the quality you may end up with the whole new project on your hand as well. Because improving data quality is…can ...well...be large project on its own” by P12.
The difficulty could also be come by the nature of old database. P17 explain “Normally legacy system does not support the good databases or does not have relation database model”. For instance, P6 experienced “So, it could like sometimes there is empty column for the account on a name…I’ve seen strange thing, it is just missing for maybe like 5% of the record some really vital data …they are just missing”. Also P10 said “The database issue. They have same issue with database management and they want to P14w that”. In addition, the difficulty of data migration could be also emerging because of lack of awaP14ss by the organization about it. As P2 experience “And at the time they have a new system they want to migrate all the data from the legacy to the new one. And then they find that...oouww...but here we have something...ouww...we haven't had foreseen that”.
All of the difficulties above make P3 suggested to perform the data migration as soon as possible, “That’s why we started so early with data migration. We did prevent the data migration actually more than 2 times a month. So at the moment we thought that we had covered all the data, we did all kind of validation”. And, P14 suggested in his comment “Strongly believe if you are doing migration of your legacy, you have to prepare a good data migration strategy”. It is believed to be a successful factor in legacy modernization.
Lack of resources
Another challenge is the lack of resources either the documentation or the experts of the legacy systems. Lack of resources, especially documentation create a big risk in legacy modernization as P20 and 21 said “If documentation is lacking then it is a bigger risk to migrate. Because you don’t know what's going on in the old system naturally, make the risk to migrate bigger”. Especially, if the project is the first project ever performed. It makes the process of modernization becomes more difficult as P16 said, “Sometimes we are the first example in the world for some systems. So there’s no reference”.
Therefore in legacy modernization, it is suggested to perform reverse engineering to get the requirements from legacy system, as P18 said “Documentation...yeah...for new system but also for the old systems. See can we reverse engineer the old system and document them well so we know what the requirements are and...Because then if you have the requirements, you can say well…we can build new system”.
From human point of view, working with people from different domain is a challenge. Project manager have to unify all of them so they can work together as a team supporting each other. Therefore, commitment and dedicated team is a factor in legacy modernization project as P2 commented, “Get really commitment for that level...from that level to really set up the whole period. And not well…OK next year...o well...we have less budget...well we stop and we quit”. However, it is difficult to get dedicated team since people usually come and go away in organization.
In legacy modernization involves variety of experts as P13 said, “You do involve the business, the user, the owner, to test, to monitor ,to see if the application is working”. However, sometimes, they have different opinion which can lead to the pro and contra in handling the problem. For instance P18, “That makes it difficult. And the problem is that skip has another view of the [world] than the government”. Failed to facilitate this can cause delay of the project. The problem of different perspective could be a challenge in legacy modernization project.
Poor system architecture or infrastructure (e.g. monolith, hardcoded, spaghetti architecture)
Poor IT landscape is often a problem for legacy modernization as P11 said, “I think the architectural technical complexity”. At least, 7 participants find the complexity of the structure of the legacy systems is a problem. P19 also said the same, “But usually systems are so closely integrated and complex”. For instance, as P2 said, “And what you also find is that one application is developed that it uses also the database of another one. And it is not through a normal interface but it is via back door to get some data over there”. Poor of architecture, as we know, is resulted from previous inappropriate maintenance as P9 said, “Not only the development part, but also the architecture I think, in the system as well. Because if people are bumping against architecture changes or misguidance in earlier architecture”. The mistake from the past often make IT landscape of the organization becomes worse. For instance, P10 experienced, “Sometimes they think it is impossible, so let's do…let the new system do the new things, and the old system do the old things. Then they have 2 systems overlapping”. He also gave his example that “[XXX], the insurance company, you know that? They have, I think 4 or 5 different life insurance systems. Because every time they build new life insurance system, modernization of the old, but they find out that they cannot move the data from the old system to the new. So they do the new business in the new system, and old system...and the insurance is still in the old system”.
Moreover, for organizations who want to migrate their system into SOA architecture, they find it difficult to deal with connectivity between the systems. P7 and P8 said “So there's always something with technical complexity, a lot of components, a lot of layers, lot of programs and interfaces interacting with each other”.
So P14 said “So one of the challenges is how do you migrate all your interfaces which are point to point instead of SOA”.
Difficult to extract business rules/knowledge
In order to make a new system performs as good as the old system, the knowledge / rules / requirements need to be extracted. It is crucial as P18 said, “Yes...you can only do that if you know exactly what the thing does. That is the hard part”. It is seen by 7 participants as one of the challenges in legacy modernization. P20 and P21 said that, “To extract all the rules and details in there is really difficult”.
P12 expressed his experience “The company or the project team has to extract exactly the internal functionality of this legacy application. It can be difficult to extract it and to document it and to implement it properly”. Also by P9, he said, “Legacy system also tends to hide complexity of business process”.
Therefore, P18 mentioned that this is the main success of legacy modernization, being get the clear requirements (requirement before and after). “We try to get the functional requirements clearly, what should the new system do”. One way to extract the knowledge in legacy system is by doing re-engineering. That is why P14 suggested that get a clear requirement is one of the success factors in legacy modernization. He said, “Having good requirements…Requirement before and requirement after”.
Difficult to test
Testing is one of the difficulties in the process of legacy modernization according to the six participants. For instance, P20 and P21 said, “Regression test that cover enough all the continuality”. Also P13 argued, “Regression test that cover enough all the continuality”. The difficulty can also result in high cost of testing as P15 said, “Transformation of old system to a new system is costly since you need to test it carefully. And testing is costly”.
So, it is challenging to get the test case completed as P12 said “But you have to also test it. And it can be difficult to extract all the use cases, the original system has supported, and because that difficult also difficult to get your test case complete. And it can require a lot of work and comparing functionality from legacy system to the new application. It can be time consuming work. And it difficult to get it complete”. Therefore, sometimes organization hires external parties who have all the experiences to test it. P26 said, “We hire people form [XXX], consultant, architect. It's too big for our regular IT staff to do it, so we're hiring a lot of experts from companies like [XXX], [XXX] to help design new system and help develop the new system, test it.”.
In addition, P2 shared his experience regarding testing the systems, “So you have primary system in current technology and side by side you have a new system the converted system on the new technology. And we tried to do the same load for both systems”.
Funding legacy modernization projects
Legacy modernization is not merely about technology problem, but also business problem. So it does deal with money that will be spent for the process of legacy modernization. Thirteen participants shared their experience regarding this difficulty. However, get the money from top management is not that easy as P10 said in his interview “I think top management doesn’t understand the issue...no…they don't give budget for it”. Top management usually expect to get their Return On Investment quicker as P2 reported “But what you now see is last year I had customer who said I want to it but I want to earn it back in 6 months. If you have talk about a project of at least one year you cannot and never earn it back in 6 months”. If CIO cannot do that, then funding will not be granted.
Besides internal difficulty, there is also external factor. P2 said, “Because you see now...because of the economic situation, they don’t have the budget to set up the program just to rebuild the functionality.” As a result, P15 expressed in his opinion that in past days, it is easier to spend money in innovation of a new system as he said “I think that in the past, the cost of operation and the cost of IT were not really a
problem. So, innovation in a new system was quite easily done with the culture. So that's quite easily money for a new system or a new inoovation”.
Another problem is track record of IT department. One of the participant said, “If you look at IT in companies, success is not so big. Yeah…They are not so successful for most IT people in the company. They often start project, it takes longer, it cost more, it doesn’t work as advertised”. So organizations are not satisfied with their IT department.
Predicting Return of investment (ROI) of modernization
Legacy modernization is a complicated project, thus it is normally taking number of years to be completed. For some participants, predicting the ROI is not easy. One remark from P2, “They are always looking for a short Return on Investment. One you put the money in, they want to earn it back. But what you now see is last year I had customer who said I want to it but I want to earn it back in 6 months. If you have talk about a project of at least one year you cannot and never earn it back in 6 months”. P18 also said, “And a lot of companies also say they have their return of investment. They say it can be 1 year and then it should be done. well...I don’t think return of investment of 1 year”.
Predicting ROI is crucial since it determines the funding of the project. So, P2 suggested to have good business case, “So you always have business case over there. And the moment that business can yeah...so it is not positive and for many companies if the Return on Investment is not received one year and say we don’t do it”. It is perceived difficult since it is difficult to predict the IT trends as P9 said, “And the amount of changes is going through the legacy system wasn’t really foreseen at the moment we built it”. P14 also shared his difficulty in making the business case, “Are you willing and then you have to calculate the risk of the how if it can be happen. And then you make a decision”. Thus, P17 argued, “I think maybe the acceptance of the business people that they won’t accept the newer system or hard to change”.
Cultural resistance in organization not to adapt new system
Culture of organization has to be considered before the project of legacy modernization is started. 10 participants agree that this is one of the most challenging factors. As P11 said, “Change that the organization is ready for the change. Is the culture in the organization, do they allow a change for that kind of different information”. P17 also said the same, ”We also change the culture of people and how they should work and report and everything. I think it will take 3 years to get that kind of transformation”. In participants’ opinion, to adapt with the new technology is difficult. P12 said, “Sometimes it can be a bit difficult and to let that go and start working on new technology and new system”. By using new technology, organization also has to change the way they work and not all of them like it. P26 said, “Culture yes...people are used to do thing in a way, when you are changing that, well that's you have to think about it, how can we change the behavior about people”. Also P11 said, “Sometimes people do not like to change”.
In addition, training about new system is necessary after the process of modernization. P22 said, “Yes it is, because then you are discovering that not everybody is going to be able to use the new technology ... you train all kind of people. More than hundred people”.
Resistance from the current users/maintainers in the organization
People, who work with legacy system for long time tend to protect the system. As P12 said, “Sometimes they see the legacy system as their baby and they tend to know every aspect of it. And sometimes it is quite difficult because you are in the team coming from the outside to perform project and they consider this as their primary area”. P19 said “They like they safety zone and they only use the system because they have to get the job done and get how at 5 o'clock leave the office, go watch football, something like that”. So, this can be the reason why people do not like to move to the new system as P15 said, “So that can be a reason why people are a little bit less reluctant”.
The other reason is has to do with job security. Some people only have ability working in legacy system. P6 explained, “Because what's the need if we have new system, which is working not with COBOL, who's gonna need me anymore, so they ditch me after it is done. So then they think like hei...why should I cooperate”. So they are not really agreed with the process of modernization. In order to mitigate this risk, P9 gave his solution for not cooperate user and maintainer “So the most crucial thing is, I think to make sure that the people you have in your company don’t...aren’t link to a specific system but have another goal, maybe maintain multiple systems or build some other application whatever”.
Difficult to communicate the reasons/consequences of modernization
Communication is vital element in legacy modernization at least for 11 participants. Communicate with top management about legacy modernization is, for some people, are difficult. P12 said, “It’s really difficult, but you can only do it when it also part of the assignment. Because sometimes they don’t really feel a need to change the culture”. The difficulty might be resulting because top management does not like the subject. They are not interesting in legacy system or legacy modernization conversation. P15 said, “Data transformation is not a sexy subject”.
However, it is difficult to convince people on board because lack of trustworthy data. As P9 said “I don’t have a real trustworthy data for them...OK it is going to crash on 12 of November 2013 and after that date your business is gone. So and that's not a case”. Same with what P24 said “There's another priority for tomorrow. And you can repeat that same question for years and years and nothing will happen and that still won’t break.so ...you’ve been saying that it will break within the next 4 months from the last 10 years”. Therefore, to get in priority, a good business case is needed. As P11 said “Are you capable to really describe, ok if we are going to start this transformation within 3 years, it can be create or deliver functionality A,B and C, and it costs 1-2- and 3. You must create one kind of relationship from and more