I am involved in software development and I have a total of 35 features that need to be implemented in our software. Each feature has been estimated for the time it will take, and there are 5 developers available to work on them, with each developer taking on one feature. The tasks are independent of each other, so they can be completed in any order.
The main question I need to answer and that the customer is interested in is: When will all of the features be completed? To answer this question, I created a virtual "developer" resource (or "the team") with a maximum unit of 500%. I then created individual tasks, set the estimated duration for each, and assigned all of them to the developer resource. However, when I tried to plan the project, I discovered that all of the tasks were planned to start on the same date and were 7 times overallocated.
To determine an estimated finish date, I tried to resolve the overallocation using resource leveling, but the results were not ideal. Each feature actually consists of three tasks (implementation, documentation, and testing), and using resource leveling made the tasks behave in unexpected ways.
Next, I attempted to introduce artificial end-to-start relationships so that the tasks would appear in a specific order. This gave me a reasonable end date after planning, but when I updated the project with the current completion rates, the relationships caused issues with my project. For example, if tasks A, B, and C are linked in that order, and B is completed while A and C are half done and linked to the end of B, moving all unfinished work to the status date causes the remaining work of A and C to start at the status date and screws up the finish date I want to report to the customer.
This scenario is not unusual, but it seems to be difficult to find a simple solution in Project. And I haven't even considered what would happen if two developers were to be removed from the team in the middle of the project.
Is there any guidance on how to handle this situation? So far, I have not been able to find a satisfactory solution.
Greetings from Germany, Thorsten Koch