Populating Software Repositories Incentives and Domain-Specific Software Jeffrey S. Poulin Journal of Systems and Software, 1995:30, p. 187-199.

Slides:



Advertisements
Similar presentations
1.
Advertisements

NATIONAL AERONAUTICS AND SPACE ADMINISTRATION 1 NASA Earth Science Data Systems (ESDS) Software Reuse Working Group CEOS WIGSS-22 Annapolis, MD September.
Recreational Sport Management & Careers
MOTIVATING THE SALES TEAM Sales meeting & Sales contests.
Bryan Roach Chairman Crime Stoppers Australia. Strategic Planning The process for defining strategy (direction) and decision making For Crime Stoppers,
Sixteen Questions About Software Reuse William B. Frakes and Christopher J. Fox Communications of the ACM.
SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
©2006 OLC 1 Process Management: The Foundation for Achieving Organizational Excellence Process Management Implementation Worldwide.
Project Scope Management
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Illinois Institute of Technology
IT Planning.
Dr. Ralph R. Young Director of Software Engineering PRC, Inc. (703) Fifth IEEE International Symposium on Requirements Engineering.
Chapter 2 DO How can you create a strategic map for your hotel?
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
APPRAISING AND MANAGING PERFORMANCE
Performance Management Upul Abeyrathne, Dept. of Economics, University of Ruhuna, Matara.
The Pricing Decision and Customer Profitability Analysis
Database Administration Chapter 16. Need for Databases  Data is used by different people, in different departments, for different reasons  Interpretation.
Financial performance measures and transfer pricing
Performance Management Dan Robbins. Overview Define performance management Describe the process of developing a performance management system Discuss.
Marketing CH. 4 Notes.
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin 20 Strategy, Balanced Scorecards and Incentive Systems.
DIF 8901 No. 1 COTS-Based Systems Top 10 Lists Victor R. Basili, Barry Boeham Addresser: Hao Ding NTNU/IDI, March 5th, 2003.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Recognizing Employee Contributions with Pay
Organization of the Information Systems Function Chapter 14.
Chapter 12 Promotion Through the Marketing Channel.
© 2013 Cengage Learning. All Rights Reserved. 1 Part Four: Implementing Business Ethics in a Global Economy Chapter 9: Managing and Controlling Ethics.
Project Scope Management Process
Chapter 2 Introduction to Cost Management Systems.
Chapter 14 Information System Development
REUSE-Re-Engineering The Software Process By Venkat Praveen Medikonda.
Chapter 5: Project Scope Management Information Technology Project Management.
IT Project Management, Third Edition Chapter 5 1 Chapter 2: Project Scope Management.
Chapter 7 Developing a Core Knowledge Framework
CBD Papers Alexandre Alvaro. Lessons Learned through Six Years of Component-based Development Six years of component-based application development Using.
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
Experiences with certification of reusable components in the GSN project in Ericsson, Norway Parastoo Mohagheghi and Reidar Conradi Dept. Computer and.
© 2006 McGraw-Hill Companies, Inc., McGraw-Hill/IrwinSlide 10-1.
Chapter 7 Developing a Core Knowledge Framework
 2001 Prentice Hall Business Publishing, Accounting Information Systems, 8/E, Bodnar/Hopwood Systems Implementation, Operation, and Control Chapter.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Introduction to Project Management.  Explain what a project is?  Describe project management.  Understand project management framework.  Discuss the.
Advances in Human Resource Development and Management Course code: MGT 712 Lecture 9.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Pay for Performance A strategic approach to design Dermot Hand August 2012.
Service management is a set of specialized organizational capabilities for providing value to customers in the form of services.
Sixteen Questions About Software Reuse William B. Frakes and Christopher J. Fox Communications of the ACM.
Matakuliah : M0624/Information Technology Valuation
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Software Quality Control and Quality Assurance: Introduction
Fundamentals of Information Systems, Sixth Edition
Modern Systems Analysis and Design Third Edition
MODELOS DE GESTIÓN DE CALIDAD
Recognition of prior learning: report
Modern Systems Analysis and Design Third Edition
Chapter 9 Corporate-Level Strategy: Horizontal Integration, Vertical Integration, and Strategic Outsourcing.
Concepts used for Analysis and Design
Recognition of prior learning: report
Draft OECD Best Practices for Performance Budgeting
Software Reuse Objectives
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
Software Engineering with Reusable Components
Modern Systems Analysis and Design Third Edition
Presentation transcript:

Populating Software Repositories Incentives and Domain-Specific Software Jeffrey S. Poulin Journal of Systems and Software, 1995:30, p

RSL RSL - Reusable Software Library Often the core of an organizational reuse strategy Do not guarantee success Depending on factors like availability of quality and useful software Domain-specific considerations most often determine the usefulness of software and should therefore influence the population of an RSL

IBM’s RTSC IBM formed the Reuse Technology Support Centre (RTSC) to promote formal reuse throughout the corporation Replacing informal reuse with a formal, systematic, process of exchanging quality components RTSC worked with designated representative from development sites RTSC sponsored enhancement to an existing library system so that it could support and control worldwide distribution of assets

