[kplato] Summary of Data Discussion

Chris Clarke kplato@kde.org
Mon, 18 Jun 2001 21:15:56 -0700


Jim,

The way things are defined in the breakdown doesn't mean that the resource 
object is contained wholly within the the task object, right now I'm just 
saying that a task contains a list of the resources that are associated with 
it, so I don't think the definition is in contrast with your idea.  I've 
avoided thinking about how a resource is defined because I need help from 
someone with more experience there.  I think you've provided that now.

Just to make sure we're talking about the same thing, I'll give you an 
example of what I'm thinking of when I talk about resources:

Let's say I'm the manager of a small team in QA.  I have three members on my 
team:

QA1: F/T 40 hours/week
QA2: F/T 40 hours/week
QA3: P/T 20 hours/week

My tests have to be run on a specific "test string".  Each string is 
available to my team for 5 hours a day.  I can request extra time if I want, 
but I need to know in advance.  We'll call this TEST_STRING.

>From my point of view QA1, QA2, QA3, and TEST_STRING are resources because 
they are required for my tasks and I have a limited amount available.

Now I am planning for the development and conduct of two tests, TEST1 and 
TEST2.  Each requires one or more people, plus the test equipment, so I end 
up with this:

TEST1:
   QA1  (Requires 38 hours development)
   TEST_STRING (Requires 15 hours of string time)

TEST2:
   QA1, QA2 (requires 50 hours development can be split across the two)
    TEST_STRING (requires 30 hours of string time).

Both tests will have their start and end dates constrained by the project 
defined around them.  Now, the questions I need answered are:

1) Can I complete TEST1 and TEST2 without requiring overtime from my team.

2) Do I have an adequate amount of string time available, or should I request 
more.

I very much like the idea of associating a risk with a task.  In the above 
example my estimate on string time would be based on assumptions as to the 
quality of the software.  Being able to associate a risk to that assumption 
would be extremely useful.

If I follow what you're saying (and it makes sense to me) it seems that a 
resource is represented as a task, except that:

a) The same resource can be assigned to multiple tasks, so from the tree view 
we would have a many-many relationship.  In reality I would probably define 
resource/subresource relationships like we do with the tasks, so that we 
would have a one-many relationship between tasks and subresources, and a 
one-many between resources and subresources.

On the calculation side, we would assign a duration to a resource the way it 
would be assigned to a task.  These durations could roll up to determine the 
duration of the task in a manner that is completely analogous to the 
task/subtask calculations.

b) There is an extra definition in the resource detailing units and units 
available.  e.g. my string is defined by hours per day, and it's limited to 
max_hours_per_day (=5 here).  For any period [startdate, enddate]:

    extra_time = total_hours_required -
                          ( (enddate - startdate) * max_hours_per_day )
or
    enddate = total_hours_required / max_hours_per_day + startdate

Depending on the constraints we're placing (of course this is complicated by 
spreading a single resource across multiple tasks and having to take the 
float on each task into account so that the resource is not necessarily 
spread evenly across days, but that's beyond the scope of this discussion).

Comments?

Cheers,
Chris.

On Monday 18 June 2001 19:50, Jim Sabatke wrote:
> Chris,
>
> I would keep "resource" out of the "task" definition for a couple of
> reasons:
>
> 1.    Some tasks will have multiple resources
> 2.    I would prefer to have resources listed like CA-Superproject, not
> in a column like M$ Project.  The resouces would be listed in lines
> below each task.  The whole task/resource relationship becomes more
> spreadsheet like, and more flexible.  Example:
>
>                         Duration
> Task1                 15hours
>     Resource1     10hours
>     Resource2       5hours
>
> Resources would have all the same columns as their tasks.  You could
> have differing risks for different resources (experiences vs. newbie).
> The task stats would rollup the resource columns.
>
> This would require a:
>
>       Task Resource :==
>             Task ID +
>             Resource +
>             All of the task stats
>
>
> Jim

-- 
Chris Clarke
security@cfourconsulting.com
http://cfourconsulting.com