Here's the type of situation that I've been struggling with, and I'm certainly not the first:

* Project has a budget based on the estimated time to develop the solution
* Deadline to turn project over to the PM for QA is one some date
* I am working on multiple projects at once, and each has a budgeted number of hours and deadline

Tracking my progress against a budget and deadline would be pretty straightforward if I knew exactly how I was going to implement it, and only had one or two projects to focus on at a time. However, I'm building websites with Drupal, and every project includes some functionality that might be available as module - or the available module won't work at all, and it will require significant effort to build that functionality.

What strategy have you found most helpful to keep track of where you are in a project so that you can accurately report to the PM how far along you are, and identify early on if the project is in danger of running late or going over budget, especially in cases where the time required for some parts is unknown?