My experience is that teams keep making the same mistakes over and over again.
For instance, so often the creators of some business app have a form that has room for 4 phone numbers and then they hit a case where there need to be 5 phone numbers and the client needs it yesterday.
A year or two later, you've moved on, and some other guy is going to need to add a 6th phone number field.
If the thing had been built to take an arbitrary number of phone numbers at the very beginning it all would have been so much cheaper.
I blame drifting requirements much less than I blame general incompetence for this sort of BS.
For instance, so often the creators of some business app have a form that has room for 4 phone numbers and then they hit a case where there need to be 5 phone numbers and the client needs it yesterday.
A year or two later, you've moved on, and some other guy is going to need to add a 6th phone number field.
If the thing had been built to take an arbitrary number of phone numbers at the very beginning it all would have been so much cheaper.
I blame drifting requirements much less than I blame general incompetence for this sort of BS.