Better Thinking for Better Software: Thinking Critically about Software Development Prior Year Content
To paraphrase a famous Albert Einstein quote—We cannot solve our problems by applying the same level of thinking that we used when we created them. Although Einstein was originally talking about war, this also is applicable to software development, where one level of thinking—known as software engineering—has prevailed for the past four decades. Laurent Bossavit explores why several of the key assumptions are no longer—or never were—credible. These include the cost of defects curve, the notion of 10x engineers, and the origin of software bugs. Not stopping at debunking suspect claims and sharing techniques to expose them, Laurent goes on to explain the driving motivation which helped the claims become widespread―a misguided search for universal laws of software development―and suggests an alternative approach at a different level, hinted at by lean and agile practices. In this alternative approach each of us, backed by hard data and critical thinking, puts on the scientist's lab coat in search of local truths within our development organizations.