I work for a large financial software company. If I've learned one thing, it's that large companies with the audit and regulatory requirements (like Sarbanes-Oxley and Gramm-Leach-Bliley) of a financial services company are cautious and slow to change; conservative if you will. Among the IT managers and upper management of these companies, there is hesitancy towards changing technologies or embracing new ones. The frustration for me is that I believe such technologies would result in cost savings, quicker time to market, less headaches, or all of the above. But I also understand that when a company already has many millions of lines of source code that work and have been in production for quite some time, why "fix" it? It is a risk.
One of the key factors to overcoming this dilemma is to reduce the footprint of the future code. And one major way to reduce the footprint is through the utilization of implicit functionality. For ASP.NET, there are a great number of implicit features that can be utilized in enterprise web applications, such as ASP.NET security, schema serialization, health monitoring, data binding, navigation, caching, resource management and localization.
There is also a middle ground between implicit and explicit that I like to call Partial Implicit. I have utilized Partial Implicit code, as many of us do. In one project, I overrode the default Sitemap provider and implemented my own on top to connect to SQL Server. But I was able to use the underlying implicit model to do so. I didn't have to write every single line of code for authentication or authorization. It was handled for me.
The more features that can be implemented implicitly or with partial implicity the better. One of the things I have noticed in speaking with technology executives and IT managers is that pointing out the implicit features that require no coding, unit testing or maintenance, and that are supported by a large, reputable company such as Microsoft always helps to solidify a technology argument.
Notice: The views and opinions expressed in this post are strictly mine. The contents of this post have not been reviewed or approved by anyone else, and may or may not represent the views of my employer, or anyone else for that matter.