Custom software development is expensive, certainly if you include the cost of the need to maintain lines of code over time. A common strategy is therefore to reuse code that has been created already or share the development and maintenance costs between different parties.Different types of reuseReuse models can differ…

A while ago, i came across the concept of explorable explanation as envisioned by Bret Victor and loved it immediately. Any document can be so much powerful when you can interact with it. Steven Wolfram recognized the value as well when his company introduced the computable document format. I struggled…

Legacy code is a concern for any company with a reasonably size team pretty quickly. In this article Wayne Lobb from Foliage provides us with industry metrics with respect to code growth (Unfortunately need to register to download). The quick summary is that on average a developer can either create…

The first assumption is that developer productivity declines with a constant rate $r$: (1) $\Large \frac{dP(t)}{dt}$ = $\large -r \cdot P(t)$ Divide by $P(t)$: (2) $\Large \frac{1}{P(t)}$ $\cdot$ $\Large \frac{dP(t)}{dt}$ = $-r$ (3) $\Large \frac{dP(t)}{P(t)}$ = $-r dt$ (4) $\Large \int \frac{dP(t)}{P(t)}$ = $-r \int t dt$ (5) $\large ln(P(t))=…

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$…

Eric Ries The Lean Startup is an interesting read to bridge the concepts introduced in Steve Blanks Four Steps to the Epiphany, Lean Manufacturing and Agile Development methods in software engineering. Eric describes how he learned the hard way in his first startup that the biggest Waste any company can…