In software development, reusability is a major goal. But without clear requirements and practical alignment, reusability can quickly turn into over-engineering.
Reusability should speed up development, not constrain it. Too many parameters, inflexib...