Software reuse is the use of existing artifacts to build new software components. Software reuse also ensures that teams aren't reinventing the wheel when it comes to solving repetitive problems. Software libraries, design patterns, and frameworks are all great ways to achieve this