Do SysML requirement diagrams help?

Today I’ve had a privilege to present a paper at EASE 2014 done in collaboration with University of Basilicata in Italy.

Link to presentation

The paper is an experimental validation of whether requirement diagrams speed up the understanding of requirement specifications or whether they increase/decrease comprehension. The results show that the comprehension is increased while there is no change in time.

Evolution of Long-Term Industrial – new paper

Darko Durisic has done an interesting work on the evolution of industrial-class meta-models. The work has been accepted as full paper at SEAA (Software Engineering for Advanced Applications) Euromicro Conference.

Title: Evolution of Long-Term Industrial Meta-Models – A Case Study

Abstract: Meta-models in software engineering are used to define properties of models. Therefore the evolution of the metamodels influences the evolution of the models and the software instantiated from them. The evolution of the meta-models is particularly problematic if the software has to instantiate two versions of the same meta-model – a situation common for longterm software development projects such as car development projects. In this paper, we present a case study of the evolution of the standardized meta-model used in the development of the automotive software systems – the AUTOSAR meta-model – at Volvo Car Corporation. The objective of this study is to assist the automotive software designers in planning long term development projects based on multiple AUTOSAR meta-model versions. We achieve this by visualizing the size and complexity increase between different versions of the AUTOSAR meta-model and by calculating the number of changes which need to be implemented in order to adopt a newer AUTOSAR meta-model version. The analysis is done for each major role in the Automotive development process affected by the changes.

Stay tuned for the full version of the paper and congrats to Darko!

Choosing reliability growth models…

In our recent research we’ve looked at a number of ways on how to support software development companies in working with reliability modelling.

I have come across this article on how to choose a model – a sys rev. They authors look at a number of criteria and evaluate which ones are the most used in choosing models. Nice and interesting reading.

Link to full text

Metrics for Agile teams… article highlight

Which metrics are used by Agile teams?

Link to full text

I was browsing for articles to my new manuscript and encountered this nice piece of work. This article makes an overview which code metrics are used and why by agile teams. The needs are:

    1. Iteration planning
    2. Iteration tracking
    3. Motivating and improving
    4. Identifying process problems
    5. Pre-release quality
    6. Post-release quality
    7. Changes in processes and tools

The article of course mentions the metrics used in each category.

Article highlight: Measures and external quality…

Article highlight: Empirical evidence on the link between object-oriented measures and external quality attributes: a systematic literature review
Link to full text

This article presents an interesting systematic review where the authors set off to look for evidence of correlation between OO metrics and quality. What I like about this paper:

  • nice overview of which metrics suites exist for OO programs
  • nice overview which external quality metrics are used
  • essentially only 99 studies exist which have the right scope and quality
  • the number of studies seem to be growing – even in the past 2-3 years
  • the 20-year old CK suite is still the most popular one

Recommended reading for those who want to see which metrics are the best predictors, when and why.

Performance in software development – special issue is out!

Together with Prof. Hansson and Prof. Bosch from Chalmers University of Technology we had the opportunity to guest edit one of the issues of Information and Software Technology. We set out to compile interesting empirical work on how performance in software development is perceived and assessed.

The link to the full text is available at:

The outcome was a choice of five articles:

    1. Analysing ISD performance using narrative networks, routines and mindfulness
    2. Systematic analyses and comparison of development performance and product quality of Incremental Process and Agile Process
    3. Performance appraisal of software testers
    4. Performance on agile teams: Relating iteration objectives and critical decisions to project management success factors
    5. Evaluating performance in the development of software-intensive products

Each of the articles discusses different aspects of performance of software development – what is important for a team (4), which elements of performance are important for the managers (5) or how to assess performance (3).

I’m looking forward for feedback on this special issue!

How much does it cost to be ready with testing? (review)

How much does it cost to be ready with testing?

Link to full text

In our research work we stumbled upon a question of monitoring whether the product is ready to release (Staron et al, “Release Readiness Indicator for Mature Agile and Lean Software Development Projects”, XP 2012). We could identify indicators which could show how many weeks to release the organization have given their testing and development speed.

In this article we could see a complement to our work since it presents a cost model for how much testing is needed to achieve a specific release pace. Interesting work, waiting to be validated in industrial contexts.

Predicting risk of pre-release code changes…

Predicting risk of pre-release code changes with Checkinmentor

This recently published paper shows a very nice approach of monitoring of what kind of patterns in pre-release code changes can be risky w.r.t. fault proneness of software components. The paper shows experiences of analyzing Windows Phone software at Microsoft done in one of my favorite places – Microsoft Research.

In the context of this work the module is risky if it can cause a bug fix after the release and the metrics used are both those of a source code and of the organization behind the product development. They have found that the change size metrics are the most prominent ones. This means that the more code one checks in, the higher the risk of having a bug…

Link to full text

Choosing reliability growth model for open source software (new article review)

Choosing reliability growth model for open source software, online first from IEEE Computer

Link to full text at IEEE

Predicting the number of unknown defects has always been an important problem to solve. A lot has been done in the area and a lot will be done before the problem is solved.

This paper highlights different types of reliability models (e.g. Convex, Concave) and how to choose between them for open source projects. It’s a magazine article so it reads nicely and gives useful pointers. Recommended as Friday evening reading:)

Directing high-performance software teams – article highlight

Directing high-performance software development teams

Link to full text

Speed, speed, speed – who wouldn’t like their team to be fast, effective, high-performing. The only question is how to achieve this goal.

In this paper the author presents a methods for identifying capabilities of high-performance agile teams. For example, for being agile the team has to have conscious sensitivity and responsiveness to customer and environment needs and changes. Sound quite like one has to be on alert and flexible, ready to embrace changes.

The entire method/analyzer consists of 6+1 questions that can help to assess the maturity. It has been tested in a number of organizations by the author. Sounds simple and nice. Can’t wait to start using it in practice…