Earlier quoted context omitted.
Well, I'm assuming we're comparing code that works. Maintenance is generally a red herring, it's best to use statistical methods to determine the likelihood of maintenance. Usually if you're doing lots of maintenance you have other problems in your code / workflow, such as mistaking your codebase for your database.
"Well, I'm assuming we're comparing code that works." That is an interesting assumption given that in many problem domains proving that the code works as specified is the hardest problem. "Maintenance is generally a red herring, it's best to use statistical methods to determine the likelihood of maintenance." I really dislike anyone who makes general claims about the entirety of software development. I for one spend…
Actually 'change requests' are even easier when the requirements change frequently, just provide an estimate in excess of when you think the next change will be, then put your feet up and wait for the requirements to change again.
PS. Changing requirements isn't 'maintenance', it's a change request.
PPS. Having to add code to add fields to a form means you spec'd your solution around your forms instead of specing your solution around solving the problem of changing forms. (aka. you baked your problem domain into your code and now you're fucked) (eg. you mistook your codebase for your database)