Monday, June 23, 2008
Software Reuse is Bad For You
Yes, my professor in the University warned the class about it. Software reuse is bad for you. ( Well, take it with a grain of salt... ) Imagine this: you have a colleague. He spent time doing a 'good' design. He implemented patterns with factories, complex class hierarchies, abstraction, separation of concern, etc. Now, 4 years later, you will port the code to a new framework. You'll probably 'reuse' the inspiration from the User Interface and that's about it. Was his effort worthwhile? What is this balance between shelf-life, development time, source code elegance and time-to-market? At the end of the day, the carefully designed product may have features so complex (and so buggy) that the customer won't even use them. Well, the customer actually asked for the features, but didn't realise or grasp or appreciate the complexity and all ramifications. Or perhaps he/she ultimately didn't need it in the first place. At the end of the day, the developer will likely be assessed by the 'quality' (complexity?) of his code alone. Is it fair that he/she reuses and gets the bonus, while the customer gets more expensive, bloated software?