Att bygga en fungerande mjukvara verkar otroligt svårt. Men att bygga en trasig mjukvara och sedan reparera den verkar genomförbart.