Difference between revisions of "Derivation of developer productivity parameters"

From knowledgebase
Jump to navigation Jump to search
(Created page with "At <math>t = 0</math> <math>P_0</math> is defined to be developer productivity without legacy obligations (1) <math>P(0) = P_0</math> At time <math>t</math> the developer pro...")
 
(Replaced content with "Derivation of developer productivity parameters Category:math")
Tag: Replaced
Line 1: Line 1:
−
At <math>t = 0</math> <math>P_0</math> is defined to be developer productivity without legacy obligations
+
Derivation of developer productivity parameters
−
(1) <math>P(0) = P_0</math>
 
−
 
 
−
At time <math>t</math> the developer productivity is given by the following equation. <math>r</math> denotes the rate in which productivity declines over time (see [[Derivation of developer productivity decline function|Derivation of developer productivity decline function]])
 
−
(2) <math>P(t) = P_0 \cdot e^{-r t} dt</math>
 
−
 
 
−
We know that after 1 year a developer has produced 10KLoc:
 
−
(3a) <math>\int^1_0 P_0 \cdot e^{-r t} dt</math> = <math>{ProductionPerYear} = 10</math>
 
−
 
 
−
We know that over the full life time a developer can maximally maintain 50KLoc:
 
−
(4a) <math>\int^\infty_0 P_0 \cdot e^{-r t} dt</math> = <math>{MaxMaintenance}  = 50</math>
 
−
 
 
−
Using the [[Substitution rule|Substitution rule]] we can see that:
 
−
(5a) <math>u = -rt</math>
 
−
(5b) <math>t = 0 => u = 0</math>
 
−
(5c) <math>t = \infty => u = - r \cdot \infty</math>
 
−
(5d) <math>t = 1 => u = - r</math>
 
−
(5e) <math>du = -rdt => dt = </math> <math>-\frac{1}{r}</math><math>du</math>
 
−
 
 
−
So that:
 
−
(3b) <math>-P_0 \frac {1}{r} \int^{-r}_0 e^u du</math> = <math>{ProductionPerYear}</math>
 
−
(3c) <math>-P_0 \frac {1}{r} (e^{-r} - e^0)</math> = <math>{ProductionPerYear}</math>
 
−
(3d) <math>P_0 \frac {1-e^r}{r}</math> = <math>{ProductionPerYear}</math>
 
−
(3e) <math>P_0 = </math><math>\frac</math>{{ProductionPerYear} \cdot r}{1-e^{-r}} <math></math>
 
−
 
 
−
(4b) <math>-P_0 \frac {1}{r} \int^{-\infty}_0  \cdot e^u du</math> = <math>{MaxMaintenance}</math>
 
−
(4c) <math>-P_0 \frac {1}{r} (e^{-\infty} - e^0)</math> = <math>{MaxMaintenance}</math>
 
−
(4d) <math>-P_0 \frac {1}{r} (0 -1)</math> = <math>{MaxMaintenance}</math>
 
−
(4e) <math>\frac {P_0}{r}</math> = <math>{MaxMaintenance}</math>
 
−
(4f) <math>P_0</math> = <math>{MaxMaintenance} \cdot r </math>
 
−
 
 
−
Combining (3e) and (4f) we get:
 
−
(6a) <math>{MaxMaintenance} \cdot r = \frac</math>{{ProductionPerYear} \cdot r}{1-e^{-r}}<math>
 
−
(6b) </math>\large {1-e^{-r}} = \frac{{ProductionPerYear} \cdot r}{{MaxMaintenance} \cdot r}<math>
 
−
(6c) </math>\large -e^{-r} = \frac{{ProductionPerYear}}{{MaxMaintenance}} -1<math>
 
−
(6d) </math>\large e^{-r} = 1 - \frac{{ProductionPerYear}}{{MaxMaintenance}} <math>
 
−
(6e) </math>\large -r =  ln(1- \frac{ProductionPerYear}{{MaxMaintenance}})<math>
 
−
(6f) </math>\large r =  -ln(1- \frac{ProductionPerYear}{{MaxMaintenance}})<math></math>
 
−
 
 
−
Which results in the following values for <math>r</math> and <math>P_0</math>
 
−
(6f) <math>r = -ln(1-10/50) = 0.22314355</math>
 
−
(4g) <math>P_0 = 50 * 0.22314355 = 11.1571775657 </math>
 
 
[[Category:math]]
 
[[Category:math]]

Revision as of 19:16, 27 August 2020

Derivation of developer productivity parameters