One of the most frequently requested items when it comes to a slight enhancement to Dynamics CRM is the enhancement to track activities and associated time to a specific client project.
To do this you can configure Dynamics CRM using what I like to refer to as the modify functionality. You do not have to write big custom extensions or .NET or JAVA code to do this (thank you Microsoft).
Utilizing the "Customize" menu in Dynamics CRM create a new Project Entity (this is a new database table and entity is a word you customizers want to add to your vocabulary)
Add appropriate attributes to the project entity (the data you want to capture on the head project record such as the project name, project budget, and timeline)
Create a relationship between Activities and Project: For any given project you can have many activities (unlimited actually)
Create a relationship between Account and Project (For any given account you can have unlimited projects)
Presto! You can now track activity records to a specific project in addition to direct to the Account, Contact, Ticket, User and more. Within the ACTIVITY RECORD is the ability to capture a start time, end time, duration and more.