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...

Saturday, December 14, 2013

My New book

Well, Its finally done and publuished.  My new book entitled "Managing Computer Systems in the 21st Century" is designed to guid business executives through the process to assessing and evaluating both their current systems and their IT staff to determine if both are meeting and supporting today's business enterprise.

I've worked over two years on this book and brought almost all of my 45 years of IT management experience to this work focusing on what has happened to systems and IT organizations today.  I've also taken a look at alternative means of supporting computer systems such as cloud, outsourcing open source.  I have taken a look at the impact of social media, modern devices like tablets and smart phones and a key emerging technology: Big Data.

I hope that people find this book valuable and use it to take an in depth introspective look at their IT organizations and the computer systems they are using today.

It is available on Lulu.com -- Click Here

Sunday, August 11, 2013

Will NSA Spying Affect Cloud?

I've recently read a couple of articles suggesting that customers will now avoid cloud computing because of the NSA (National Security Agency) forcing major commercial vendors like Microsoft, Facebook, Google, and others to provide access to their customer's data.

I think these authors are trying to make a name for themselves with no solid facts to back them up and scare people in the process.

The bottom line of all of this NSA spying is that if you have something subversive to say against the U.S. Government, keep it out of your computer systems and web sites!  The United States government and most governments will not be going after your customer lists, trade secrets, etc. that if compromised could cause you damage!  So even if the NSA scans your web sites or private data stored in a cloud based environment what is the risk?

Governments like France, China, and others have been scanning their citizens data for years!  The NSA which generally keeps an incredibly low profile has been monitoring world wide communications for decades now.  They captured voice transfers, digital transfers, encoded transfers and decoded them, and have for years.  Other governments have done exactly the same thing.  So what is the issue?

On a personal level, I do not like the idea that the NSA or any other government agency can look at my communications, but then again, I am not terribly worried as I am not saying anything that would cause me a problem.

From a purist sense, I think it is a violation of our civil rights for NSA to look a a US Citizen's data without a court order, but the idea of scanning data sources, cloud data, etc. is not that big a deal.

I think that as companies become more and more aware of the value of cloud computing which many are pursuing in lieu of their own local data centers they will continue to rapidly move to the cloud regardless of snooping by NSA or any other agency.  I also think you will see new and stronger encryption and security measures implemented as a result of this and the threat that government decryption technology may get in the wrong hands.

Cloud and security businesses will continue to grow at astronomical rates and many companies who have had in-house data center's for decades will abandon them to the cloud!

I for one feel very strongly about the value of cloud computing.  It is interesting but Thomas Watson's 1943 Quote "I think there is a world market for maybe five computers." may finally becoming true :-)

Friday, July 26, 2013

The lost art of User Interface Design?

I have recently had to visit over 100 websites of different types, fill out forms of different types with all sorts of information required.  I have been appalled at the horribly low quality of human engineering that goes into these designs in 2013!

We have more powerful technology available to us today than we have ever had, yet web form designers seem to be stuck in the dark ages.

Just today I visited nearly twenty different sites asking me for both personal information and info about my company.  I dutifully filled out the forms, but was appalled when:

I was not properly prompted for amounts in amount fields, dates in date fields, and none of these errors appeared until I hit the submit button!  Then to add injury to insult all of my entries were cleared and I had re-enter everything.  One side had a prompt "Enter amount as $100,000 annual fee" which you would presume wanted the text!  I have no idea what they wanted as I tried everything I could think of and nothing worked...  You guessed it I had to start over each time I hit submit...

In today's world with AJAX, JavaScript, PHP, Java and other sophisticated web development tools there is no excuse for web forms that do not validate entries in real time and prompt the user for the correct formats.  Heck with AJAX you can validate in real time against a remote database.

One of my pet peeves is why web sites that require name and addresses do not do things like look up the City and State (for US locations) from the Zip Code?  This is simple SOA call to the USPS web services.  It makes life easy for the user and validates your address entry process!

