Sixteen Questions About Software Reuse William B. Frakes and Christopher J. Fox Communications of the ACM.

Slides:



Advertisements
Similar presentations
a ADOPTION OF E-LEARNING BY THE ACADEMIC AND INDUSTRY STAFF
Advertisements

How teachers use research– and maybe how they should? Ralf St.Clair University of Glasgow.
Management Control Systems
Increasing your confidence that you really found what you think you found. Reliability and Validity.
Indiana State University Assessment of General Education Objectives Using Indicators From National Survey of Student Engagement (NSSE)
Project Selection (Ch 4)
Auditing Concepts.
Performance Measurement in the Conservation Community Status, progress, barriers, and next steps Background material for the Measuring Conservation Effectiveness.
1 Evolution: a Grand Challenge Pennine Forum September 2004 Keith Bennett School of Engineering, Durham
Discussion on SA-500 – AUDIT EVIDENCE
Populating Software Repositories Incentives and Domain-Specific Software Jeffrey S. Poulin Journal of Systems and Software, 1995:30, p
AN INVESTIGATION INTO PUBLIC ATTITUDES, AWARENESS AND ACTIONS TOWARDS CLIMATE CHANGE. MALCOLM MCMILLAN Dissertation submitted (in part) for Bachelor of.
UGA Libraries Compensation Satisfaction Consulting Project Carrie McCleese Starr Daniell.
Chapter 3 Producing Data 1. During most of this semester we go about statistics as if we already have data to work with. This is okay, but a little misleading.
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
1 Reusability and Portability Xiaojun Qi. 2 Reuse Concepts Reuse is the use of components of one product to facilitate the development of a different.
©2011 Rolls-Royce plc The information in this document is the property of Rolls-Royce plc and may not be copied or communicated to a third party, or used.
An Approach to Case Analysis
Organizational Project Management Maturity: Roadmap to Success
How ISO 9001 Fits Into The Software World? Management of Software Projects and Personnel CIS 6516 March 6, 2006 Prepared by Olgu Yilmaz Swapna Mekala.
UHCL Support Staff Association (SSA) and Professional and Administrative Staff Association (PASA) In consultation with Dr. Lisa M. Penney RAs: Lisa Sublett,
Computer Systems & Architecture Lesson Software Product Lines.
Presented by Levent Yıldızgören TTC Language Services Ltd & Learnproject.
TEAM MORALE Team Assignment 12 SOFTWARE MEASUREMENT & ANALYSIS K15T2-Team 21.
MGT-491 QUANTITATIVE ANALYSIS AND RESEARCH FOR MANAGEMENT OSMAN BIN SAIF Session 14.
Organizational Culture and the Environment: The Constraints
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Integrated Capability Maturity Model (CMMI)
Integration Sustainability into every day business processes RESPONSE project Kyiv June 6th 2008 Professor Peter Neergaard Department of Operations Management.
A Taxonomy of Evaluation Approaches in Software Engineering A. Chatzigeorgiou, T. Chaikalis, G. Paschalidou, N. Vesyropoulos, C. K. Georgiadis, E. Stiakakis.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
PAPER PRESENTATION: EMPIRICAL ASSESSMENT OF MDE IN INDUSTRY Erik Wang CAS 703.
Evaluating a Research Report
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
CSC 395 – Software Engineering Lecture 12: Reusability –or– Programming was Bjarne Again.
Decision making, FUIEMS, 29 December, Decision-Making Process Engineering Economics Lecture # 15.
S14: Analytical Review and Audit Approaches. Session Objectives To define analytical review To define analytical review To explain commonly used analytical.
1 ORGANIZATIONAL BEHAVIOR STEPHEN P. ROBBINS Chapter 3 Attitudes and Job Satisfaction Reporter: Yen-Jen Angela Chen 2007/09/20.
Jason Leman Education Researcher Sheffield Hallam University.
CHAPTER 1 Understanding RESEARCH
Agile Method Paper Report 資工 4A 余修丞. 2 Agile methods rapidly replacing traditional methods at Nokia: A survey of opinions on agile transformation.
Availability of scientific and technical environmental data : their effect on decision making mechanisms International Cooperation Consejo Nacional de.
Experiences with certification of reusable components in the GSN project in Ericsson, Norway Parastoo Mohagheghi and Reidar Conradi Dept. Computer and.
Benchmarking Study on the Situation of the United Nations System and Development Institution Websites Results of the World Bank Conference Web for Development:
AN INTRODUCTION Managing Change in Healthcare IT Implementations Sherrilynne Fuller, Center for Public Health Informatics School of Public Health, University.
McGraw-Hill/Irwin© 2005 The McGraw-Hill Companies, Inc. All rights reserved. 7-1 Chapter Rewarding Organizational Behavior.
1 THE DESIGN OF INTELLECTUAL MOVEMENTS Stuart Umpleby The George Washington University Washington, DC.
Strategic Planning Workshop  Presented by: Jason P Aubee.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Hypothesis Testing An understanding of the method of hypothesis testing is essential for understanding how both the natural and social sciences advance.
Introduction Chapter 1 and 2 Slides From Research Methods for Business
LOGO Mamdouh Abdel Aziz Refaiy Dr. Associate Professor, Business Administration Department, Faculty of Commerce, Ain Shams University, Cairo, Egypt. Evaluating.
Interviews By Mr Daniel Hansson.
TSQM Overall Merged Data Analysis by Industry Analysis by Company Size July 10, 2006 Vicki Deng.
Organizational Psychology: A Scientist-Practitioner Approach Jex, S. M., & Britt, T. W. (2014) Prepared by: Christopher J. L. Cunningham, PhD University.
Sixteen Questions About Software Reuse William B. Frakes and Christopher J. Fox Communications of the ACM.
Analytical Review and Audit Approaches
Service Level Agreements White Paper - A Summary Quality of Service Task Force The Open Group Presented by: Jon Saperia
Click to edit Master subtitle style 3/7/10 LEADING.
Capability Maturity Model. CS460 - Senior Design Project I (AY2004)2 Immature Organisations Software processes are often rigorously followed. Organisation.
Disclosure of Accounting Policies Accounting Standard 1 AS1 - Disclosure of Accounting Policies.
一、 Translate the following HRM terms ( 15 Points,each 1 point ) 二、 True or False ( 20 Points,each 1 point ) 三、 Define the following terms(25points, each.
Ratio Analysis…. Types of ratios…  Performance Ratios: Return on capital employed. (Income Statement and Balance Sheet) Gross profit margin (Income Statement)
Jayendra Rimal. Introduction: Compensation Compensation refers to all forms of financial returns and tangible benefits that employees receive as part.
Leo Ašmanis Deputy Chief Accountant Bank of Latvia March, 2006 Vienna Adoption of IFRS in Latvian banking sector.
Auditing Concepts.

in Construction Industry
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Software Reuse: The Case of the Brazilian Industry
Presentation transcript:

Sixteen Questions About Software Reuse William B. Frakes and Christopher J. Fox Communications of the ACM

Software reuse the use of existing software knowledge and artefacts to build new software artefacts sometimes confused with porting –reuse is using an asset in different systems –porting is moving a system across environments and platforms

The survey Surveyed: –software engineers, managers, educators, and other in the software development and research community About: –attitudes, beliefs, and practices in reusing code and other lifecycle objects Response from –113 people from 29 organizations (28 US and one European) –fairly representative of experienced software engineers or managers at high technology companies

16 questions The survey is used to answer 16 questions commonly asked by organizations attempting to implement systematic reuse. The answers to these questions are often taken for granted in the software community but without empirical verification This article uses empirical data from a survey to answer these questions

Q1: How widely reused are common assets? Are reusable assets actually used, and are they found valuable? Answer: yes and no. –Some assets are widely used (e.g.. UNIX tools) and perceived to be valuable, others are not used by many and are not perceived to be valuable (e.g.. Cosmic collection form NASA) Possible reasons: –lack of information and education –anecdotal evidence suggest that relevant functionality is an important factor

Q2: Does programming language affect reuse? Does certain programming languages provide better reuse support (e.g.. by supporting abstractions, inheritance, strong typing) The data of the survey shows the correlation of 11 languages and the level of organizational code reuse. Findings: –languages usually thought to promote reuse show small correlation (e.g.. ADA and C++) –Higher level languages are no more strongly correlated with code reuse than is assembly language Conclusion: –Choice of programming language does not affect code reuse levels –To increase reuse the focus should be on other factors

Q3: Do CASE tools promote reuse? Many organizations regard CASE tools as a way to improve reuse The majority (75%) does not agree that CASE tools have promoted reuse No significant correlation between the respondents degree of belief in that CASE tools promote reuse and the percentage of actual reuse. Conclusion: –CASE tools are yet not effective in promoting reuse –Reasons: CASE tools may not be used CASE tools may not be used correctly CASE tools may not promote reuse

Q4: Do developers prefer to build from scratch or to reuse? NIH (Not Invented Here) syndrome Statement used in the survey: –”It’s more fun to write my own software than to reuse” Most respondent do not have the NIH syndrome (72%) Conclusion: –Most developers prefer to reuse rather than to build from scratch Contradicts conventional assumptions, but is in agreement with other findings

Q5: Does perceived economic feasibility influence reuse? Reuse may not be done if it is not believed to be economically feasible. Levels of individual and organizational code reuse is compared with respondents belief in the economic feasibility of reuse Clear trend towards higher reuse as belief in economic feasibility increases This trend is verified by correlating code reuse with belief in the economic viability of reuse. Conclusion: –perceived economic feasibility influences reuse –important to convince software engineers about the economic feasibility of reuse

Q6: Does reuse education influence reuse? Comparing education in software reuse (at school) with individual levels of reuse shows that education in reuse does affect code and design reuse –Few respondents (17%) had been educated about reuse in school A similar comparison but with education by organization in software reuse, shows the same. –Corporate reuse education is also rare (19%) Conclusion: –Education in school and at work improves reuse and is a necessary part of a reuse program

Q7: Does software engineering experience influence reuse? General assumption that experienced software engineers are better practitioners The survey shows no significant correlations between engineering experience and personal level of reuse. Conclusion: –Software engineering experience has no effect on reuse of lifecycle objects –Maybe caused by historical lack of training in reuse

Q8: Do recognition rewards increase reuse? Reuse incentives are considered to be necessary catalysts for reuse. –recognition rewards and cash rewards Respondents say that rewards are rare –no cash bonuses –only a few with other recognition Comparing levels of organizational code reuse between the two groups ”rec. rewards” and ”no rewards” show no significant differences Similar findings for individual reuse The findings contradict the common belief that recognition is a sufficient reward for reuse. It may be that only monetary rewards are sufficient rewards

Q9: Does a common software process promote reuse? Respondents generally do not agree that a common software process have promoted reuse across projects This might mean: –no defined common process –the process has failed to support reuse The correlations between the degree of agreement with the statement and the organizational reuse shows –moderate correlation for designs, test plans, and test cases –weak correlations for requirements, code, and user documentation Conclusion –A defined software process that promotes reuse does affect software reuse levels –Gains in process maturity can translate into gains in software reuse

Q10: Do legal problems inhibit reuse? Legal issues e.g.. regarding contracting, ownership are still unresolved Are thought to be a serious impediment to reuse Most respondents (68%) report that legal problems do not appear to be an impediment No significant correlation between levels of reuse and reported inhibition by legal problems. Maybe caused by reuse within organization

Q11: Does having a reuse repository improve code reuse A reuse repository is a searchable collection of reusable assets. Slightly higher median for reuse levels for organizations with a repository Not statistically significant Conclusion –Having a reuse repository does not improve reuse –A repository should not be the focus for organizations trying to improve systematic reuse

Q12: Is reuse more common in certain industries? Respondents were asked to classify their company or business Significant differences in reuse between different industries –higher level for telecommunication –lower level for aerospace industries Reasons not currently known Industries with low reuse might benefit from studying and adopting reuse practice in industries that lead in software reuse

Q13: Are company division, or project sizes predictive of organizational reuse? Small organizations: –Is systematic reuse a realistic goal given the the scope of their domain and limited resources? Large organizations: –Instituting systematic reuse may be unrealistic because of the large investment and time required No significant correlation were found between organizational size and reuse levels Conclusion: –Company, division, and project size are not predictive of reuse levels –Organizations of any size may succeed to institute systematic reuse

Q14: Are quality concerns inhibiting reuse? The distrust of assets developed ”outside” is another aspect of NIH No correlation between: –”software developed elsewhere meets our standards” –”what percentage of the parts you reuse are form external sources” Experience in quality of reusable software have generally been favourable (69% agreement) No correlation between personal reuse level and experience in quality of external software Conclusion –Satisfaction with quality does not influence reuse levels –Does NOT mean that quality is unimportant

Q15: Are organizations measuring reuse, quality, and productivity?? Measuring reuse is important to determine success of the reuse program Few organizations are currently measuring reuse (at most 25%) Quality is more widely measured (42%) Productivity measurement is relatively rare (32%) Conclusion: –Most organizations do not measure reuse levels, quality, and productivity –These organizations cannot properly manage their software processes and products, including reuse

Q16: Does reuse measurement influence reuse? Measuring an activity will tend to increase it. Comparing median level of software reuse for organizations that are or are not measuring reuse. The study shows no correlation Conclusion: –Organizations that measure reuse do not use these measurements to improve reuse levels.

How to improve reuse To improve systematic reuse concentrate on: –education about reuse –developers understanding on the economic feasibility of reuse –instituting a common development process –make high quality assets available to developers