The purpose of Experimentation in Software An Introduction is to introduce students, teachers, researchers, and practitioners to experimentation and experimental evaluation with a focus on software engineering. The objective is, in particular, to provide guidelines for performing experiments evaluating methods, techniques and tools in software engineering. The introduction is provided through a process perspective. The focus is on the steps that we go through to perform experiments and quasi-experiments. The process also includes other types of empirical studies. The motivation for the book emerged from the need for support we experienced when turning our software engineering research more experimental. Several books are available which either treat the subject in very general terms or focus on some specific part of experimentation; most focus on the statistical methods in experimentation. These are important, but there were few books elaborating on experimentation from a process perspective, none addressing experimentation in software engineering in particular. The scope of Experimentation in Software An Introduction is primarily experiments in software engineering as a means for evaluating methods, techniques and tools. The book provides some information regarding empirical studies in general, including both case studies and surveys. The intention is to provide a brief understanding of these strategies and in particular to relate them to experimentation. Experimentation in Software An Introduction is suitable for use as a textbook or a secondary text for graduate courses, and for researchers and practitioners interested in an empirical approach to software engineering.
So I've mostly skimmed this book, and emphasised on reading the first couple of chapters.
This is a very in depth look at the formal methods needed to apply to create a successful Software Engineering Experiment. I've read it as part of my dissertation thesis, and could concur it helped me a bit. It is very technical, even for what i deem necessary for just a dissertation. However, as it tries to cover a topic not only niche, but one of the few niches that is less formal in one of the most formalised scientific domains. The volatility of best practices in the subject's domain, also doesn't help this book age well. Sure, the agile practices described here are still in practice as they were mostly when the book was written. But it fails to properly address integrating Cloud services and modern CI/CD in the experimentation framework.
Overall, a great book to skim for an introduction on how to formalise something that it is not quite made for formal research.