Do you recall when we eliminated "Systems Analysts" creating a morphed monster called a "Programmer Analyst"?  We lost all of the business expertise of the "Systems Analysts" and got programmers who needed help finding their home after work!  It appears that companies that once employed human factors engineers or at least people well trained in UI design have let those folks go and now have a trained ape developing web pages!

We bring new and exciting technologies like speech recognition at unthinkable levels of quality, or Big Data analysis that can understand written posts on web sites and make perform incredible analysis of the written word to the point of determining if an author is male or female by their writing style.

Wonderful new things every day, but we can't validate a number field?  HELLO?

Tuesday, June 11, 2013

Cloud Computing - Buyer Beware

I feel that Cloud Computing is a huge part of the Next Generation in Modern computer systems.  

Cloud computing can mean many things depending on who you talk to.  To me Cloud represents a web based system that runs on a vendor like LiquidWeb.com, RackSpace, or Amazon where you can rent dedicated or shared virtual hardware and middleware for a small monthly fee.  The vendor provides and supports the servers, operating systems, communications, and in many cases much or all of the middleware needed to run your applications. A cloud hosting company generally has multiple geographically separate redundant data centers with fully replicated systems to provide uninterruptible availability.

If you eat organic food, you know that there is no official definition of "organic"!  Likewise, there is no official definition of "cloud".  Therefore anyone who provides some kind of hosting or applications run on computers that they own on your behalf can claim to be "cloud" providers.

Captive Proprietary Systems

The biggest one claiming to be a "cloud" provider is Oracle who runs their application software on their machines and rents you the use of their systems.  A similar company is Salesforce.com offering their CRM systems which are hosted on their computers.  The downside of both companies is the fact that both your data and their applications are stored on the vendor's computers.  If you wish to move to another vendor or application package you may have issues in retrieving your data and you most certainly will not be able to utilize their software.  In other words you are locked into the vendor and their system.  I've only mentioned two large vendors, but there are hundreds exploiting this model.

Note that what I consider a viable alternative to the model described above is Software As A Service where you store data on your systems, but link out and run programs on the vendors systems creating a hybrid, but not true form  of cloud.

Disaster Recovery Systems

Some disaster recovery companies including huge companies like SunGard, VMWare, along with many others are offering varying degrees of what they call cloud computing.  There are various limitations of these solutions.  They are design to provide a disaster recovery solution for companies who have their own hardware.

One company in the Southern United States specializes in supporting IBM Power Systems including support for the IBM i operating system.  This company helps you replicate your IBM i data to one of their systems and assists you in switching to their system in the event of an emergency or disaster.  The biggest limitation of this vendor is the fact that they have only one data center located in a major Southern city where many of their clients are located.  It is entirely possible that a hurricane could destroy both the vendor's data center and their customers data centers leaving the customer completely under water with no back up system.

A major disaster recovery system needs to provide geographically secure computing facilities that most certainly will not be affected by the same event that caused the customer's outage!  Think hurricane, earthquake, tornado,  and other natural disaster.

Hosting With No Failure Proofing

Some small ISV's (Independent Software Vendors) of specialized software, especially companies who have specialized in OS/400 or IBM i applications written in RPG over the years are now claiming to be "cloud" providers and hosting customer systems on their computers in their single data center with no disaster recovery or realtime back up.  These companies lack expertise in hosting as well as cloud or disaster recovery.  You are most definitely putting yourself at risk by trusting a small ISV.

The Problem
Cloud computing as I define it is running your own custom software, third party vendor supplied software, or open source software on computer resources that you rent from a reputable cloud provider. To meet my definition of reputable, the vendor must operate not less than two and preferably more data centers that are geographically dispersed to insure that a single natural disaster will not disrupt your business operations.

Theres vendors should provide all of the hardware and software technical support necessary for you to keep your applications running so that all your users have to do is use an Internet browser or VPN client to access them.

A viable vendor will provide real time data and application replication so that a user may access any computer where your application is located regardless of physical location.  In fact the vendor's Internet routing should find the best path to the servers.  Your applications may be running on multiple servers at the same time and replicating data between the servers.  This approach will provide a 24 x 7 uninterruptible computing environment.

