Reusability – Project Update #8

Reusability

Hi there,

For the last week, I was thinking about reusability, and how I could implement that in my project (you can find more information about it here) since I’ve developed one PaaS application in the past.

Definition of Reusability

 Reusability is the practice of leveraging prior work for future success 

This process is especially important in disciplines where the product is developed manually, e.g., software programs and services. Therefore, the ability to reuse existing parts from previous projects may improve software quality, productivity, and developer’s capability.

 

Reusability
Source

Advantages of Reusability

Reusability in work environment is not only about using code oriented techniques such as object-oriented programming (classes, inheritance). It encompasses many more artifacts when developing a product. Table 1 presents most common reused artifacts.

 

Reused ArtifactsTable 1: Reused Artifacts

 

Reusing these artifacts allows a company to have improved software quality because the components have probably been used in similar projects before and have already been tested. The final product also has shorter time-to-market because the new development input required to finish it is smaller than it would be if the company started from scratch. Therefore, the total cost of developing is lower. The process of reusability also increases developer’s productivity because they can focus on developing new features, and on leveraging their technical experience instead of creating the same paperwork (Lim).

 

Project Update

At this point, I’m considering reusing some of the code and architecture design.

 

 


Works Cited:

Biggerstaff, Ted J.,  Alan J. Perlis. Software Reusability Volume I Concepts and Models. 1989

Birmingham, David C., Valerie Haynes Perry. Software Development on a Leash. 2002.

Lim, Wayne C. Managing Software Reuse – A Comprehensive Guide to Strategically Reengineering the Organization for Reusability. 1998.

Jones, Capers. Applied Software Measurement Assuring Productivity and Quality. 1996.

Biggerstaff, Ted J., Alan J. Perlis. Software Reusability Volume I Concepts and Models. 1989