Reuse Software Requirements to Save Time and Money

Software reuse is a proven productivity enhancer, but it takes some effort up front to make requirements reusable.

Karl Wiegers
Analyst’s corner

--

Graphic by Author

Reuse is an eternal grail for those who seek increased software productivity. People think most often in terms of code reuse, but many other software project components also have reuse potential. Reusing requirements can increase productivity, improve quality, and lead to greater consistency between related systems.

Reuse is not free, though. It presents its own risks, both with regard to reusing existing items and to creating items with good reuse potential. It might take more effort to create high-quality reusable requirements than to write requirements you intend to use only on the current project. This article (adapted from Software Requirements, 3rd Edition) describes some approaches an organization could take to maximize the reuse potential of its requirements.

Just because a requirement exists doesn’t mean it’s reusable in its present form. It could be specific to a particular project. It might be written at too high a level because the business analyst could safely assume certain knowledge on the part of the development team or because some details were communicated only verbally. A requirement could lack…

--

--

Karl Wiegers
Analyst’s corner

Author of 14 books, mostly on software. PhD in organic chemistry. Guitars, wine, and military history fill the voids. karlwiegers.com and processimpact.com