February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse...
-
Upload
clement-miles -
Category
Documents
-
view
213 -
download
0
Transcript of February, 2000Programming Technology Lab, Vrije Universiteit Brussel Managerial Support for Reuse...
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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