>>I thought the "old way" was to wait until everything was done to check if it works, and the "new way" was to add tests for individual components as you go, making sure nothing breaks as new features are added.
Things tend to be more cyclical.
30 years ago, we did unit tests where we continually test individual components, then system tests were you test if your system works as a whole, then integration tests where you check how your system works with others. We had dedicated environments for these. And this was in the big-corporation, bog-standard, boring, commercial-off-the-shelf standard enterprise resource planning software. Yes, we had waterfall / predictive project management model, but I'm not sure where this notion comes in that before right now, this exciting brilliant moment in time, nobody in IT knew at all what they were doing and built entire bridges for years and waited to see if they'd collapse when the first car came :-)
Grumble grumble get off my lawn young kids etc etc :->