URJC 2009: Matching the Staged Model and Orphaning

23
Introduction to Stage Model Stage Characteristics Introduction to Orphaning Matching Stage Model and Orphaning Conclusions Stage Model and Orphaned Lines: How to apply human resources metrics to guess things Daniel Izquierdo Cort´ azar [email protected] GSyC/Libresoft, Universidad Rey Juan Carlos GSyC/Libresoft Seminar February, 3th 2009 Dani el Izqu ier do Cort´ azar Stage Model and Orphaned Lines: How to apply human resource 

Transcript of URJC 2009: Matching the Staged Model and Orphaning

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 1/23

Introduction to Stage ModelStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Stage Model and Orphaned Lines: How to applyhuman resources  metrics to guess things

Daniel Izquierdo Cortazar

[email protected]/Libresoft, Universidad Rey Juan Carlos

GSyC/Libresoft SeminarFebruary, 3th 2009

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines: How to apply human resource

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 2/23

Introduction to Stage ModelStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

(cc) 2009 Daniel Izquierdo Cortazar.Some rights reserved. This document is distributed under the Creative

Commons Attribution-ShareAlike 2.5 licence, available inhttp://creativecommons.org/licenses/by-sa/2.5/

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 3/23

Introduction to Stage ModelStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Table of contents

1 Introduction to Stage Model

2 Stage Characteristics

3 Introduction to Orphaning

4

Matching Stage Model and Orphaning

5 Conclusions

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 4/23

Introduction to Stage ModelStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Index

1 Introduction to Stage Model

2 Stage Characteristics

3 Introduction to Orphaning

4

Matching Stage Model and Orphaning

5 Conclusions

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

I d i S M d l

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 5/23

Introduction to Stage ModelStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Stage Model: Phases

Initial Development

Evolution

Servicing

Phaseout

Closedown

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

I t d ti t St M d l

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 6/23

Introduction to Stage ModelStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Initial Development

Software team expertise: The team adds to its knowledge,the domain and the problem (critical for future evolution)

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage Model

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 7/23

Introduction to Stage ModelStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Evolution

Iterative changes, modifications and deletions carry on

Customers ask for new functionality

There are some early releases

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage Model

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 8/23

Introduction to Stage ModelStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Servicing

Software must have an appropriate architecture and a skilled

development team

”When these are lacking, the software enters the servicing orsaturation stage when it is considered aging, decayed orlegacy.

Modifications are expensive and difficult, so they are avoid

and the old software is not changed at all.Each change degrades the architecture.

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage Model

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 9/23

Introduction to Stage ModelStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Phaseout

The company does not carry on more services, and tries togenerate as much benefits as possible from the unchangedsoftware.

It becomes out of date

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage Model

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 10/23

Introduction to Stage ModelStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Closedown

The company shuts down the software.

Users are asked to use another replacement system.

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage Model

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 11/23

gStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Index

1 Introduction to Stage Model

2 Stage Characteristics

3 Introduction to Orphaning

4 Matching Stage Model and Orphaning

5 Conclusions

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage Model

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 12/23

gStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Staff Expertise

It is critical during the first two phases (Initial developmentand Evolution).

In next phases the software is considered as a black box, bigchanges are not allowed and staff expertise is less important.

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage Model

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 13/23

gStage Characteristics

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Software Architecture

Initial architecture loses its original integrity.After first steps, it is required a redesign.

New code damages the architecture making it cryptic andhard to understand

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage ModelS C

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 14/23

Stage CharacteristicsIntroduction to Orphaning

Matching Stage Model and OrphaningConclusions

Software Decay

This is a mix of  loss of staff  experience and loss of architecture coherence.

As architecture degrades, there is a need for expertise torecognize and improve the architecture.

However, as a project ages, experienced people tend to leave,and they are replaced by people with less tacit knowledge

and less expertise.This is totally the opposite needed by a decayed project.

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage ModelS Ch i i

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 15/23

Stage CharacteristicsIntroduction to Orphaning

Matching Stage Model and OrphaningConclusions

Index

1 Introduction to Stage Model

2 Stage Characteristics

3 Introduction to Orphaning

4 Matching Stage Model and Orphaning

5 Conclusions

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage ModelSt Ch t isti s

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 16/23

Stage CharacteristicsIntroduction to Orphaning

Matching Stage Model and OrphaningConclusions

Approach to measure knowledge loss due to developerturnover

There is a natural regeneration of developers

We can measure knowledge in terms of lines of source code

How do the companies deal with it?

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage ModelStage Characteristics

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 17/23

Stage CharacteristicsIntroduction to Orphaning

Matching Stage Model and OrphaningConclusions

Orphaned Lines vs Size

1998-02-28 2000-02-28 2002-03-28 2004-03-28 2006-03-28

 Time

0

200000

400000

600000

800000

1000000

1200000

   N  u  m   b  e  r  o   f   L   i  n  e  s

Ev. Total Lines

Ev. Orph. Lines

GIMP Total Lines

GIMP Orph. Lines

S ze an Orp ane L nes Evo ut on

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage ModelStage Characteristics

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 18/23

Stage CharacteristicsIntroduction to Orphaning

Matching Stage Model and OrphaningConclusions

Index

1 Introduction to Stage Model

2 Stage Characteristics

3 Introduction to Orphaning

4 Matching Stage Model and Orphaning

5 Conclusions

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage ModelStage Characteristics

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 19/23

Stage CharacteristicsIntroduction to Orphaning

Matching Stage Model and OrphaningConclusions

Common Ideas

Regeneration of developersKnowledge loss

Aging of the source code

Code decay

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage ModelStage Characteristics

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 20/23

Stage CharacteristicsIntroduction to Orphaning

Matching Stage Model and OrphaningConclusions

Common Ideas

We could detect changes in the state of the software in anautomated way

Big amounts of orphaned lines may mean: ”take care, youshould deal with your knowledge loss” or ”your team expertiseis low in some modules”

We are able to notify about high levels of developers

regeneration. (going to Servicing phase?)Useful to make decisions

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage ModelStage Characteristics

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 21/23

gIntroduction to Orphaning

Matching Stage Model and OrphaningConclusions

Index

1 Introduction to Stage Model

2 Stage Characteristics

3 Introduction to Orphaning

4 Matching Stage Model and Orphaning

5 Conclusions

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage ModelStage Characteristics

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 22/23

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Stage model provides a theoretical framework.

We could give a practical approach and provide data tovalidate it.

Evolution and GIMP are two interesting examples to be takeninto account in this study.

Customers could also know about the stage of their software,from an empirical point of view and they can compare with

others.

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines

Introduction to Stage ModelStage Characteristics

8/8/2019 URJC 2009: Matching the Staged Model and Orphaning

http://slidepdf.com/reader/full/urjc-2009-matching-the-staged-model-and-orphaning 23/23

Introduction to OrphaningMatching Stage Model and Orphaning

Conclusions

Questions?

Thanks for your attendance!Questions?

Daniel Izquierdo Cortazar Stage Model and Orphaned Lines