>I'm pitching a new Asp.Net WebForms app to a client. Is it a fair statement to tell him it will easily have a 5-7 year life span? Meaning that I (or some other dev) could continue to enhance it for their business (as we know it today), and that he will be able to get Asp.Net web hosting accounts for it (or at least IT folks who still know how to do it in house), and a user experience that will be acceptable along the way before it seems too aged near the end of that 5th, 6th, or 7th year.
My personal opinion on this topic is that a life duration of an application depends mostly on the infrastructure on which it relies on, which includes among other things, the way it has been been in regards to OOP, powerful classes, generic code, multi backend supports and so on. For example, if one of my clients tells me if the application will continue to be used if they have to change the backend to Oracle, well it will because it wouldn't need any recompilation. Building today's application requires a lot of thinking ahead of time so it will last as long as possible. On the long run it will cost less for the client but maybe a little more at first. Of course, using actual technology is a must. I wouldn't get involved in delivering something a client would ask me to build with used technologies. My range is within the 7 year timeframe, while the requirements are usually to have it ok for 5 years.