February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse...

17
February, 2000 Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit Brussel Course OOSE.RC EMOOSE 1999-2000

Transcript of February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse...

Page 1: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

Managerial Support for Reuse

Dr. Tom Mens

Programming Technology Lab

Vrije Universiteit Brussel

Course OOSE.RC

EMOOSE 1999-2000

Page 2: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

Managerial Issues in Reuse

• I. Setting up a reuse plan

• II. Selecting an organisational model

• III. Defining a reuse team

• IV. Other Issues

Page 3: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

References

• Succeeding with Objects: Decision Frameworks for Project Management– Adele Goldberg, Kenneth S. Rubin.

Addison-Wesley, 1995.

• A Reuse Business Model– Adele Goldberg. Software-Concepts and

Tools 19:11-13, Springer-Verlag, 1998.

• Software Reuse: Architecture, Process and Organization for Business Success– Ivar Jacobson, Martin Griss, Patrik Jonsson.

Addison-Wesley, 1997.

Page 4: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

I. Setting up a reuse plan

• 1. Define reuse

• 2. Set up a process for populating the reuse repository

• 3. Set up a process for sharing reusable assets

• 4. Set up a process for maintaining reusable assets

I

Page 5: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

I.1 Define Reuse

• What should be reused?– code, analysis & design models,

documentation– applications, patterns, frameworks,

algorithms– domain-specific assets– people!

• How should it be reused?– black-box, white-box, grey-box, glass-

box

I

Page 6: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

I.2 Populating the reuse repository

• Identify & prioritise categories of reusable assets– Identify assets useful to a business unit– Identify the needs common to multiple

projects– Identify assets requested by potential reusersaim for quality rather than quantity

• Acquire reusable assets– From a vendor: existing product, or custom-

made– Build your own assets, or reuse from other

internal projects

I

Page 7: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

I.2 Populating repository ctd...

• Certify reusable assets– Do the assets meet expected level of quality?– Determine overall certification goal– Decide how to certify each kind of asset– Consider potential liability associated with

certification

• Classify and store reusable assets– How should assets be stored for easy retrieval?

• Relational DB / OODB / hypertext / flat file system

– What classification structure should be used?• Enumeration / key-value / faceted / ontologies

– How will assets be catalogued using this structure?

I

Page 8: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

I.3 Sharing Reusable Assets

• Communicate availability of reusable assets

• Locate and retrieve reusable assets– search by using wild cards / thesauri (for

synonyms) / regular expressions / natural language / …

– allow for access privileges (security)

• Understand and use reusable assets– documentation should suggest best way to

use an asset, provide examples, potential problems, ...

I

Page 9: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

I.4 Maintaining Reusable Assets

• Update reusable assets– Who is responsible for correcting defects?

– What with backward compatibility?

• Update reusers– Who is in charge of communicating

updates?

– How to inform reusers of updates?

– Should delivered applications be affected by new versions of reusable assets? How?

I

Page 10: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

II. Selecting an organisational model

• 1. Ad-Hoc Model

• 2. Supply and Demand Model

• 3. Expert Services Model

• 4. Product Center Model

• 5. Commercial-off-the-shelf (COTS) Model

II

Page 11: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

II.1 Ad-Hoc Model

• Flea-market:– Anything from previous projects can

be stored in the reuse repository in any form

– Reusable assets have no guarantee of quality, reliability or robustness

– No explicit support is provided

II

Page 12: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

II.2 Supply & Demand Model

• Virtual marketplace

• Similar to ad-hoc model except that:– shoppers can complain when a

desired asset does not exist– assets that are never reused are

removed after some time– assets that are frequently reused are

preferred over other ones

II

Page 13: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

II.3 Expert Services Model

• “Reuse competence center” staffed by independent “reuse team”. Only this team needs to be trained for reuse

• Reusable artifacts are certified

• Redundancies in repository are minimised

• Reuse engineers are “loaned” to work on specific projects. Project artifacts are selected to store in repository.

• Substantial financial cost for setting up reuse competence center, but high return on investment.

II

Recommended as best model by Goldberg & Rubin

Recommended as best model by Goldberg & Rubin

Page 14: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

II.4 Product Center Model

• Similar to “Expert Services”, but– Reuse Engineers are not loaned to projects

– Individual project developers must know how to reuse assets from the repository

– Project developers need to be trained for reuse and most know the reuse tools

– Communication between reuse team and potential reusers is not assured

II

Page 15: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

II.5 COTS Model

• All reusable assets are acquired from outside vendors

• Assets are not modified by the organisation– “as-is” or “plug-and-play” reuse– component-based development

II

Page 16: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

III. Defining a reuse team

• Reuse manager– manages the reuse program, proposes

definition for reuse, chooses organisational reuse model

• Reuse administrator – Identifies and acquires reusable assets

• Reuse engineer– develops reusable assets, consults on

projects

• Reuse librarian• Reuse evaluator• Reuse maintainer

III

Page 17: February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse Dr. Tom Mens Programming Technology Lab Vrije Universiteit.

February, 2000Programming Technology Lab,

Vrije Universiteit Brussel

IV. Other Issues

• Different levels of reuse– Intra-project reuse– Reuse within each group or division– Corporate or enterprise-wide reuse

• Different ways to motivate reuse– Pay royalties to developers of reusable assets

• problematic in presence of inheritance

– Pay developers to reuse existing assets• negative impact on product quality (reuse must be a

means, not a goal)

– Punish developers for not reusing• does not promote proper atmosphere

– Reward appropriate reuse only