A collection of articles from the IEEE Software's 'Redirections' column, edited by Tim Menzies.
The Redirections department, aims to focus on … surprises. After five decades of software engineering, it’s time to ask, “What’s surprising about software engineering?” We say this because there’s a growing list of SE “truths” that new data shows are wildly inaccurate.
This collections includes 11 articles published between 2018 and 2019.
History
2018: A Period of Critical Reflection and Evidence-Based Inquiry
In 2018, the discourse within software engineering appeared to center on a deep, critical self-assessment of established practices, beliefs, and the very foundations of how knowledge is acquired and applied. A prominent theme was the emphasis on evidence-based practice and a desire to understand what truly works. Titles like "From Voice of Evidence to Redirections" and "Belief and Evidence: How Software Engineers Form Their Opinions" highlight a community grappling with the influence of empirical data versus anecdotal experience in shaping professional judgment.
Simultaneously, there was a noticeable trend towards re-evaluating long-standing dogmas and commonly held assumptions. This is evident in "Reconsidering Whether GOTO Is Harmful," which revisited a debate thought long settled, and "What Do We (Really) Know about Test-Driven Development?", questioning the depth of understanding behind a popular methodology. This period wasn't just about adopting new techniques but scrutinizing the efficacy and true impact of existing ones. The power of data was also recognized through "The Unreasonable Effectiveness of Software Analytics," suggesting a growing reliance on quantifiable insights. Overall, 2018 marked a continuity of seeking improvement, but with a more mature, critical, and analytical lens focused inward on the discipline itself, culminating in a meta-analysis reflected by "Software Engineering’s Top Topics, Trends, and Researchers."
2019: Shifting Focus to Value, Fairness, and Practicality
Moving into 2019, the conversation shifted from an internal, retrospective analysis to a more forward-looking perspective, heavily influenced by emerging technologies and the practical application of complex methods. A significant new theme emerged around the value and ethical implications of software, especially as artificial intelligence began to permeate more domains. "Is Your Software Valueless?" directly challenged developers to consider the inherent worth and impact of their creations, while "Think Your Artificial Intelligence Software Is Fair? Think Again" introduced a crucial ethical dimension concerning bias and equity in AI systems—a topic not explicitly visible in the prior year's discussions.
Another key trend was the push towards simplification and automation of sophisticated techniques. Titles such as "One-Click Formal Methods" and "Complexity: Let's Not Make This Complicated" underscore a desire to make powerful, often intimidating, methodologies more accessible and less burdensome for everyday developers. This represents a notable shift from 2018's introspective questioning to a more pragmatic drive for usability and efficient implementation. Furthermore, the theme of re-evaluation continued, but targeted more fundamental aspects of software development. "The End to the Myth of Individual Programmer Productivity" challenged a long-held management belief, moving beyond technical re-evaluations to question core tenets of how software teams are perceived and measured. This period indicates a growing concern with the external impact of software, its societal implications, and the practical challenges of developing it effectively and ethically.