I started my career with large scale NCR computers followed by Borrough’s accounting machines, then moving into a world of IBM mainframes. Over the years I’ve worked with IBM midrange computers, and Intel based servers. I recall that for many years I and everyone else subscribed to the theory that “server farms” were expensive, subject to failures, and complex to maintain compared to investing the same or less money in large scale IBM computers. Today, that is just not the truth. Even IBM is a leader in network computing operating over 40 data centers for the IBM cloud consisting of thousands of machines the vast majority being cheap Intel clones. Yes, they do have IBM Power and zSeries machines in their cloud data centers, but the vast majority are extremely cheap X86 clones. Today a big machine is not necessarily less expensive or reliable than a distributed network of computers. Interestingly enough, IBM is perhaps the largest contributor to the Apache Software Foundation and its HADOOP and related project offerings which provide the software to manage distributed networks and “Big Data”. A key characteristic of this software is distributing data as well as processing across multiple machines in multiple data centers and providing 100% failure proof reliability. You can take an entire data center or any portion of a data center from one to many machines off-line, handle disk crashes, etc. and the system will manage itself. Software developers need not be aware of the physical environment and simply write applications that conform to the guidelines for this type of environment. Mainly using JSON and being stateless. Google is the worlds leader in number of servers with over 2 million servers in their network. The Microsoft cloud has over 1 million, Facebook while secretive about their infrastructure is reported to have about 500,000 as does Amazon. There are many other companies with 50,000 plus machines and hundreds if not thousands of companies today with 500 to 1000 or more machines in their networks. For years major mainframe vendors like IBM have claimed that bigger is better and that you need less people to maintain and support a big machine than networked machines. This is just not a reality any longer. Today you can buy more computing power, support it, and deploy applications at a fraction of the cost of “big iron”. Additionally, you now have the option of utilizing major reputable cloud providers like IBM itself! Why own computers when you can buy processing and disk storage in a cloud from reputable vendors like IBM? You then have no employees supporting your data centers and computer equipment. The saving in labor cost alone is astronomical. Many people claim that security is a big risk when using cloud based computing. The reality is that if you choose a reputable vendor then they provide better security and integrity checking that you can afford on your own regardless of who you are! It is becoming very difficult in today’s world to justifying owning your own computers. If you are small business you can buy an immense amour of computing power for as little as $100 per month! You can scale up to more processing power (at an increased cost) when you need it and the cost goes down when you do not need it. Most pricing is based on a fixe monthly minimum that has set limits on various resources. Contracts are usually written to scale as demand requires and to revert to the original levels when demand decreases. As far as reliability? Choosing your vendor is the key. Make sure they have multiple data centers and that your applications and data are seamlessly replicated across multiple locations. The software now knows about other computers in the same rack, on the same electrical source, etc. Replication is routed through sophisticated algorithms to avoid outages. Additionally you can take hardware off line for failure, maintenance, or software upgrade and it resynchronizes when it comes back online. Look at reputable cloud vendors and compare the cost to what you are paying today. Look at the human resources you get with a cloud and what you have on your staff. Compare skills as well as cost.
First of all let me start by saying that most IT people are loyal and dedicated employees that may have worked for your company for many years. These people work hard within their skill set to support your company and help achieve your goals. Unfortunately, in many business enterprises, you are dealing with an aging population of computer programmers in their mid 50’s to late 60’s. While there is nothing wrong with age what is wrong is the fact that you probably have few if any young people in their 20’s or 30’s working for you, particularly in the area of COBOL or RPG language development.
In the early days of computing, companies like IBM, NCR, Boroughs, and others provided software engineers who wrote computer programs for their customers computers which were sold as accounting machines to the CFO. In the 1970’s demand for computers grew as well as the role of the computer in modern business. The computer moved outside the accounting department and began to participate in all aspects of your business. The demand for skilled programmers grew rapidly. New languages like COBOL (Common Business Oriented Language) and RPG (Report Generation Language) were developed and implemented to enable a larger population of people to learn to program computers and fill a demand as computer usage expanded.
Both COBOL & RPG were taught in junior colleges. Major universities began teaching the COBOL language and private schools opened often with government funding to train computer programmers for great new jobs. RPG on the other hand was easier to learn and was taught by IBM System Engineers in 1 to 2 week classes conducted on IBM customer sites.
In both cases the vast majority of new programmers were former blue collar workers ranging from construction workers to file clerks, to people working on the loading dock of many companies. It was an 8 to 5, Monday through Friday office job with much better compensation.
The folks that you hired or trained as programmers worked hard with what they were taught, but the vast majority stayed focused only on the original language they had been taught. There were some exceptions who embraced computer technology and learned new skills in a constantly changing world, but the vast majority did not. Most RPG programmers know only RPG and nothing else. Likewise for many COBOL programmers.
Over the past 10 to 15 years there has been a dramatic reduction in the number of new RPG or COBOL programmers entering the job market. Today COBOL programmers represent less than 1% of the total computer population and RPG is about .1% (1/10th of 1%). It is becoming increasingly more difficult to hire replacements and many of your staff is reaching retirement age. Total compensation of salary plus benefits are well in excess of $100,000 per year.
Sadly, you are tying up vast sums of your IT budget on people that are becoming less and less productive. Additionally, with the advent of business to business computing via the Internet, sophisticated web sites, and modern technologies such as tablets, smart phones, and now even the potential for Google Glasses you need people with new skills capable of insuring your meet new and emerging business requirements with new technologies.
Walmart refuses to do business with supplier that are not capable of allowing Walmart’s computers to access the vendors ordering system via web services that Walmart has defined to obtain pricing and availability data for products sold by the vendor and place orders electronically. These are not appropriate applications for COBOL or RPG.
Additionally, the world of IT has changed. There are many languages in use today there are many additional skills that no one developer can posses. Many companies including some of the largest have found that it is better to outsource many of the IT positions that were once salaried employees and engage consultants (outsourced contractors) on a project by project basis and contract with outsourcing agencies with performance based agreements for support services.
One major international company that I worked with made this transition by first transferring its own employees to a major outsourcing vendor and then migrated to a project centric labor model. Note that when I say outsourcing, I do not necessarily mean “offshore workers from Indian, China, or other countries”. Outsourced workers could be from your own city and work on your premises. The key is they only work for the duration of a project and provide the skills required for specific projects.
Next time I will talk about how to effectively manage an outsourced labor force.
I spent about 20 years of my career working in IBM’s midrange computer market with the AS/400 which today is an operating system called IBM i that runs on IBM Power Systems hardware. I moved into the AS/400 world from managing IBM mainframe computers. In the mainframe world IBM published extensive documentation that told you precisely how the system worked.
In the midrange market and AS/400 world there was no documentation. IT people I worked with would tell me how they “thought” something work and many treated their “theories” as truth. Much of what they told me didn’t make sense. I got involved with various user groups and got to know a number of IBM folks in the development labs. I also called IBM support and asked questions and got referred to people who could give me definitive answers.
Today a huge population of IT people just “assume” they know what they are doing or are talking about and do not. This is often the cause of security exposures resulting in compromise and loss of critical data, system failures, failed system projects, and many other problems.
This is one more reason I recommend doing an objective assessment of your computer systems and your IT staff.
In my last post we took a look at the costs of owning and operating your own equipment. We looked at the labor cost of people dedicated to just supporting your computer systems, operating them, and the systems software, and security that just creates and maintains the environment where your business systems run. We touched on buying large systems that accommodate your peak period processing even if that period only lasts a month or two on a seasonal basis. We looked at IT’s habit of over buying hardware to insure that the equipment meets its 2 to 3 year life expectancy and any unanticipated application requirements.
Now consider an environment where you employ no one to manage your computer hardware, system security, etc. Will that alone save you hundreds of thousands of dollars? Millions? Now consider paying only for the computer resources you use when you use them. You pay a low rate for your normal processing and then pay more when peak demand hits your system. If your hit with an unanticipated peak period, the system can be set to adapt automatically or at worst case you can increase capacity via a single phone call. In nearly all cases the price reverts to the lowest price when the peak period demand ends.
Consider disaster recovery. Reputable cloud providers have distributed systems that span multiple locations in geographic areas that protect you from natural disaster. Your application runs on all of these systems and both your applications and data are automatically distributed across multiple locations. When a user accesses your system they are routed to the data center and machines that provide the best response for them based on their location. If a cloud vendor were to lose a site the others would immediately pick up the workload with zero down time for you.
Do you have adequate skills on your staff to handle system security? Most cloud vendors provide both security experts that you could never afford to hire as well as sophisticated monitoring software that protects you and your applications. It is critical to the success of a cloud vendor that they protect their clients.
Middleware (software) that you often have to pay thousands of dollars to acquire and thousands more each year in support fees are often provided by the cloud vendor at no additional cost to you.
The downside of cloud computing is that in addition to a number of large, financially stable, and highly reputable vendors, there is an increasing number of vendors that do not provide the quality that the major providers do.
You need to know:
- Where are the machines located? Are applications and data distributed across multiple locations — note many small vendors have a single machine in a single location. Be sure you understand what the disaster recovery implications are.
- What do you pay for? Are there any hidden charges? The major vendors including IBM, Microsoft, and others have on-line tools that calculate your precise costs.
- What software is provided and included in your fee?
- What are the conditions governing seasonal or peak period processing? Will the price revert to the lower level at the end of the peak?
- What are the security resources available to protect you and your systems? Find out about hardware, software, and people.
This is a quick overview, read the book for a more in-depth discussion.
IT Governance first surfaced in the late 1990’s after many major computer system failures and issues surfaced in the global media. The 1990’s saw the recognition that computer systems were essential to the operation of a modern business enterprise. Many audit firms identified a need to review IT Governance in their annual audits and IT organizations scrambled to create some form of governance. In 1998 the ISACA (formerly Information Systems Audit and Controls Association) create the ITGI (Information Technology Governance Institute to define what IT Governance should be.
In the early days of IT Governance many CIO’s created review boards and steering committees internally to the IT organization and were basically a checkbox for annual audits.
Today IT Governance means placing control over computer systems, computer operations, computer system investment, acquisition, and development in the hands of the business owners and managers.
There are two key levels of Governance required. One is at the board of directors (or ownership) level of an enterprise and the other is at the business management level. The driving force is the fact that IT or whatever it is called in your organization should be a service organization that provides systems and resources that support the business. The IT organization does not own or control systems, computers, or technical resources. They are simply the custodians that maintain them at the behest of management.
The role of the Board of Directors or Owners of the Enterprise.
Most methodologies recommend that the board form and fund an IT Governance committee to create policy for the operation of the IT entities within the enterprise such as guidelines on purchasing versus developing software, the return on investment expected from computer systems. Additionally, the IT Governance committee must review IT and computer systems on an ongoing basis to insure that the objectives of the enterprise are being met.
Operational Management and Governance
An executive steering committee consisting of the CEO and senior executives of your enterprise needs to be formed to review all IT activities and projects that exist within your enterprise. Many smaller projects are delegated to functional area executives within the organization often based on cost of the projects. The executive steering committee reviews overall budgetary allocations to the various business units as well as projects exceeding a certain dollar value. They may also get involved with smaller projects that cross multiple areas of the enterprise.
In all cases these bodies are completely responsible for the decision making in terms of requirements, buy versus build, and the cost effective implementation of system projects as well as the ongoing ROI (return on investment) for any given system and or project.
The key here is that the business units are in charge. IT provides services to implement the wishes of the business units.
In my book I point out that while new systems acquisition or development are often reviewed by management it is rare that anyone reviews existing systems to determine if they are still providing the return on investment over their cost of continued support and operations. Many companies find that over 80% of their IT budgets are being spent maintaining old systems with very little new functionality or value being provided. The book explains both the risks of system maintenance as well as the cost factors and risk factors involved. The bottom line is there comes a time when a system has reached the end of its useful life. This is where the board of directors needs to take charge and review findings and initiate financially sound mandates.
When did you first utilize computer systems in your company? Do your systems date back to the 1960’s? 70’s? Are key systems over 20 years old? Do you use vendor software that was written over 20 years ago? The age of the systems is not the real issue. The real issue is how well your systems meet your current business requirements.
It is not unusual to find major systems for order processing, inventory, manufacturing, or other key aspects of your business operations that were originally written or purchased many years ago. Often times you know that there are limitations, but these systems still process your orders, get your merchandise shipped, your customers billed, and perform other critical functions.
What many companies often miss is what these systems are costing your enterprise. Everyone looks at a new project, the cost of buying or building a new system, but few look at the cost of maintaining and running an existing system. Often times systems are supplemented with additional systems on PC’s, the Internet via 3rd party vendors, or even involve manual processing to perform tasks not performed by your systems. These additional systems and costs are a big part of the total cost of your existing systems. Vendor systems have annual maintenance fees that may cost you thousands of dollars and provide a marginal return on your investment.
Often your systems are written in obsolete or rapidly becoming obsolete programming languages that have a shrinking population of skilled people to maintain and support. You may be running on machines sold by major vendors like IBM, Sun, HP, or other vendor that today run the risk of becoming obsolete and being withdrawn from the market place. Obsolete machines, computer operating systems, and programming languages can put you at great risk if the vendors you utilize drop them.
My book “Managing Computer Systems in the 21st Century” shows you how to conduct an objective assessment of your computer systems and your IT staff to determine how well your systems and IT department are meeting the current needs of your enterprise.
Welcome to “Managing Computer Systems in the 21st Century”. This blog is dedicated to helping enterprise management regain control over their computer system from IT and using computer systems to solve business problems and not be toy shop for technologists.