Essential books for working with software metrics (my library)

I get a lot of questions about the essential readings for the area of metrics. Since the area has been active since the 1950s, the number of books is large and the number of articles is naturally even larger. Here is the list of the books that I’ve compiled for my students and colleagues from industry:

  1. Norman Fenton and James Bieman: Software Metrics. This is a classical position in the area of software metrics. It’s been around since 1990s and is perceived as providing the foundations of software metrics. The main audience of this book comprises software engineering students and researchers. If you want to start with the more theoretical aspects and closer to software product metrics, this is the perfect position for you. 
  2. Alain Abran: Software Metrology and software metrics. This is the newest position in the discipline of software engineering. It provides a very good foundation in metrology and provides some examples of modern software measures. The major focus on the book is on the COSMIC FP measure.  If you want to get good foundations in metrology and then move over towards estimations and measurement reference etalons, then this is the perfect position for you. 
  3. Cheryl Jones and Beth Layman: Practical software measurement. This is a very good book for practitioners who want to apply ISO/IEC 15939 standard. The book provides a solid description of the standard which describes the measurement process. It’s a great position for everyone who wants to look into ISO/IEC 15939 and introduce it into the organization. 
  4. Christof Ebert and Reiner Dumke: Software Measurement. This book is a classical position which provides solid foundations on the measurement theory and estimation. The book is rather long and covers multiple aspects, but it seems that the audience is mostly students. 
  5. Christof Ebert et al. Best practices in software measurement. This book presents a number of best practices of measurement. Very good position for practitioners, but needs to be complemented with #4. 

For everyone who wants to get into the measurement area, these positions are a good start. There is of course a lot of other books that are more dedicated for specific areas, and I will get back to these soon.

Best practices in industry-academia collaboration (article review)

Link to article: http://www.sciencedirect.com/science/article/pii/S0950584916301203

Being an empirical researcher with tight relation to industry (www.software-center.se) this kind of study is of outmost importance. I believe that in the area of software engineering the ability to discuss, develop and evaluate methods, tools and techniques needs to be done in collaboration with industry. As the authors of this paper point out, the collaborative environments are still scarce, but they appear.

I recommend to read the paper and reflect a bit on the way in which we conduct the studies and the way in which we engage in the collaboration. Close planning, personal chemistry and academic excellence combined with industrial impact should be our guiding principles!

Results (as written in the abstract by the authors): “Through thematic analysis we identified 10 challenge themes and 17 best practice themes. A key outcome was the inventory of best practices, the most common ones recommended in different contexts were to hold regular workshops and seminars with industry, assure continuous learning from industry and academic sides, ensure management engagement, the need for a champion, basing research on real-world problems, showing explicit benefits to the industry partner, be agile during the collaboration, and the co-location of the researcher on the industry side.”

Creativity, inc in academia…

Link to the book: https://www.amazon.co.uk/Creativity-Inc-Overcoming-Unseen-Inspiration/dp/0552167266/ref=sr_1_1/253-4676796-1009806?ie=UTF8&qid=1482399808&sr=8-1&keywords=creativity+inc and https://en.wikipedia.org/wiki/Creativity,_Inc.

Naturally a lot has been written about the best academic environment and academic excellence, and while reading this book about Pixar animation studios, I kept reflecting on our profession and environments. In the book, the author present his experiences with the start-up of the studios and its later successes.

What struck me the most was the way in which the studios nurtures creativity. They acknowledge directly that creativity is not something that strikes one as a lightning from a blue sky, but a result of a a long process. It requires a number of diverse roles to come together – different roles, but all with equal voice – everyone has to have the right to provide an opinion and discuss it. They should be able to openly and honestly question and discuss other’s opinions.

I see this to be aligned with the academic spirit, and from my observations the best academic environments are the ones where teamwork and team spirit are the most important ones.

I sincerely recommend this book as an inspiration in the creating process of research!

Creativity inc.jpg
By Source, Fair use, Link

The figure is a link to: https://en.wikipedia.org/wiki/Creativity,_Inc.

Continuous safety builds

Keeping Continuous Deliveries Safe, by S. Vöst and S. Wagner

Link to article: https://arxiv.org/pdf/1612.04164v1.pdf

One of the challenges in introducing Agile software development into safety critical systems engineering is the ability to secure the safety properties. A number of solutions exist to that challenge, none of them successfully adopted in commercial product development, though. At least to my best knowledge.

