While agile methods of software development have been broadly accepted as being efficient and productive, there are still some questions open: What about larger projects that cannot be handled in one team? What about sustainability? What about collaboration with teams working differently, regardless of the reason?
The SEMAT initiative might contribute to solving this issue. SEMAT stands for “Software Engineering Method and Theory.”
The authors take the perspective that their readers are familiar with the agile movement, and start this article with an explanation of SEMAT. They do this in a clever way, by first listing what SEMAT adds to agile procedures (and vice versa). This approach touches on all the basic ideas behind SEMAT, so the reader gets a good understanding of how it works.
The next part of the article discusses the core elements of SEMAT, including the “essence,” which is described as “a kernel of universal elements in software development”; the “alphas”; and the tools and methods needed to deal with them.
These various concepts and tools are illustrated with practical case studies from a rather broad range of applications, including support for internal coaches and development in Internet media systems. These case studies validate the authors’ statement that agile and SEMAT complement each other nicely.
I found this article very interesting and recommend it for anyone involved in agile software development who has a need for methods and tools to overcome some of the current limitations of this method.