I've been reading a lot about transit lately, and the one theme that seems to dominate cost and time overruns is reliance on contractors due to there being supposedly not enough labor.
Contractors bid to deliver an inferior product, because working to deliver a superior product will hurt their profit margins, and they are insulated from the fallout as all blame will go to the transit agency and not whichever dime a dozen contractor failed the project. By relying on the contractor model, these agencies don't need to maintain a bulky labor pool, but in the process for every public dollar given to project labor, a portion gets withheld for that profit margin. Privatization is fundamentally inefficient and has no place in public works projects.
Public engineering should be the most powerful force in this country, and for a time it really was. Some of the brightest engineering minds in the world are trained in our public universities, and many end up contributing to projects that are a net negative to society, blinded by the private sector paycheck and the supposed prestige that brings. LA Metro complains that there is a labor shortage, yet they provide regional transit to Cal Tech, USC (though a private school), and UCLA, serving the labor pool they claim doesn't exist. Public infrastructure agencies need to do a much better job at recruiting from our constant output of talent and preventing these students from being wasted in the private sector, working hard and wasting their years for someone else's dollar.
LA Metro also complains about a labor shortage in a region where 60k live on the street. If this was 1930, those destitute people would be hired and trained to build infrastructure. But this is 2019, and we can't even build homeless shelters lest they tarnish our sweet sweet property values.