The authors of this article propose a way of addressing this challenge by continuous safety builds. A good thing is the fact that this is in the context of automotive software development, although still in the idea phase. Hope to see more of this kind of research soon!

Abstract (of the article, quoted directly from the source):

Allowing swift release cycles, Continuous Delivery has become popular in application software development and
is starting to be applied in safety-critical domains such as the automotive industry.

These domains require thorough analysis regarding safety constraints, which can be achieved by formal verification and the execution of safety tests resulting from a safety analysis on the product. With continuous delivery in place, such tests need to be executed with every build to ensure the latest software still fullfills all safety requirements. Even more though, the safety analysis has to be updated with every change to ensure the safety
test suite is still up-to-date.

We thus propose that a safety analysis should be treated no differently from other deliverables such as source-code and dependencies, formulate guidelines on how to achieve this and advert areas where future research is needed.

Film about collaboration with industry

I’ve recently done a personal mobility project with Volvo Cars (www.volvocars.com), which was a fantastic experience. I managed to be on Volvo’s site one day a week and developed the course for them — actionable dashboards:)

Here is a short movie about this collaboration, done with the colleagues at Volvo Cars, courtesy of Chalmers.

Link to vimeo

Motivation 3.0 in education

Quite recently I’ve reda one of the books by Daniel H. Pink – “Drive” – which describes what motivates us in general, but in particular in the areas where creativity and research.

In my opinion the ideas of motivation 3.0 are highly applicable for our students. In particular the ability to provide our young colleagues with the ability to become intrinsically motivated to gain the knowledge. We need to understand how to provide them with the “flow” types of task – something that will let the students feel that the task is challenging, but not too difficult.

In the next “software quality” course some of these ideas will come to existence.

Evidence of improvement using Agile…

Towards the end of the year I’d like to make a small reflection on Agile software development. It’s been discussed for a number of years now, yet the evidence of bringing measurable results is rather scarce. Here is one article from Åby Academy in Finland which studies a transformation of a large company to Agile: https://www.researchgate.net/profile/Marta_Olszewska_Plaska/publication/280711876_Did_it_actually_go_this_well_a_Large-Scale_Case_Study_on_an_Agile_Transformation/links/55c1d7ea08aeb28645819d3f.pdf

Studied case: Ericsson

Size: ca. 350 people

Product: roughly 10 years old

Languages: RoseRT, C++, Java

Summary of results: Agile software development provided more features (5x) and faster (60%).

What I like about the paper is that it provides the measurement before the transformation, DURING the transformation and after. Very interesting reading!

Measurement-as-a-Service (MaaS)

In the recent years we’ve seen a lot of discussions and good things about cloud computing – sharing platforms (PaaS), services (SaaS) and software thus optimizing the usage of computer resources.

This sharing of resources is important for making the software sustainable, and helps the companies to focus on what their business is about rather than on their IT infrastructure.

Measurement programs are no different – they are often a strategic value for companies, but they are not really something the companies want to spend their R&D budget for (at least not directly). So, how do we make it happen?

Well, we could use the same approach as in SaaS and PaaS and define MaaS (Measurement-as-a-Service) where we can reuse the knowledge across organizations and minimize the cost for working with the software measurement initiatives.

We’ve tried this concept with one of our industrial partners – Ericsson – and it seems that it works very well. You can read more about it in this article.

And the picture below explains a bit how this works.2015_MaaS_mensura.001

How to choose the right dashboard?

Dashboards and all kinds of radiators are very popular in industry now. They allow the companies to disseminate the metrics information and to find the right way of visualizing the metrics.

In a recent article written together with Ericsson and Volvo Cars we have explored how to find the right visualization and we developed a model for choosing the dashboard – http://gup.ub.gu.se/records/fulltext/220504/220504.pdf.

The method quantified a number of dimensions of a good dashboard and provides a simple set of sliders that can be used to select the right visualization. The companies in the study have found it to be a good input to the understanding of what the stakeholders want when they say “dashboard”.

In the next steps we’re currently working on defining a quality model of KPIs – Key Performance Indicators. The first version has shown that it allows the companies to reduce the number of indicators by as much as 90% by finding the ones which are not of good quality.

Dashboards.jpeg.001