rogerlmain / Timelog

0 stars 0 forks source link

Add an estimate field to projects #123

Open rexthestrange opened 2 years ago

rexthestrange commented 2 years ago

Add a new field to the Projects page: Estimate.

This field has two functions:

  1. It is an aggregate of all of the estimates of its subtasks (always, regardless of the second purpose), thus is dependent on the development of #122.

  2. If a value is entered, then:

    • If there are no values entered as estimates for the child tasks, then this value is distributed equally amongst the children

    • If there are values entered as estimates for the child tasks, then the value is distributed weighted by existing values

      Examples using:

      Task A: 10 hours
      Task B: 6 hours
      Task C: 8 hours

      Total: 24 hours


      Example 1 - Higher value:

      New value: 36 hours

      New distribution:

      Task A: 15 hours
      Task B: 9 hours
      Task C: 12 hours

      Example 2 - Lower value

      New value: 12 hours

      New distribution:

      Task A: 5 hours
      Task B: 3 hours
      Task C: 4 hours

      Example 3 - Bottom out (1 is the minimum distribution allowed)

      If ratio integrity is lost due to rounding, show a message saying that estimates have bottomed out and cannot be set lower, and that the user needs to set task estimates, individually.