The software development department of my company is facing with the problem
that data migrations are considered as potentially dangerous, especially for my managers.
The background is that our customers are using a large amount of data with poor quality.
The reasons for this is only partially related to our software quality, but rather to the history of the data:
Most of them have been migrated from predecessor systems, some bugs caused (mostly business) inconsistencies in the data records or misentries by accident on the customer's side (which our software allowed by error).
The most important counter-arguments from my managers are that faulty data may turn into even worse data, the data troubles may awake some managers at the customer and some processes on the customer's side may not work anymore because their processes somewhat adapted to our system.
Personally, I consider data migrations as an integral part of the software development and that data migration can been seen to data what refactoring is to code.
I think that data migration is an essential for creating software that evolves.
Without it, we would have to create painful software which somewhat works around a bad data structure.
I am asking you:
What are your thoughts to data migration, especially for the real life cases and not only from a developer's perspecticve?
Do you have any arguments against my managers opinions?
How does your company deal with data migrations and the difficulties caused by them?
Any other interesting thoughts which belongs to this topics?