Yeah, SI was the first GPU generation where the developers were able to start well before product launch (3-6 months depending on how you define "start"). Unfortunately it was also the most significant HW change since r600. Alex had simple kernel driver tests working in December, first triangle via radeondemo was either late Jan or early Feb, and Michel was drawing untextured triangles with the Gallium3D code in March. Tom was working on LLVM but alternating between SI graphics and VLIW/SI compute (clover).
IIRC a normal push is maybe 20k-40k LOC for mesa plus ddx, this was over 110k for mesa alone. Probably the biggest patch I've ever seen
For the next GPU generation the driver work is starting even earlier relative to HW launch. Starting earlier means even more work for the developers (you have to test on simulators rather than real hardware, for example) so development time will probably be even longer, but relatively more of it will happen before the hardware launches.