I just finished a manuscript of a new book tentatively titled "Managing Computer Systems in the 21st Century". This will be published by MC Press soon. I am also building a consulting practice based on the principles set forth in this book.
What I am finding is that most companies do not take firm control over their computer systems or IT organization. I do not like the term IT (Information Technology) because I do not like the word "technology" which implies a focus on technology. Interestingly enough the term Information Technology and its subsequent abbreviation to "IT" can be traced back to a 1958 Harvard Business Review article by Leavitt and Whisler taking about the future of computer based technology and claiming that the new technology needed a name. It wasn't until the late 1980's or 1990's when the term became popular.
Your computer systems organization should be a service organization and not have its own initiatives. It only needs resources including hardware, software, networks, etc. to support the business objectives of the business enterprise it supports.
We have lost track of the reason that computer systems exist over the years and we have focused on "technology".
Enterprises who have control over their computer systems (and the department that supports them) have a strong governance program starting with the board of directors and moving into steering committees headed by the senior most executives in the company.
All projects should originate from key business units of the company and be under the responsibility of a business unit executive. The value and justification for a project should be that of the business unit. It is your computer systems department's responsibility to provide the resources required to implement projects. They must provide high quality services in a cost effective manner and deliver the services in the time frame agreed to prior to project initiation.
The IT or computer systems organization must provide services at competitive costs with external vendors or even offshore contract service providers. Attitudes about the value of in-house programming or development (or even in-house equipment and technology) need to change.
All that is relevant is that the company's computer systems and new systems projects are meeting business objectives.
Throughout my career a goal was to build computer systems that were stable, durable, and could last for years. With today's constantly changing business environment, we are now looking at disposable systems. Today you can build a system for a specific customer, problem, or business opportunity that may cease to exist within a relatively short time. It is up to the business to determine if their is an adequate ROI to justify the development of the system with the idea that it will be discarded when the business requirement no longer exists.
That is quite a concept. Many of the systems that currently exist in many major corporations no longer have a business reason to exist. They simply exist because they always have existed and no one has the knowledge to know where the system "might be used". It is deemed safer to just keep them around.
Modern computer systems management positions IT or the computer systems organization as a service to the business units and positions business unit executives with full responsibility for all system projects. A structured approach makes most sense where key business unit executives have discretionary authority to approve projects below a certain cost that only affects their area of responsibility. Projects that exceed the cost limit, or affect multiple areas of the company must be approved by the corporate steering committee consisting of the CEO and senior executives and must have a single executive responsible for the project.