Derivation of developer productivity decline parameters

At $t = 0$ $P_0$ is defined to be developer productivity without legacy obligations (1) $\large P(0) = P_0$ At time $t$ the developer productivity is given by the following equation. $r$ denotes the rate in which productivity declines over time: (2) $\large P(t) = P_0 \cdot e^{-r t} dt$ We know that after 1 year a developer has produced 10KLoc: (3a) $\large \int^1_0 P_0 \cdot e^{-r t} dt$ = $\large {ProductionPerYear} = 10$ We know that over the full life time a developer can maximally maintain 50KLoc: (4a) $\large \int^\infty_0 P_0 \cdot e^{-r t} dt$ = $\large {MaxMaintenance} = 50$ Using the substitution rule: (5a) $\large u = -rt$ (5b) $\large t = 0 => u = 0$ (5c) $\large t = \infty => u = - r \cdot \infty$ (5d) $\large t = 1 => u = - r$ (5e) $\large du = -rdt => dt = $ $\Large -\frac{1}{r}$$\large du$ So that: (3b) $\Large -P_0 \frac {1}{r} \int^{-r}_0 e^u du$ = ${ProductionPerYear}$ (3c) $\Large -P_0 \frac {1}{r} (e^{-r} - e^0)$ = ${ProductionPerYear}$ (3d) $\Large P_0 \frac {1-e^r}{r}$ = ${ProductionPerYear}$ (3e) $\Large P_0 = $$\Large \frac{{ProductionPerYear} \cdot r}{1-e^{-r}} $ (4b) $\Large -P_0 \frac {1}{r} \int^{-\infty}_0 \cdot e^u du$ = ${MaxMaintenance}$ (4c) $\Large -P_0 \frac {1}{r} (e^{-\infty} - e^0)$ = ${MaxMaintenance}$ (4d) $\Large -P_0 \frac {1}{r} (0 -1)$ = ${MaxMaintenance}$ (4e) $\Large \frac {P_0}{r}$ = ${MaxMaintenance}$ (4f) $\Large P_0$ = ${MaxMaintenance} \cdot r $ Combining (3e) and (4f) we get: (6a) $\Large {MaxMaintenance} \cdot r = \frac{{ProductionPerYear} \cdot r}{1-e^{-r}}$ (6b) $\Large {1-e^{-r}} = \frac{{ProductionPerYear} \cdot r}{{MaxMaintenance} \cdot r}$ (6c) $\Large -e^{-r} = \frac{{ProductionPerYear}}{{MaxMaintenance}} -1$ (6d) $\Large e^{-r} = 1 - \frac{{ProductionPerYear}}{{MaxMaintenance}} $ (6e) $\Large -r = ln(1- \frac{ProductionPerYear}{{MaxMaintenance}})$ (6f) $\Large r = -ln(1- \frac{ProductionPerYear}{{MaxMaintenance}})$ Which results in the following values for $r$ and $P_0$ (6f) $\Large r = -ln(1-10/50) = 0.223144$ (4g) $\LARGE P_0 = 50 * 0.223144= 11.157177$

No Comments, Be The First!

Your email address will not be published.