I think there's a myth that rewriting software is bad, or at least a symptom of badness, and "reusing" software is ideal. But writing software is really like creating plans: plans for what the machine should do. Of course there is much room for reusing old plans as components of your new plan. But still every plan must be about what is needed at the moment, not about reusing existing plan-components. In human communi…
Actually a lot of mechanical manual work we do are subroutines.
Examples
1. Make an omlette (params like: which kitchen or ingredients are derived from context)
2. Change engine oil
3. Take blood sample