These vendors will enable you to eliminate the people on your payroll that support your computer systems including but not limited to network specialists, computer operators, system administrators, system programmers, etc. often offering you huge savings in labor and benefits.  Note these savings are not available at all in the alternatives described above.

Private Cloud and other Variants

While I do not rule out the idea of private cloud, I do see that very few companies can benefit from this as a computer strategy.  Generally, private cloud means building your own cloud environment and hosting applications for people within your enterprise.  This often means hiring specialists or spend large sums on consultants with expertise in setting up a cloud based environment.  You not only continue to support all of the people you currently employ, but will very likely increase your staff.

Buyer Beware

Do not let cloud computing be an IT based decision!  It is most definitely a business decision and must be carefully evaluated with an eye towards risk and cost savings.  I am a strong advocate of publicly hosted private cloud environments hosted by a reputable vendor at a reasonable price and eliminating all of the overhead of your computer operations and technical services organization within your IT organization.

Keep in mind that you may very well be able to pay for a switch to cloud in testing and test systems alone.  With a could environment you create a test environment when a project requires it and you discard it when you are done testing.  You pay only for what you use and the cost disappears upon project completion.

If you are like many companies you may very well be buying computers, and licensing software for testing purposes and this equipment rarely ever goes away!  The cost is generally absorbed into the project in substantial amounts.

Be smart buy carefully and you will enjoy the benefits of cloud computing.




Can Your Current Computer Systems Utilize Today's Computers Effectively?

I just read a fascinating article in IBM Mainframe Extra supplement to the IBM Mainframe magazine.  It seems that IBM is concerned about the fact that they can increase computing capacity by adding processors to their systems, but can no longer deliver significant increases in processor speed.

For years customers have waited for the next set of processor chips which were significantly faster than the last set.  While multi-processor systems have been around for about 2 decades, many business applications have been unable to take advantage of these systems.

Many business applications are designed to single thread (process sequentially one instruction after the other) from start to finish and are unable to utilize multiple processors in a multi-tasking or multi-procssing environment as modern applications written in C, C++, or Java can!

COBOL and RPG, FORTRAN, or PL1 applications process one instruction at a time until an IO event occurs when the program stops and waits for the the relatively slow IO event to complete.  The program is then queued for the next available processor and continues to execute one instruction at a time until the next IO even or until the program completes processing.

Modern applications consist of a number of small routines that can process in parallel without having to wait on other parts of the program.  Various processes or tasks may complete and are then assembled into a final result, but the program can actually run its pieces on many processors.

The older programs represent a problem for a number of IBM Mainframe and Midrange customers where workloads are increasing, demands for more processor speed are increasing, and yet programs are constrained by their architecture and programming technique in many cases.

If you have not all ready made a commitment to move away from legacy languages and technology, the time is now.  Develop a migration plan and move away from RPG, COBOL, PL1, etc.

Read the Mainframe Extra article at: http://ibmsystemsmag.com/mainframe/trends/IBM-Research/cmos_slowdown/

Friday, May 24, 2013

What is the IBM Enterprise System?

Take a look at this presentation by a key IBM marketing executive on the IBM Enterprise System.  It appears that IBM is looking to consolidate its zSeries mainframes with its Power Systems line of machines into a new Integrated "Enterprise System".  If you look at the reference presentation you will see that the system runs zOS, Linux, and Power OS's (meaning IBM i and AIX).

Note that IBM is looking to sell its xSeries Intel based server business to Lenovo and get out of the Intel server business.

Could the new server mean consolidating Power and zSeries into one new line of high-end servers?  Note that this is one more nudge towards LINUX and the elimination of zOS, AIX, and IBM i proprietary OS's.

It doesn't take a psychic to read the tea leaves folks, IBM is consolidating its hardware and systems software operations, lowering costs and maximizing profitability.  If your stuck on zOS or IBM i or even AIX you are in deep trouble and need to move rapidly away from IBM proprietary OS's.