Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The true outcome of a maturity model assessment isn't what level you are but the list of things you need to work on to improve.

(Martin Fowler, https://www.martinfowler.com/bliki/MaturityModel.html)

...


Introduction

Maturity models are a well-known improvement instrument instruments for organisational improvement and evaluation. The GÉANT Software Maturity Model is primarily oriented towards software development within GÉANT. GÉANT Software Governance and Support is iteratively developing the GÉANT Software Maturity Model (SMM) to

  • support the identification of needs, trends and important aspects of software engineering,

...

  • capture best practices, promote self-improvement and contribute to the quality of software development and governance.

...

Objectives

Specifically, GÉANT Software Maturity Model aims to:

  • Identify needs and capture relevant software engineering aspects of SW engineering relevant for GÉANT software projects and developments.
  • Accommodate the prior work in GÉANT and identify existing good practices, assess their wider applicability, prepare them for a wider adoption, and promote and support the best common practices.
  • Facilitate dialog co-ordination between teams and their self-improvement.
  • Support software teams, assisting them in change of practices and quality enhancements.
  • Outline a general framework for iterative development and enhancement of software engineering.
  • Provide a framework for accommodating, using or tailoring of the elements of already established, relevant and applicable maturity models.

The in factors that should be taken into account include the lasting nature of GÉANT, its products and services, distributed nature of conducted collaborations, existence of many practices that have been stable for quite some time, but also often constrained or ephemeral nature of involvement of most individuals and continually evolving nature of concepts, practices, tools and trends in software engineering and IT industry.

With the identification and refinement of elements associated with maturity levels it will become possible and practical to conduct maturity assessments.

SMM overview

Image Removed

This model and the underlying conceptual framework are iteratively developed by alternately addressing specific needs and general concerns.

Target areas

After consulting the relevant literature and developers, it was decided what the GÉANT software maturity model should be about, and after some general assumptions were developed.

The thematic focus of the SMM is on:

  • Requirements engineering
  • Design and implementation
  • Quality assurance
  • Team organisation
  • Software maintenance

These target areas (TAs) are subjects that are captured and elaborated in order to provide a specific content to the maturity model.  Each of target areas consists of several specific goals (SGs), which are individual concerns within them. The details of SMM target areas and specific goals are elaborated here. "3-Quality Assurance" and "3.5. Testing and verification procedures"provided  above are actual examples of a TA and one of its specific goals. The identified specific target areas were elaborated in a questionnaire for the developments teams. The responses from the survey and the feedback on the questionnaire itself required further study of the literature and the ways to establish the helpers that could be used to refine the thematic content and various document related to the software maturity model, including the next iteration of the questionnaire.

Other elements of the model (could move elsewhere if too much for here)

The model framework includes maturity levels, specific goals within the listed target areas and cycles on information gathering, analysis, suggesting and tracking of improvements and refinement of the model itself.

  • Reference models are other related maturity models such as... Most maturity models focus on one target area.
  • Maturity levels (ADD LINK) are generalised, progressing descriptions of maturity that could be detailed and elaborated for any specific target area. SMM levels (ADD LINK) are designed to be compatible with the most of related maturity models.
  • Taxonomies: The Guide to the Software Engineering Body of Knowledge (SWEBOK Guide) maintained by the IEEE Computer Society provides a suitable taxonomy of the field. It can be used as a frame of reference, but the actual names and scopes of areas should be rather expressed in the terms aligned with the actual understanding of the target audience, in this case, software developers. The actual scope of used areas should be narrowed down the relevant and attainable goals.
  • Elements of maturity levels (ADD LINK) are the elements that are indicative for specific levels of maturity within one target area.
  • Maturity matrix (ADD LINK to DEF) is the pivotal element of most maturity models and TAs, SGs and elements of levels are combined in this matrix in order to set criteria for maturity assessment. They are yet to be developed for the SMM.

Additional supporting resources and tools

  • Related vocabularies and elaborations of topics (ADD LINK)
  • Common stages and elements (ADD LINK)
  • Questionnaires, interviews and collected responses (ADD LINK) - KEY RESOURCE! for learning on teams practices, needs and issues

The elements of Software Governance and Support that could be influenced by the SMM are:

  • Improvement areas and opportunities with achievements and concerns.
  • Guidelines and recommendations with best common practices.
  • Infrastructural enhancements such as new tools and services for software developers.
  • Improvement actions, which are various initiatives supporting best practices.

Explain feedback loops

Although the described process has made the maturity model framework more comprehensive, abstract, and suitable to encompass various types of activities, it is still primarily shaped by the original needs of GÉANT and its software community. However, it is readily available for other usages that are not directly related to software development, and those who find it useful may apply it elsewhere in GÉANT.

Motivation for work on SMM (repetition)

  • SDTs have freedom in choosing methodology and customizing software development and delivery process (including PLM). As a result, SDTs have diverse experience, skills and use different methodologies/approaches to software development.
  • Best practices elaborated in various SDTs can be shared in an effort to improve the quality of the process and allow SDTs to learn from each other
  • Maturity Model would serve three goals:
    • identify process areas that are essential for software development, considering GÉANT specifics
    • help the teams in continuously improving the identified processes
    • provide a set of best practices elaborated jointly by the teams.

Work done so far

  • Initiation:  Deliverable D5.3 - Analysis of Requirements for Software Management showed that most of the software development (SWD) teams are not following specific development methodologies (SDMs)
  • Eliciation of needs: discussion at the 2017 GÉANT symposium side meeting and the 2018 Task Force proposal meeting. Both meetings showed that SWD teams face similar problems when trying to implement a specific methodology, i.e. the geographical distribution of team members and the availability of team members, caused by low manpower percentage, involvement in other high priority projects, sick leaves, and other reasons.
  • Consultative meetings with selected teams
  • Definition of a Maturity Model, designed specifically for GÉANT SDTs
  • Publication of the model in a conference paper (TELFOR 2018)
  • Early validation of the Maturity Model with selected teams (interviews): inAcademia, NMaas, GTS
  • UPDATE, extend...

In progress

  • Pilot implementation on the Maturity Model
  • Analysis of data collected during early validation phase

Planned activities

The maturity model will officially be published during 2019 along with the call for teams interested to participate in the evaluation. In order to obtain more visibility and to verify the model in academic community, we prepared and submitted a paper for IEEE Software journal regarding the work done so far and the model itself.

Contact

The GN4-3 WP9 Task 1 SMM team is waiting for your comments and questions regarding the SMM and harmonization of software development process in GÉANT community.

The main purpose of the SMM is not the assessment, but to give pointers to best practices GÉANT software teams might be missing, which requires to establish a good evaluation scale and analytical apparatus. The idea is to "borrow" know-how and present what other teams operating comparable environments do and achieve.

Overview

Image AddedPlease send any SMM related messages to Branko Marovič, SMM development coordinator, branko.marovic@rcub.bg.ac.rs.