Back in 2010, Andy Oram and I edited a book called Making Software: What Really Works, and Why We Believe It. In it, some of the leading lights of empirical software engineering research presented their favorite results and the methodologies behind them. My hope was that it would spark development of a better software engineering course; that hasn’t happened yet, but there are signs that the tide is running the right way. One is a trio of books that are both broader and deeper than Making Software:
- Perspectives on Data Science for Software Engineering “presents the best practices of seasoned data miners in software engineering.”
- The Art and Science of Analyzing Software Data “provides valuable information on analysis techniques often used to derive insight from software data.”
- Sharing Data and Models in Software Engineering “presents guidance and procedures for reusing data and models between projects to produce results that are useful and relevant.”
Another hopeful sign is Derek Jones’ Empirical Software Engineering Using R; while still a draft, it is closer to being a textbook than the three collections linked above. It may take another decade for evidence-based introductions to software engineering to supplant the courses we have today, but I really do believe it’s going to happen.