From 5dd494cd1e30d3b47435ce32e93a701b80ee9daf Mon Sep 17 00:00:00 2001 From: Andrey Miroshnikov Date: Fri, 10 Nov 2023 18:26:09 +0000 Subject: [PATCH] Add budget estimation info from bug #1126 c#8 --- HDL_workflow/libresoc_bug_process.mdwn | 57 +++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/HDL_workflow/libresoc_bug_process.mdwn b/HDL_workflow/libresoc_bug_process.mdwn index 7932d6987..a2ddd65ac 100644 --- a/HDL_workflow/libresoc_bug_process.mdwn +++ b/HDL_workflow/libresoc_bug_process.mdwn @@ -99,4 +99,59 @@ one by one, but only in "batches". considerable care therefore has to be taken to ensure that NLnet are not overloaded, nor that the EU Auditor is given grounds to become "suspicious" because of a dozen or more alterations to the MOU. -and write your nickname (i.e. andrey etc.). \ No newline at end of file +and write your nickname (i.e. andrey etc.). + +# Budget Estimation + +Working out a time taken (and budget) for a sub-tasks requires +guestimating. A small self-contained task should take +approximately **1/2 a day up to 8 days (+/- 40%)**. + +The total for a group of sub-tasks should be approximately +**5-25 days**. If a single tasks looks like it might take +longer than 8 days, it is **required** to break it into +smaller subtasks. Big tasks can quickly get out of hand, so +if in doubt, splitting a task is the better option. + +Assume *1 month is appx EUR 3000* (this is an average; the value +may be higher depending on circumstances) and back-calculate. + +These numbers come from Luke's +[comment #8 on bug #1126](https://bugs.libre-soc.org/show_bug.cgi?id=1126#c8) + +Statistically speaking using the +/- 40% variance for each task, +and adding up over 20+ tasks will give a time estimate +**that is accurate to +/- 10%**. + +*(Any sources on this?)* + +However it is very important to have a *clear idea of what is +actually needed*, and to *not leave anything out*. + +For example, when determining the task of adding instructions: + +- For each instruction perform a thought experiment: + "how many lines of HDL, how many unit tests?" +- Then from *- past experience -* estimate the total number + of days. +- Assume 1 month is appx EUR 3000 and back-calculate. +- Put that number for each instruction (or group) +into comment 0, add them up, and make that the total +for the task. + +*(Luke has used this method for the last 5 years based on 20 years +of project management, and it is **expected for the team to familiarise +themselves with it**)* + +Also, make sure not to forget including **documentation** in your +estimate. This ensures a portion of grant money is allocated +to actually documenting the work involved. + +Without documentation, it is not only difficult to teach newcomers about +the code in question, it makes it difficult to come back to the code +6-12 months later for maintenance and/or improvement +(not a rare situation in LibreSOC). + +Don't forget to ask fellow project for help, they might be able +to help determine the scope of the work involved. + -- 2.30.2