Construir un software funcional parece increíblemente difícil. Pero construir un software defectuoso y luego repararlo parece factible.