Guilty
Don't pour scorn on me, but I'm guilty of doing such an upgrade on software and it's affected people.
In my last but one job I worked for a youth organisation who pretend to be a charity*, and it has this database that contained charity member data as well as data for other people connected with it. Volunteers would log in to the database to add members and to find other people to help them fulfil their volunteer role.
There were several problems with this system. The major problems were that the IT skillset of the volunteers was poor, it was near impossible to provide any training to them, and the database itself wasn't reliable or user friendly. It wouldn't work on an iPad, and there were a few things that couldn't be fixed on it's current platform. So every day that went past, this database got even more insecure. Compounding this was the fact I was the only developer/IT person there, and it was me that would have to maintain this system as well as provide support to the people using it. Roughly 1,500 people.
I had a choice, to continue development of the old platform or redevelop the system from the ground up but use the data structure of the old system. I chose the latter, and I worked out that it would take about 2 years to complete. This was optimistic, as I didn't account for 50% of my day being taken up by providing technical support to the volunteers as well as people in the office, on top of a CEO who would come to me and ask me how to watch iPlayer on her iPad.
I requested more help, I was given an assistant for "2 days a week", which helped with dealing with volunteers in a 1st line tech support role, but it just wasn't nearly enough. I requested, then demanded, another developer to help me. This was denied for about 18 months, and when I finally got my man either the work load increased or the timescale was shortened by the committee. They thought that if there was 2 of me then the work would take half the time, when in actual fact it meant the initial work could be done nearly on time.
So anyway, part of the upgrade process was that I split the system up in to modules, and I would work on each module in turn, and release it. The idea being the new system would be far simpler to use, it would have proper tutorials on how to use it, and it would get people used to how the finished system would work.
I was wrong. What I didn't account for was that people don't like change, people don't read, and if they already hate using a system, bringing a new one in creates a revolt amongst these people. With the first module that was released, I spoke to a specific department within the organisation who would be affected by it. It was built to their specifications, and I delivered. Once it went live, the volunteers complained about the amount of information that the system needed (which was actually down to legislation, not because we liked recording lots of information). The department then back tracked on all the changes they requested and demanded I implemented the removal of features or checks of that module. To such a point the module broke the legislation that it was meant to adhere to. But the organisation on a whole didn't care, they just wanted it to "work".
Anyway, I carried on. Plugged away at bringing in a new system, complaints were less but the work got bigger as inevitable mission creep set in. By the early 2015 the old CEO was replaced with a new CEO, and they made their opinions quite clear on the work I was doing with the resources I had. They brought in a company they were quite pally with (personally), and they went about installing that company above me. The company had no idea what they were doing, but they were getting paid a pretty penny for taking over the work I had done over 3 years, considering 50% of my time was spent developing it while the other 50% was spent dealing with idiots and assholes.
I left in June last year, and the company was adamant they would have a new system in place by August 2015. It's now February 2016 and it hasn't happened. I don't regret anything I did with the project and the design (which is still being used, so it couldn't have been that bad). I did everything I could given the circumstances and the hand I was given.
So yeah, give the bank a break.
*charity for tax reasons. They weren't helping starving children in Ethiopia.
AC for obvious reasons.