Reuse helps to decrease development time, code errors, and code units. Therefore, it serves to improve quality and productivity frameworks in software development. The question is not HOW to make the code reusable, but WHICH amount of software components would be most beneficial, that is, cost-effective in terms of reuse, and WHAT method should be used to decide whether to make a component reusable or not. If we had unlimited time and resources, we could write any code unit in a reusable way. In other words, its reusability would be 100%. However, in real life, resources are limited and there are clear deadlines to be met. Given these constraints, decisions regarding reusability are not always straightforward. The current research focuses on decision-making rules for investing in reuse frameworks. It attempts to determine the parameters, which should be taken into account in decisions relating to degrees of reusability. Two new models are presented for decision-making relating to reusability: (i) a restricted model and (ii) a non-restricted model. Decisions made by using these models are then analyzed and discussed.