Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Work as a percent of another task 3

Status
Not open for further replies.

JohnG10

IS-IT--Management
Dec 10, 2010
3
US
How can I set the work for a task to be a percentage of another task ?

Example:

Task 1.1 = Software Development, work = 80 hours
Task 1.2 = Software Testing, work = 20% of Software Development work

I can manually calculate 20% of 80 hours and enter it for task 1.2, but when the work assigned to task 1.1 changes later due to increased requirements, I'd like task 1.2's work to automatically update. (There are many tasks like 1.2, and a manual approach results in the possibility of missing some during replanning updates).

ps: I'm using Project 2003.

Thanks.
 
You actually can do this ... it's a big kludge and I'm not going to tell you how to do this since it is *so* open to all sorts of errors.

If you really, really, really want to do this, then look at how to set up a hammock task in MSProject. That will give you the necessary background.

But please, please, please (I'm begging here ... it isn't pretty but I'm begging you) DO NOT DO IT.
 
PDQBAch
I'm interested. This doesn't seem a bad thing to do. By experience it may well be possible to say that you need to spend 20% on the time for development on testing and plan as best estimate on that basis. Is the proposal a bad Program Management thing to do or is just MSP that doesn't like it?
 
It's not a "bad" idea at all. In fact, it might be rather good.

The problem is implementing it in an MSPrj file.

You need to consider how five different fields (and the values you can assign to each) will be handled by MSPrj.

Work, Duration and Units are impacted by Type. On top of that, there's also Effort Driven which controls how work is divided when a new resource is added to (or an existing resource is deleted from) a task.

Read what I wrote here on creating a hammock task. That'll give you a start. One big issue you'll find is that it's not easy to identify when a field is using a link (there's a *tiny* triangle in the corner of the field) and it's, for all intents and purposes, impossible to determine from a field where the source data comes from. (I say "for all intents and purposes" because I couldn't find out how ... if you do find out then please let me know.)

If you do go this way then you will have to use an intermediate value for the calculated duration. Basically, set up Duration1 to contain the percentage value of Duration -- if Prepare Specifications is (by your observations) one quarter of the time that Code will take (in other words, you take 1 week to Prepare Specifications and those specifications will take 4 weeks to Code) then you'll want to set up Duration1 so that it is 4 times the value in Duration.

Here's a tip: rename Duration1 to Duration*4 to note this.

Now you use the paste link process (described in the hammock task article) to paste a link from the Duration1 field of the Prepare Specifications to the Duration field of Code.

If you change the Duration of Prepare Specifications then the Duration1 of Prepare Specifications will change and that change will be propagated to the Duration of Code. (Still with me <grin>?)

But what happens if you change the resource on Code from the experienced programer you were promised by the Resource Manager to the new hire that HR gave you?

In short, it can be done. You can also use an automatic transmission in an F1 -- but you don't because you know the driver (the PM!) can choose the correct gear (duration) better and faster than the automatic transmission ever will.


 
What a full and interesting reply. Too much to digest in one go, but well worth the star!
Simon
 
How do you set the duration of the "Prepare Specifications" task to be 1/4 of the duration of the "Write Code" task ? (With an intermediate task ??)

Thanks.
 
@JohnG10

1. Setup
View > Gantt
Insert column Duration1
Rename Duration1 to Duration*4
RightMouseButton on the column header for Duration1
In the popup menu click on Customize Fields...
In the "Customize Fields" popup
Click on the button "Formula"
In the "Formula for 'Duration1'" popup
In the white space put
[Duration]*4
Click OK to close the "Formula for 'Duration1'" popup
In the warning popup click on OK to close it
Click on OK to close the "Customize Fields..." popup

The Duration1 field will now show values that are 4 times the Duration.

2. Create 2 tasks:
Task: Prepare Specs
Duration: 1 week
Duration1: will be cacluated as 4 weeks because of the formula
Task: Code
Duration: any number
Duration1: will be calculated as 4 times the Duration


3. Create the link
Task: Prepare Specs
Click on Duration1
Press Ctrl+C
Task: Code
Click on Duration
Click on Edit > Paste Special...
In the popup
click on "Paste Link"
click on OK

4. Prove the link is working
Task: Prepare Specs
Duration: Change Duration from 1 week to 3 weeks
Duration1: will automatically changed from 4 weeks to 12 weeks
Task: Code
Duration: will automatically change to 12 weeks.

 
That is brilliant! But I can instantly see one reason why you begged not to do it. The screen/cursor keeps flashing indicating that the link is continously being regenerated however turning off automatic calculation dealt with that.

Simon
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top