We've got a two year long project going on to upgrade everything
Fuck me, two years to update your code from Java 1.4 to 1.7??
Write a script to go through each of your 100s of projects, decompile all the classes and jars, recompile, write regular expressions to replace deprecated code that barfs, rinse and repeat. Sounds like a week of work to me.
Two fucking years? Fuck me.
The Java component is just one piece of the puzzle. The system uses (not IBM) FileNet P8 v3.5 which needs to be upgraded to the radically different IBM FileNet P8 5.2 (which resolves the issues of having various Java versions and code likely to be deprecated) across multiple clustered servers duplicated in a Dev environment, a QA environment, the Production environment and the off site Disaster Recovery environment. The new FileNet environment will run on 8 clustered servers.
There are two separate clustered application servers running various components each in 6 different Java Server environments (spanning WebLogic, Covalent, Tomcat and more)
There are also 9 document generation and print servers, 2 business services servers, 5 scanning, indexing, validating servers, multiple fax servers, one big message server (ancient version of MQ), 7 dedicated scan stations with customized scan and release software, five racks of SAN storage (in old EMC2 SANS that are getting decommissioned during this project), 5 additional web interface servers, four dozen client stations that utilize some or all of those, and a collection of miscellaneous servers that provide other functionality. Each of those sets is replicated in (besides the production versions I described) Dev, QA and DR.
Our industry requires a development cycle, a QA testing cycle, and then migration into production AND the disaster recovery location.
Now, to top it off, various non-compliant third party libraries have been replaced with brand new ones for various of the software we use - meaning code changes above and beyond dealing with deprecated stuff in Java. Oh, and switching everything to Oracle Java 7. And switching almost a dozen servers from the no longer supported Solaris to RHEL.
So, yes, two years. Somehow I think a lot of the ACs here have never dealt with a big infrastructure before.