I'm not a PM. I'm a developer working on a large project with a small team at an 18 person company. The "team" is just me and the project manager. The project isn't the largest my company has ever had but it's right up there within 5-10% of the largest in both cost and complexity.
The project was already underway when I came on board. I was hired to fill the shoes of the previous developer who left just after the project kickoff. The developer I replaced had only billed about 80 hours to the project before he left. The PM had been doing requirements gathering and writing up a applications specs document along with wireframes and a giant spreadsheet with 135 functional requirements prior to me coming on board. All without a developer or even another person to consult with.
When I first came on I went to a lot of meetings and did about 50% dev work and 50% meetings, talking with the customer, trying to figure out what our datasets were, figuring out if there was documentation for ancient databases etc.
Now we are 2/3rds through are billable hours and I estimate only about 30% done on the project. This includes the rest of the development work as well as other deliverables like documentation, training, as-builts etc. Additionally the customer is a little bit upset that it has taken us as long as it has to get a functional prototype to them even though they didn't even get us access to their databases until 4 months into the project.
I'm wondering what I could or should have done earlier in the project to help the PM identify some of the risks better or refine the requirements so that we would be more on track. I had some misgivings when I first came on but the PM has been with the company for 13 years and had done all the requirements gathering already as well so I assumed that he knew what he was talking about.