Amy and I were on a screen share, looking at a single donation. On the record it said pledge. In the payment field it said cash. It was one line among more than 400,000, and it was a small sign of a much bigger thing: the two systems did not agree on what a gift even was.

The project was Special Olympics Pennsylvania. They were moving decades of fundraising history out of Blackbaud Raiser's Edge into Microsoft Dynamics 365 Fundraising and Engagement. A migration like that is usually a six month job, and it is worth being honest about where those six months actually go, because it is not copying data from one box into another.

Two fundraising databases are almost never a one-to-one match. They are built on different assumptions. The way one handles a pledge is not the way the other does. Credit notes, gift splits, acknowledgements, the same idea is modelled differently in each, and sometimes an idea exists in one system and simply has no home in the other. So the real work is decisions. Which field maps to which. Which drop-down values carry over, and which need rethinking. What has to be customised because there is no equivalent. And, just as importantly, what should not come across at all, the data that has quietly gone stale and would only clutter the new system. Thousands of those calls, made properly, are what the six months buys.

I did not have a team of ten. I had AI built into how I work, and that is a different thing from having a tool open in another window. It sits inside the doing. I generate an extraction query, run it against the real database, read what actually comes back, find where the two systems disagree, rewrite the query, run it again. What used to be a week of hand writing SQL and squinting at columns just to see the problem becomes an afternoon. Same for the field mapping, hundreds of fields reconciled between two systems that name the same thing three different ways. Same for the cleansing, the transformation, the quality checks, the documentation written as I went rather than scrambled together at the end.

What that speed bought was not shortcuts. It was the time to make the decisions properly. Take that pledge that said cash. The database held a whole category of records that everyone, reasonably, read as one thing and that were in fact another: not pledges, but payments made against pledges. Move them across as they stood and you either double the money or cut the payment loose from the promise it belonged to. It needed a decision about how the two systems should reconcile, applied consistently across thousands of records. We caught it, and made the call, because the mechanical work was no longer eating the time we needed for the thinking.

There were dozens of decisions like it. Acknowledgements that had to resolve cleanly, so the right donor got the right thank you and nobody got two. Gifts split across funds that had to land as separate, clean transactions on the other side. Addresses in states and countries the new system had not been told about yet. Records that were better left behind than carried over. None of it is glamorous. All of it is the difference between a database people trust and one they slowly stop using.

Somewhere in the middle of all this, Amy wrote a recommendation. I will give it to you in her words, because they land better than mine would.

"Currently working with Melanie on a data migration with a very condensed timeline, I've been impressed with her expertise, which has us much further at this point than planned. I've worked with consultants on data migrations five other times in my career, and Melanie has been by far the most helpful. In addition to her expertise, she is patient and always calm and collected, which I appreciate during the anxious moments in this project." Amy Burns, Director, Development Administration, Special Olympics Pennsylvania

The anxious moments were real. 400,000 records, two systems that did not agree, and a clock. What made it work was not speed for its own sake. It was that the speed handed the time back, so the hundreds of decisions that actually make or break a migration got made properly, in six weeks instead of six months.

If you are staring down a move like that, a big migration, a hard deadline, a pile of data you are a little afraid of, I am happy to talk it through.