Ons leven zou er heel anders uitzien zonder de software die vaak onzichtbaar zijn werk doet. Stel je voor wat er kan gebeuren als door een softwarefout bruggen open blijven staan, je niet meer via Facebook informatie met je vrienden kunt delen, of dat de elektriciteit uitvalt. Maar waarom mislukken automatiseringsprojecten zo vaak? Waarom is het zo moeilijk om een omvangrijk stuk programmatuur correct te ontwerpen? Waarom kost het zoveel tijd en geld om bestaande software te onderhouden? Waarom zijn sommige apps meteen populair en andere dan weer niet? En wat is er nodig om een nieuwe webservice te ontwikkelen?