I am a PM for a large matrix enterprise organization that has internal development resources as well as contracted consulting groups. Depending on the project we may need to engage an application team that is one of the consultant groups. Each department in the organization is allocated project budgets so that they can pay hours to other departments resources. Usually this means collecting estimations from the project teams and then budgeting them hours for development.
I have noticed a trend during our projects that the consultants seem to always wait until the last possible moment to build, test, and deliver the product. Many times issues are found very late and thus require additional hours from our budget to resolve, along with forcing timelines to slip. For example in the current project the consultants had said it would take 3 weeks for development but every time I check in on them they then bring up issues (if I didn't ask I wouldn't know about it), and ultimately they are already 2 weeks behind.
I want to know if there are any strategies either in the day-to-day management of these teams or perhaps some other method to ensure early or on-time delivery.
I do not have the power to turn the team into an agile team, or anything as dramatic as that. Is there a way to add accountability to timelines since they report to a functional manager?