Sunday, August 3, 2014

System Modernization

Where people are today:


Do you use IBM Mainframes, IBM i (OS/400) based systems?  Do you have a large inventory of custom written COBOL or RPG programs? Do you use CICS 3270 or IBM 5250 green screen applications?

Do you have an inventory of old mainframe based 3rd party systems running on your mainframe or IBM i system?

Today, the cost of the hardware alone is a major factor driving many companies to seek alternatives.  The average mainframe runs between $4 and $15 million to purchase.  Add to that monthly software rental for zOS based IBM software often scaling between $30k and $100k per month and you have one huge base cost to justify in hardware and basic system software that does nothing for you other than to provide a base platform where you can install your own home grown systems or those purchased from various 3rd party vendors.

The IBM i environment is a bit less expensive with hardware plus OS base costs ranging between $20k for a small machine that does very little and usually requires many machines to support your company to about $2 Million for a large high end machines.  Again add the cost of 3rd party application software or the cost of maintaining in-house developed systems.

Add to all of this the cost of disaster recovery.  That can vary depending upon what approach you take.  Some companies operate their own backup or redundant data center and use various software products to replicate programs and data to the back up site.  Others use service bureaus with a strategy of loading backup media should a disaster occur.

Look at your people cost!  Even in small mainframe shops you will need several people dedicated to supporting the IBM software that runs the machine.  You need additional operators, capacity planners, performance managers, and other specialists that provide no value other than to keep the machine and its software running.

IBM i is a bit better in that respect as you can get buy with between 2 and 6 specialists for most small shops.  The number grows with the size of your IT organization.

Next, lets look at your existing staff.  If your primary legacy languages are RPG or COBOL, look at the people that support your applications.  Many of these folks are in their sixties and many at or beyond retirement age.  You can lose many of these people each year for the next several years.  Note that you probably have few if any developers under 50 years of age with the skills to support these applications.  This is becoming an increasingly high risk.  Additionally it is becoming exceedingly more difficult to replace these people when they leave.

Are COBOL and RPG applications dead?  Well, the fact is that thousands of companies continue to run millions of COBOL and RPG programs.  These programs were developed over the past 50 years and have been modified countless times over the years.  While many of your mainframe systems were extremely well designed when they were first created, the sheer number of changes by a large number of programmers over the years with varying skills have placed the maintainability of these programs at significant risk.

Modifying one of these programs today can result in production system failures, even with extensive testing prior to deployment.  Often times you make a modification only to find that the modification was required not only to one but many programs and that you missed some of these programs.

Many companies find that they spend well in excess of 80% of their IT budget on maintaining old systems.

The need to move away from old COBOL or RPG based systems as well as expensive proprietary IBM hardware and system software is increasingly clear.  Risks and Costs are increasing, it is becoming difficult to find experienced staff to support your systems and mandatory modifications can cause system failures.

There are cost effective alternatives.

Cloud Computing

The direction that many organizations are taking is to prepare for and move to cloud computing.  While there are variations in the implementation of cloud computing including some people who claim you can build your own cloud (not a good idea), the best definition is the use of computers hosted by a reputable 3rd party company with a strong financial footing that will survive changes in our economy.

This company must have resources spread across multiple locations with the ability to replicate your data and programs across multiple locations eliminating the need for specialized disaster recovery.  The vendor should provide automatic real-time failover meaning that if a location were to be destroyed (earthquake, flood, or other natural disaster) that your systems would continue function at a minimum of one and preferably several alternate locations.

In a cloud environment you pay a monthly fee for computer resources consumed.  You generally pay based on CPU usage, DASD storage usage, and BANDWIDTH (telephone traffic between your users and the computer sites).  Normally these companies calculate and offer you a fixed monthly price that covers up to a maximum CPU, DASD, and Bandwidth utilization.  The contract has provisions on how to charge for usage over the agreed upon maximums and allows you to immediately via vendor provided software to readjust your agreement increasing or decreasing your agreed upon usage in real time.

You then upload software to the cloud and run it using REST based API's.

In my next post we will discuss approaches on modernizing old legacy systems and the risks associated with various approaches.


References:
 IBM cloud efforts intensify as System z, Power hardware revenues tank
Gartner IT Spending Analysis

Saturday, May 24, 2014

System Documentation?

I've been speaking to a number of very large IT organizations many which have large IBM mainframes, and a host of other systems dating back to the 1950's.  The common thread is that very few companies have any documentation of systems that have spanned over 50 years of use.

The knowledge of these systems is contained in the heads of developers that are nearing retirement age.  As companies lose key people, they lose tremendous knowledge of existing systems.

In a world where we have tools to automate documentation of systems few companies have invested in these tools.  I am astounded that companies put themselves at risk over a tiny sum of money when compared to the total IT budget.


Friday, March 28, 2014

IBM Watson and Cognitive Computing

Almost everyone knows that IBM put their Watson computer system up against humans to win Jeopardy and made headlines.  What many do not know is that IBM in January created a new business unit at the highest levels of the company headed by a Senior Vice President (Mike Rhodin) with a huge investment dedicated the commercial implementation of Watson and Cognitive Computing.

First let me give you the link to a YouTube video of the announcement.   Let me caution you that this is a 2 hour video so allow yourself plenty of time to watch this.

The whole point of Watson is for you to interact with a computer system, process huge amounts of data, find relevant facts, issues, and opportunities that you could not have found with a mere human brain.

Examples include the medical profession where huge sums of research are analyzed in addition to patient information to come up with suggested courses of treatment along with the probabilities of success.

