---
title: "Benefits and problems of reuse; reuse planning"
subject: "Software Engineering"
chapter: 5
key: "semester_5/software_engineering:reuse-benefits-problems"
source: https://www.bctengineer.com/q/semester_5/software_engineering/reuse-benefits-problems
site: BCT Engineering
---

# Benefits and problems of reuse; reuse planning

Software Engineering · Chapter 5: Software Reuse

- Asked in: 2068 Chaitra, 5 marks; year not given, 5 marks
- Video: [Software Reuse](https://www.youtube.com/watch?v=ij13h9O7Fms) — Kriti Jandrotia
- Answer checked by Claude Sonnet 5.5 on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/software_engineering/reuse-benefits-problems
- Whole chapter: https://www.bctengineer.com/md/semester_5/software_engineering/chapter-5

## Question

What are the benefits and problems of software reuse? What factors need to be taken care of for software reuse planning?

## Short answer

Software reuse gives increased dependability, reduced process risk, effective specialist use, standards compliance, and faster development. Problems include higher maintenance costs, weak tool support, not-invented-here syndrome, expensive component libraries, and difficulty finding/adapting components. Reuse planning must consider schedule, software lifetime, team skills, criticality, domain, execution platform, and cost.

## Answer

**Software reuse** means building new systems from existing software assets (components, designs, whole applications) instead of developing everything from scratch.

#### Benefits of software reuse
1. **Increased dependability** – reused software has been tried and tested in working systems, so its faults are already found and fixed.
2. **Reduced process risk** – the cost of existing software is known, so cost and schedule estimates are more accurate.
3. **Effective use of specialists** – experts build reusable components once instead of repeating the same work in many projects.
4. **Standards compliance** – standard components (e.g. a common UI library) make all applications look and behave consistently.
5. **Accelerated development** – less new code means faster delivery and lower cost.

#### Problems of software reuse
1. **Increased maintenance costs** – if the source code of a reused component is not available, maintenance becomes harder as the system changes.
2. **Lack of tool support** – CASE tools may not support development with reuse.
3. **Not-invented-here syndrome** – engineers prefer to rewrite components, believing they can do better.
4. **Creating and maintaining a component library** – building a well-catalogued library and keeping it up to date is expensive.
5. **Finding, understanding and adapting components** – engineers must be confident a component is correct and fits before using it.

#### Factors in reuse planning
1. **Development schedule** – a tight schedule favours reusing COTS systems or large components.
2. **Expected software lifetime** – long-life systems need maintainability, so access to source code becomes important.
3. **Background, skills and experience of the team** – reuse technologies (frameworks, generators) need specialised skills.
4. **Criticality and non-functional requirements** – safety-critical systems may need certified components and full source code; strict performance needs may rule out generated code.
5. **Application domain** – some domains (e.g. ERP, banking) have ready-made product lines and frameworks.
6. **Execution platform** – components must be compatible with the target hardware, OS and middleware.
7. **Cost** of buying, adapting and integrating components versus building new ones.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Why does reuse increase dependability?
   A. Reused software is smaller
   B. Reused software has been tried in working systems and its faults fixed
   C. Reused software needs no testing
   D. Reused software is always free
   Answer: B. Components used in working systems have had their faults found and fixed. (Key point: Dependability benefit)

2. What is the not-invented-here syndrome?
   A. Components cannot be found
   B. Licences forbid reuse
   C. Libraries are too costly
   D. Engineers prefer to rewrite components, believing they can do better
   Answer: D. Engineers distrust others' components and rewrite them. (Key point: Not-invented-here)

3. Why can maintenance cost rise with reuse?
   A. Source code of a reused component may be unavailable
   B. Components are too small
   C. Standards are enforced
   D. Specialists are not used
   Answer: A. Without source code, maintenance becomes harder as the system changes. (Key point: Maintenance problem)

4. Which planning factor favours reusing COTS systems or large components?
   A. Long software lifetime
   B. A tight development schedule
   C. Safety-critical requirements
   D. Strict performance needs
   Answer: B. A tight schedule favours COTS; long life and criticality favour source access. (Key point: Reuse planning)

## Related in Software Engineering

- [Application framework versus component reuse](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aframework-vs-component-reuse) — Software Engineering, chapter 5
- [Short note: generator-based reuse](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Agenerator-based-reuse) — Software Engineering, chapter 5
- [Reuse framework versus program generator](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aframework-vs-generator) — Software Engineering, chapter 5
- [Design patterns and their benefits](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Adesign-patterns) — Software Engineering, chapter 5
- [Benefits of CBSE; CASE code generation](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Acbse-benefits-case) — Software Engineering, chapter 6
- [Top-down integration problems; regression testing](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Atop-down-integration-regression) — Software Engineering, chapter 8

## Related in other subjects

- [Short note: Planning software, MS Project](https://www.bctengineer.com/question.md?key=semester_7%2Fproject_engineering%3Aplanning-software-ms-project-note) — Project Engineering, chapter 3, asked 2×
- [Job layout and site planning factors](https://www.bctengineer.com/question.md?key=semester_8%2Fconstruction_management%3Ajob-layout-site-planning-factors) — Construction Management, chapter 6, asked 2×
- [Factors affecting system expansion planning](https://www.bctengineer.com/question.md?key=semester_8%2Fpower_plant_design%3Asystem-expansion-factors) — Power Plant Design, chapter 2
- [Notes and summary: primary health care](https://www.bctengineer.com/question.md?key=semester_5%2Fcommunication_english%3Anotes-summary-primary-health-care) — Communication English, chapter 1
