Tom Feliz, Tektronix
More often than not, software developers adopt an informal and intuitive approach to their craft. Likewise, managers of software organizations often attempt to force-fit models and processes adopted from familiar domains such as manufacturing and organizational efficiency. When it comes to Software Engineering, however, many of the best practices are not immediately apparent and can at first seem to be counter-intuitive and inconvenient. Decades of Software Engineering research have provided certain recurring “truths” that often contradict conventional wisdom. These “truths” of Software Engineering are key to understanding and solving what has been described as “the software problem.” The goal of this talk is to enumerate thirteen inconvenient “truths”, supported by Software Engineering literature, which cut through the confusion surrounding the multitude of software practices and the essential difficulties of building software systems.