I'm working on a list of reasons for my team to move from webforms to MVC and I thought a good place to start was showing the "why we should migrate" with a set of things both classic asp and webforms have in common.
Such as:
Spagetti Code (violation of SRP)
Classic ASP - each .asp file felt like a big ball of mud
Webforms - this big ball of mud went from the view to the infamous "codebehind"
Keep in mind that my developers are not the type to implement something like MVP w/out being pushed and this is part of the reason I like MVC (although keeping the controllers thin will be a learning experience)
Update I'm aware that you can create a mess in any language on any platform. I'm also aware that MVC won't solve this. I'm also aware that some real mentoring needs to be done to get a team writing a mess to understand why this is hard to maintain. But I feel that this opportunity is one that will allow me to express the need for SOC/Responsibility Driven Design/Testability/etc.
About writing more maintainable software with webforms: From my experience implementing a presentation pattern like MVP in webforms to respect SRP/increase maintainability/enable unit testing/etc is a LOT more work than using MVC out of the box (and you get the same results). Does it work - yes and I have had success with this approach in the past. But if I could instead leverage a much more natural approach to web development that was baked into the platform, I would.
I was looking for someone to point at things that the average 9-5 developer "wanted" to get away from when they wrote classic asp but after they got into webforms never follwed through with. (again - most of the developers I work with simply took the mess they complained about in classic asp and moved it to the code behind and "thought" this was a step in the right direction).