I believe that in the future, almost all layers of the IT infrastructure stack will be more directly driven by business processes. This is the inevitable result of aligning business and IT more closely -- a process that is becoming increasingly important for many (if not most) organizations.
Part of the reason it’s become so important is that competitive pressures have increased to the point where there’s simply less margin for error -- in many cases if a company doesn’t get something right the first time, it will lose revenue, market share, customers, or some other equally important thing. Doing more with less has almost become a mantra for today’s IT managers -- more projects, more competitive pressures, greater risk of failure, yet with fewer resources and tighter timelines. For most managers, it’s become an ongoing balancing act of limited resources vs. a never-ending list of new projects (as well as modifications to existing ones). On the other hand, organizations that are able to align business and IT will be more efficient and effective in delivering products and services, lowering costs while increasing opportunity for new revenue and product opportunities.
For example, let’s take a look at a particularly vulnerable part of the application development process -- the testing phase. Unless you have perfect developers that can magically collect perfect requirements and deliver perfect applications into deployment, testing is an important, if not appreciated, part of the successful application development process. However, even with plenty of automated testing tools and good testing processes available, most organizations still struggle to find the time to adequately test all their applications and modifications before releasing them into production.
Even for the most diligent organization that has formal testing procedures and products in place, testing all applications is simply not feasible or even necessary. In a perfect world, where time and money are limitless, it would be easy to create extensive testing procedures to exercise all the different aspects of every new component, application, or integration solution an IT department developed. But in the real world, testing resources and time are frequently limited to small slices of the overall application development lifecycle. Thus, the goal becomes one of doing the best testing you can, on the most important parts of an application, in the limited time you have.