Populating the RSL High priority Incentive programs started to encourage depositing parts and using parts Slow progress Software available for general use stabilized around a set of low-level utilities and functions RTSC launched an incentive program to address this

Reuse library considerations 1980’s : reuse programs focused on RSL Quite often ”the reuse program become the library” Resources are spend on library related activities Little to show other than reports that cite a large library Library based reuse has resulted in a modes level of reuse, but it has not yielded a major change in reuse

Lack of major change in RSL-based reuse Caused by the way organizations implement the RSL The theory of a creating a central, large repository seems good, but large RSL’s suffer from a number of drawbacks

The Reuse Library Progression Phase 1 –very few parts Phase 2 –many parts of low or poor quality Phase 3 –many parts of little or no use

RSL overhead Overhead caused by the formality and rigor needed to manage large quantities of data Extensive classification scheme used to describer software components –difficult to classify –users need training Lack of standard method to classify software –may help solving the training problem

A corporate reuse library The IBM strategic RSL provides a –central repository for sharing, managing, and reusing software-related products to company cites worldwide A distributed system of shared libraries The library is owned by the ”local” organization and access is grants access to RSL users from other sites Based on a detailed classification scheme to support locating of relevant software Software in the library to be reused is copied to the local machine

The quality standard of the RSL The RSL supports incremental stages of quality –”use-at-your-own-risk”, , ”highly-trusted” Provides supporting information to potential reusers –design documents, integration instructions, test cases and legal information A component receives one of three quality ratings based in part on the completeness and quality of the supporting information

Component management of the RSL To assist library managers: Library access control Component user registration Version control Problem reporting Library shadowing Standard enforcement

Incentive programs RTSC in 1991 faced a corporate RSL in the first stage of the three phases Feedback indicated a need for a wider selection of quality and useful software RTSC did not sponsor a centralized incentive program but encouraged and offered guidance to sites that wanted to start or have their own

The supplier-consumer relationship The supplier –those who write and and contribute quality reusable software and related information for others The reusers –those who extract from the RSL and incorporates the software in their products rather than develop it again (the consumer)

Reuse recognization Recognition programs usually allot points based on –supplying software for reuse –reusing software for reuse –on the level of a developers participation in the program Accruing a certain number of point results in the individual receiving prizes or financial awards

Recognizing suppliers When determining the proper recognition the program should address: –Participation allocating points to first.time users helps motivating developers and generates –Popularity Provide more points to authors of very popular components encourages contributors to look for high reuse opportunities in their projects –Value A large, robust and generalized component provides more economic benefit to the organization

SIRBO Source Instructions Reused By Others Recognizes part suppliers The size (line of codes) for each component the individual contributes by the number of products or organizations actually using it. Helps ensure that suppliers do not receive recognition for unused software Rewards suppliers who identify widely needed functions Rewards contribution of large parts

Recognizing users Reuse results from a business analysis showing possible financial savings to the organization Forms the basis for individual recognition Recognizing reusers also helps create a demand for reusable components RSI – Reused Source Instructions The number of code lines in each reused component Credit is received first time component appears in a product

Recognizing teams A team incentive can reward a number of group activities: –reward developer teams who achieve a pre-specified goal for the level of reuse receive an unforeseen exceptionally high level of reuse –reward ”parts centre” based on SIRBO –Reward any team with a high number of individuals participating in reuse activities

A corporate incentive program Local reuse programs at IBM started to develop and mature, but the overall quantity of parts available for general corporate use seemed to stabilize RTSC sponsored the development of reusable software ”The Parts Stimulation Program” Moving from phase 1 without the pitfalls of phase 2 and 3

The Parts Stimulation Program strategy getting development organizations to realize that the projects would be more valuable if they made portions of the software reusable the program funded the dev. organizations to study their projects and the business issues related to reuse the Parts Stimulation Program funded the front-end expenses of conducting the reuse study –performing a domain analysis –developing the specification for the reusable parts –completing a reuse business case detailing who else would benefit and the expected return of investments

Incentive Program Results problems identifying candidate projects RTSC decided to fund alternative projects that might benefit the corporation –reuse standard documents –development tools –study of an area of future development

What makes software usable Programmers cannot reuse a software unless it is useful Categories for software –Domain independent widest range of usefulness abstract data types, container classes, graphical ui, –Domain specific software contributes to reuse within the problem domain device drivers, special purpose libraries –Application specific software customized code needed to deliver a product tends to deal exclusively with application-unique functionality limited reuse

Domain independent software Tends to consist of form lines of source code single function or set of variables higher-level abstractions may include numerous interrelated data and functions that act together to perform a specific task high quality rarely contributes more than 15 –20 % to the total product making it easy to reuse domain independent reusable components is and easy, straight-forward and low cost way to get started in reuse

Domain specific software Findings in various projects show high level of domain specific reuse The best results will come from a domain that: –has limited scope –programmers understand –has matured to a level of relative stability –requires a lot of custom development based on a set of core functions Creating a domain library can be bottom-up or top-down