Wednesday, November 28, 2007

The Historical "Software Reuse Adoption" Meeting

On November, 27th 2007, I had a historical meeting with Ruben Prieto-Díaz from James Madison University and Dirk Muthig from Fraunhofer Institute. We discussed important points about reuse adoption, specially, about maturity models, and what are the main obstacles to be surpassed and what are the best ways towards an effective reuse adoption program. In the following, the meeting summary:

I presented to Dr. Prieto-Díaz the current version of the RiSE Maturity Model, its principles, fundamentals and the scientific background, citing the main important works in the area. Prieto-Díaz worked in the SPC, so he knows the RMM and helped me to see some new obstacles that I had not considered yet.
An interesting issue is related to the people and the personal knowledge. Here, in Brazil, we have the culture to change the staff (software engineers) commonly. In this context, we need to specify a set of policies, procedures or rules (?) to aid in the knowledge transfer and storage, to make it available for the new people that come to the organization in the future. Reuse is important not only based on the software life cycle assets, but the knowledge reuse is also important for the organization. Some methods, techniques and environments/tools must be defined and introduced to support these policies/procedures and to make this content available for the next projects.
Related to my thesis, Prieto-Díaz highlighted the importance of making explicit the reuse concept, in the context of the thesis. As well as the boundaries and the scientific contribution.

After that, I met Dr. Dirk Muthig and he gives me another vision of the work. Muthig works at the Fraunhofer Institute, "similar" to CESAR, and has a vision focused on the practice (industry).
The meeting with Muthig was amazing. He explained me how they design a Ph.D. thesis at
Fraunhofer Institute, and adviced me to follow the same way. I will try to explain, summarized, what we define.
A Ph.D. thesis is composed of four elements: a Problem, an Idea, the Benefits; and, an Action Plan. In my thesis context, they are:
  • P: Brazilian organizations see benefits of reuse but don't know how to introduce it. The main problem can be seen by this simple expression:
    • reuse -> a lot of investments + risks => don't do it!
    • a lot of investments because sometimes you need to reorganize everything, rewrite everything and rebuild and restructure everything!
  • I: Provide an incremental path towards reuse adoption/introduction in practice.
  • B: The main benefits are:
    • lower risks;
    • quicker benefits;
    • smaller jumps of investments.
  • A: The action plan can be something like this:
    • Survey of Single Systems practice [related to reuse]
      • in this scenario, we will have some companies with no reuse
    • Define a first step that applies to all of them [measure reuse, explicit of reusable assets...]
    • Develop a plan to aid in this question: how to maximize reuse from here? (it can be a link to Product Lines Approaches).
The main issue is that reuse is a Quality Improvement Paradigm (QIP) and we need to consider it in the reuse adoption program and, specially, in my thesis.
Prieto and Dirk agree that is fundamental to explicit the reuse concept. The boundaries should also be described. The next steps are: to specify the assessment and the reuse introduction process, based on the RiSE Maturity Model.


Fred Durao said...
This comment has been removed by the author.
Fred Durao said...

You were very happy when you defended that " fundamental to explicit the reuse concept..."
The lack of education, since the early graduation certainly contributes to its low diffustion among software organizations. In may point of view that is the point!