I work as a software tester for a small studio that supports three web platforms for a huge textbook and assessment company. If you're involved in web software, you might know that this is the time when GDPR goes into effect. GDPR is a set of regulations issued by the EU that cover privacy and data for their citizens. The gist of it is that when it goes into effect on May 26, if your website can house any personally-identifiable data of EU citizens, then you must handle that data according to the regulations or the EU can fine you for quite a bit of money - something like 4% of your income or 20 million euros, whichever is higher.
Thus, a lot of the development that our studio has been putting into the three web platforms for the past quarter and more has been targeted toward compliance with GDPR. The thing is, the entire huge company's been doing this as well. We're not only talking about the public-facing platforms that they have - which number probably in the range of forty or fifty giant applications - but also the services behind them. For example, there's the signon portal, where the student signs in and, from there, accesses those applications. There are content delivery applications and grading and analytics platforms, as well as, of course, marketing and advertising. All of these applications, developed by teams across the globe, have to update everything to comply with GDPR. And, of course, you can't just update one at a time. The data has to travel back and forth between all the applications, so if one handles it correctly, they all have to handle it correctly.
So, the past many weeks have been testing the new development to make sure our applications comply with GDPR, coordinating with all of the other teams to integrate our testing environments to make sure we all play together nicely, and planning exactly how we're going to push all of this live while minimizing downtime for our users (it's finals time, after all). And this was the last week possible.
It's been a mess.
We released one of our platforms last week Friday - only to find a tiny but deadly bug in the grading application it uses, which had been released the day before. (Egg on our face, sadly - while we didn't cause the problem, we should have detected it in testing.) We had to roll back our release, which delayed another team's release. We released platform two on Sunday night without a hitch, which was great. Then, yesterday morning, two of the other highly-intertwined platforms (with which we do some interaction) released - and immediately found a whole host of issues with some of the other platforms that they work with. While they were sorting that out, our third platform was set to release, but we found that due to issues with some setting changes on the server, we couldn't test it as we normally would, in a protected live environment. It took nearly five hours for the developers to sort out things out, and we finally decided to release fully rather than into protection, and we tested there. Luckily, everything went off perfectly. So now, all we have left to do is the postponed release of platform one, and we're home free.
But man, it was one loooooong week, with a lot of extra hours and testing in the wee hours of the morning. We're very proud that, except for that bug that prevented the release of platform one (that was a different platform's issue, not ours), all of our things went well. They're still mopping up that other one I mentioned, but it's working. The client company really did a good job considering how complicated this was and how, well, dysfunctional they can be. :) As for me, I'm pretty exhausted. I barely remember anything that happened this week. It's all kind of a haze. But, it'll be back to our normal chaos next week. Yay!