Re: re: it was deemed over-engineering to cater for anything other than the specification required
"Why are you writing software that goes beyond the specification?"
Because any fule can see that version 2 will need some of the extensions that you are now making room for and unless you are *planning to go out of business* you need to be able to deliver version 2. Adding new features is always cheaper during the planning stage, so it makes sense to plan version 2 whilst you are writing version 1.
"Who's paying for your time to do this?"
Your *next* customer. (Ideally, that is your current customer in a year's time. I say "ideally" because existing customers are easier to find than new ones.)
"Where's the value to the business?"
Staying in business. Not having to find a completely new product, design and implement that product from scratch, and then find customers for that product who haven't met the customers for your existing product that is now tanking badly and dragging your reputation through the mud.
Of course, if you are the kind of IT pro who jumps from one job to another every couple of years to avoid the trail of shitstorms you are leaving in your wake, the future of your current employer may not be important to you. But your employer might care.