Retail systems that ask you what you want and find exactly what you need based on your requirements.

Travel systems that customize trips to your needs and desires.

The list goes on.

IBM has dedicated ⅓ of IBM Research to Watson and is currently working to have it learn to hear and understand what it is hearing, to see by interpreting content in still and video images, and much much more.

Click the link and watch the video.  This is an example of a major company like IBM shifting directions.  Please note that Watson is based on IBM super computers, Big Data, and Cloud computing.  IBM has promised a sandbox where everyone can interact and experience Watson.  I'll post more once I try it out.

Sunday, March 9, 2014

Big Changes in Computing

I've been following IBM's Q4 results along with its 2013 year end results and statements being made by Virginia Rometty, President and CEO about IBM's future.  It is clear that Cloud and Big Data are IBM's strategic direction.

In Rometty's letter to shareholders she was pretty clear about big changes in IBM's Power Systems division in light of its dismal 2013 performance.  She indicates a clear focus on Linux and participation in Cloud and Big Data.

See: Letter to Shareholders, 2013 Annual Report

It seems that Ms Rometty may have spoken to soon and too harshly in her letter above as a news release came out on Saturday, March 8, 2014 The Street published a letter from Rometty stating "We are not getting out of the hardware business"

We are we? Or are we not Mr Rometty?

This whole debacle is the result of IBM hardware sales being down by over 18% year to year and actually generating a substantial operating loss.  There is followed reports of over a 25% world wide reduction in staff for IBM STG (Systems & Technology Group -- responsible for computer hardware)  in all areas from sales to manufacturing and support.

So what does all this mean?

It means that Cloud computing is where IBM see's the future.  Instead of owning computers as in the past with all the technology challenges, security challenges, and risk, organizations like IBM, Google Amazon, and others will become utilities selling computer resources as a service and providing a vastly superior service than owning your own systems.

Just something to think about.

Sunday, January 12, 2014

How Effective are Your Systems?

Many companies today are using systems that were built 20, 30, or even 40 or 50 years ago and modified constantly over time as the business has changed.

It is time to stand back and take an objective look at the functionality and cost effectiveness of these systems.  In all too many companies, both corporate and IT management avoid the thought of making major changes to their computer systems and adopt the infamous adage:

IF IT AIN'T BROKE DON'T FIX IT!

Well, guess what?  If your systems have been around for many years they are very likely broke and very likely costing you a fortune for systems that do not meet today's business requirements.  Have you heard young people say why can't we have this, or why doesn't the system do that?  The answer seems to be it just does...

In today's world of constant change, you cannot leave your systems alone, but must at a minimum modify them to meet current regulatory requirements or other pressing and mandatory changes demanded by your business operations.  How long does a change take to make?  What does it cost you?  What risk do you incur when modifying old systems.  In this and the following series of blog posts, I will attempt to address some of these issues.  My new book "Managing Computer Systems in the 21st Century" (http://www.lulu.com/shop/robert-cancilla/managing-computer-systems-in-the-21st-century/paperback/product-21351531.html) give you a step by step approach to assessing your systems.

In my book I describe the following methodology for assessing your systems and formulating a strategic plan to insure your systems meet your needs.  It includes the following elements:

IT Governance

Make sure that you have a strong set of IT governance processes and procedures in place that insure that your board of directors (or owners) and your senior business executives are not only involved but in direct control of all system initiatives and expenditures.  Your IT organization should be providing services, not dictating what should be done...  The business must control all IT expenditures and initiatives...

Validate Your System Requirements

Meet with key functional area (i.e. the head of sales, marketing, operations, accounting, etc.) executives and determine what their expectations of computer systems support for their area of the company are and should be.  Additionally obtain their opinion of how well existing systems are meeting these objectives.  Identify additional people within the executives organization and in the operational areas of the company to interview to drill deeper into the system requirements.  The objective of this process is to collect requirements from the users as to what the systems should be doing, how well they are doing it, and what could be better or is missing.

Assess the Systems

Look at the programming languages the systems were written in, the quality of the code, the number of defects reported, the severity of the defects, the frequency defects are reported, and the time and cost to resolve defects.  Also look at the number of enhancement requests implemented over the previous year and how many are in a queue waiting to be implemented.  If the queue is significant determine the reasons for the delay.

Look at the computer hardware and the cost of the hardware required to support each system.  In addition to the actual system and hardware, look at the cost of middleware such as database management systems application servers, etc. required to support the system.  Look at the people required to support the physical environment and keep the systems running.

Also determine if there any features in the systems that make them unique or provide a specific competitive advantage over other companies of the same type.

Assess Your IT Department

Collect a skills inventory from the people who work in IT and evaluate the workload of each person and any objective metrics of quality and productivity.  How many projects they have worked on, duration, defects, etc.

Evaluate your Assessment Data

Based on the data you have collected determine how well each system meets the business requirements you have identified and how reliable each system is as well as the cost of the system.  Look at the cost and value based on modern alternatives.

The result of this assessment is to determine whether systems are cost effective and meet business requirements or need to be replaced or perhaps modernized.  Additional work may be required if modernization is an option to determine the cost of modernization.

All of this should result in a business centric strategic plan to modernize your IT organization and computer systems.  It may involve outsourcing and replacing employees with external contractors.  It may involve purchasing new systems or using open source software.  It may also involve looking at cloud computing and moving from company owned hardware to reputable cloud provider systems.

A key issue is who helps you do the assessment.  You need someone who is objective and has no preconceived notions of the outcome...