It’s been a while since I’ve posted to this blog. I hope to post much more frequently. I’ve recently been working with a major consulting firm moving companies from local IT to Cloud. We work with and under the authority of senior C-Level executives and not IT management. In many cases we are phasing out local IT organizations.
Today’s modern IT organizations have lost focus and no longer server the purpose that they were created for. Today, from the CIO to the lowest level of technician IT departments focus on and hire young recent college graduates highly skilled in various technical disciplines, but with virtually no business knowledge or experience. The departments focus on technological innovation and the expense of business problem solving. Many IT employees have no clue what their enterprises actually do or how the business is run.
My associates and I including some very major names in IT innovation have developed a multi-part model that first moves existing legacy systems from local IT to the Cloud and eliminates the many employees that provide systems and technical support. This can save a company millions of dollars.
We also work with corporate management to develop an IT modernization plan that focuses on the current needs and objectives of the enterprise and not on technology.
When I say modernization, I don’t mean converting old COBOL, RPG, PL1, or FORTRAN code to a modern language, or converting green screen applications to web, tablet, or phone based apps, but rather looking at how the old legacy systems meet current business objectives and replacing the old legacy systems with modern business focused solutions to real business problems.
Our focus is to leverage highly skilled business and systems analysts who analyze, define, and solve real business problems. We then contract out the actual development to highly skilled contract labor. Note that this is a much more cost effective solution than traditional in-house IT.
This is particularly true in company’s stuck with old IBM legacy systems (i.e. ZOS mainframes, System i based midrange systems, etc.). We find that many of these companies are stuck with developers to support old systems with legacy skills and which often have to hire additional people to provide modern skill sets often doubling the cost of IT with no direct or measurable return on the investment.
Our model is totally business centric and cost effective. More later.
Monday, October 14, 2019
Sunday, December 2, 2018
Time for Business to Regain Control Over Their Computer Systems
The world of modern computer systems changes on a daily basis with new technology constantly emerging and changing with some wonderful new technology. Sadly, too many senior business executives have become overwhelmed with the technology and have stepped away from computer systems and relinquished responsibility to some wonderfully technically skilled people.
The modern IT executive or CIO has advanced degrees in technology and surrounds themselves with other equally skilled and highly educated technologists. While these are truly talented and brilliant people, they have little or no background in business and have caused computer systems to drift away from the current strategic needs of the modern enterprise.
Just recently some major industry giants, Sears Roebuck and Company, Toys-Are-Us, are just two that have succumbed to a failure to embrace technology and have closed their doors. Many other major enterprises are faced with a need to embrace new and emerging markets or join these once great leaders.
To understand how the modern enterprise must move forward, lets take a look at the current state of IT today.
Large enterprise IT is most often divided into two distinct camps: 1) Legacy, and 2) Modern technologies.
1) Legacy -- these systems are often based on IBM mainframe computers with 60 plus year old systems running in legacy languages such as COBOL, FORTRAN, and even RPG (an old language running on the AS/400 line of IBM mid-range computers). These systems use old database systems such as IBM's DB2 or Oracle and others. These systems are old, complex, and have been modified countless times over the years. With IBM's advent of WebSphere and Java, interfaces to the mainframe have been built with now 20 year old systems built on Linux or Unix platforms and integrally linked to the old mainframe based system which remain the core processing systems for the enterprise. Note that enterprises are spending millions of dollars per year in supporting these old legacy systems in terms of hardware, software licenses, maintenance costs as well as salaries of people who provide no value to the enterprise other than technically supporting the hardware and purchased (or leased) software.
2) Modern technologies -- including Java based, Microsoft .NET, C#, etc. have been developed to front end old legacy systems and support current requirements. The real issue here is that the new technology based systems are tied to the old legacy systems and are limited in terms of their capabilities and results.
In addition to a mix of legacy and modern technology, new methodologies have been implemented to manage systems development. The most common today is Agile. The concept being that Agile delivers systems more rapidly than traditional waterfall or other methodologies.
Agile however does not embrace enterprise wide system development, but rather focuses on individual project requests from the business. These requests are based on a limited high level requirements document written by someone in the business who has no IT background or formal training in analysis. These are passed to the IT organization who interprets the requirements and breaks the requirement into Agile "stories". The IT development team then places the stories in their "backlog" and selects what they want to work on with limited input from the business. All too often pieces of the requirement get implemented but other parts of the requirement are deferred in light of other more "important" requirements and stories.
The bottom line is that the modern enterprises spends 30% to 40% more than they should be spending on IT today and get very little in terms of strategic advantage for their money.
The modern IT executive or CIO has advanced degrees in technology and surrounds themselves with other equally skilled and highly educated technologists. While these are truly talented and brilliant people, they have little or no background in business and have caused computer systems to drift away from the current strategic needs of the modern enterprise.
Just recently some major industry giants, Sears Roebuck and Company, Toys-Are-Us, are just two that have succumbed to a failure to embrace technology and have closed their doors. Many other major enterprises are faced with a need to embrace new and emerging markets or join these once great leaders.
To understand how the modern enterprise must move forward, lets take a look at the current state of IT today.
Large enterprise IT is most often divided into two distinct camps: 1) Legacy, and 2) Modern technologies.
1) Legacy -- these systems are often based on IBM mainframe computers with 60 plus year old systems running in legacy languages such as COBOL, FORTRAN, and even RPG (an old language running on the AS/400 line of IBM mid-range computers). These systems use old database systems such as IBM's DB2 or Oracle and others. These systems are old, complex, and have been modified countless times over the years. With IBM's advent of WebSphere and Java, interfaces to the mainframe have been built with now 20 year old systems built on Linux or Unix platforms and integrally linked to the old mainframe based system which remain the core processing systems for the enterprise. Note that enterprises are spending millions of dollars per year in supporting these old legacy systems in terms of hardware, software licenses, maintenance costs as well as salaries of people who provide no value to the enterprise other than technically supporting the hardware and purchased (or leased) software.
2) Modern technologies -- including Java based, Microsoft .NET, C#, etc. have been developed to front end old legacy systems and support current requirements. The real issue here is that the new technology based systems are tied to the old legacy systems and are limited in terms of their capabilities and results.
In addition to a mix of legacy and modern technology, new methodologies have been implemented to manage systems development. The most common today is Agile. The concept being that Agile delivers systems more rapidly than traditional waterfall or other methodologies.
Agile however does not embrace enterprise wide system development, but rather focuses on individual project requests from the business. These requests are based on a limited high level requirements document written by someone in the business who has no IT background or formal training in analysis. These are passed to the IT organization who interprets the requirements and breaks the requirement into Agile "stories". The IT development team then places the stories in their "backlog" and selects what they want to work on with limited input from the business. All too often pieces of the requirement get implemented but other parts of the requirement are deferred in light of other more "important" requirements and stories.
The bottom line is that the modern enterprises spends 30% to 40% more than they should be spending on IT today and get very little in terms of strategic advantage for their money.
Regaining Control
It is time for enterprise management to regain control over their computer systems. The following is an outline of the steps necessary.
- Senior Management Steering Committee -- form a steering committee consisting of the CEO and the senior most executives of the enterprise including the CIO and a consultant such as myself to guide the process. This steering committee will make take control over all IT initiatives.
- Cloud Strategy and Cost Reduction - All modern systems (Unix, Linux, Microsoft) can be moved directly into a cloud environment. Databases including legacy mainframe databases can be moved into the Cloud reducing system usage and enabling downsizing and cost reduction. Mainframe modernization and elimination would come later. Moving to the cloud reduces hardware cost, software costs, and eliminates many people who maintain these systems and computer network. NOTE: these are administrative support staff, not application developers and provide no direct benefit to the enterprise. This should result in approximately a 30% reduction in total IT costs.
- New Financial Responsibility -- metrics today exist to allocate all IT costs directly back to business units. This includes all systems development as well has hardware usage and even data storage. All cost related decisions need to be made by the business executive governing a business area with oversight by the steering committee.
- Enterprise Project Responsibility -- all new project must be approved by business unit executives with oversight by the steering committee. To justify a project, a business ROI prepared by the business unit must be created, reviewed, and approved.
- Hybrid Development Methodology -- While Agile development is a wonderful systems development methodology it is not project oriented and a hybrid methodology such as the following should be implemented:
- Project Charter and objectives -- written by enterprise management
- Project Requirements -- a very specific document with measurable results including a direct measurable ROI
- Detail requirements -- produced by Business or Systems analysts documenting workflows, needed enhancements, etc.
- Review and approval -- by business management (note this includes a written set of testing and acceptance criteria that must be met for a project to be completed)
- Project Implementation
- Requirements to be broken down into a Work Break Down Structure (WBS)
- WBS tasks mapped to Agile EPIC's and Stories
- Stories broken down into tasks as required by developers
- Story implementation by developers
- QA testing by professional independent testers
- Acceptance testing by designated end users with written acceptance
- Training and deployment
A key element of this process is two integrated reporting systems to document every step of the process. All projects need to be written and stored in a system such as Microsoft SharePoint along with all requirements and record all approvals. Agile development must be tracked in a reporting system such as JIRA (by Altassian). Access to these reporting systems must be available to all involved parties as well as the Steering Committee members and designee s of steering committee executives.
For more details contact me: Bob Cancilla
Saturday, February 20, 2016
Cloud Computing -- Buyer beware!
I am a huge advocate of cloud computing. I've spent over 45 years managing IT organizations and have been responsible for equipment as well as application development. I have agonized over hardware budgets, capacity forecasts, and performance analysis.
I firmly believe that cloud computing offers the smallest to the very largest organizations a huge advantage of over traditional own it and run it yourself environments.
In today's world we have many risks in operating computer systems. Today it is assumed that your computer systems will be available over the Internet and reach out to your employees working in a distributed environment as well as trading partners and customers.
This introduces issues of capacity, availability, and security. If I am going to put my business into a cloud computing environment, I want to be darn sure I am dealing with a financially stable and secure environment. I want my cloud vendor to provide 100% availability. I want to be sure that my applications and my data are replicated not only across multiple machines, but across multiple locations in geographically diverse locations that will protect the site and my business from acts of nature such as earthquake, hurricanes, tornadoes, fire, or any other exposure that could disrupt a data center's operation.
I want to be sure that the vendor provides an extreme level of security for everything from their physical plant to Internet access and offer me services like ethical hacking as well as monitoring to protect against hackers. I want to insure that the vendor provides a better team of security expertise than I could afford to employ via employees.
I want the vendor to handle all of the "systems programming" activities such as upgrading OS's, and middleware. I want the vendor to provide staff that assists me in managing the deployment of new or upgrades to my software.
What I don't want!
What I don't want is a "cloud provider" that has one data center with limited equipment and no real time fail over or disaster recovery program. I met a gentleman selling IBM AS/400 based cloud applications. The had a couple of machines in a data center in their garage. They sold this to a large number of governmental entities that didn't do their homework. This is a disaster waiting to happen.
I met a sales rep for a much larger company, but they had one data center in Atlanta, Georgia with no mealtime fail over or recovery capabilities and very limited technical support.
I personally support Microsoft, Amazon, and a few other major well established cloud providers that an provide continuous, uninterruptible computing environments that can withstand anything and companies that can provide the people that I no longer need to employ (i.e. the systems programmers, admins, architects, performance managers, etc.).
Are you a small company?
If you are a small company with a need for one or maybe two small servers, why on earth would you NOT use a cloud? You can obtain all the computing power you might need for about $100 per month with a major company. You get security, reliability, performance, and technical support that you would never be able to afford on your own.
Large or Small?
Cloud computing can meet everyone's needs and save you huge sums of money.
I firmly believe that cloud computing offers the smallest to the very largest organizations a huge advantage of over traditional own it and run it yourself environments.
In today's world we have many risks in operating computer systems. Today it is assumed that your computer systems will be available over the Internet and reach out to your employees working in a distributed environment as well as trading partners and customers.
This introduces issues of capacity, availability, and security. If I am going to put my business into a cloud computing environment, I want to be darn sure I am dealing with a financially stable and secure environment. I want my cloud vendor to provide 100% availability. I want to be sure that my applications and my data are replicated not only across multiple machines, but across multiple locations in geographically diverse locations that will protect the site and my business from acts of nature such as earthquake, hurricanes, tornadoes, fire, or any other exposure that could disrupt a data center's operation.
I want to be sure that the vendor provides an extreme level of security for everything from their physical plant to Internet access and offer me services like ethical hacking as well as monitoring to protect against hackers. I want to insure that the vendor provides a better team of security expertise than I could afford to employ via employees.
I want the vendor to handle all of the "systems programming" activities such as upgrading OS's, and middleware. I want the vendor to provide staff that assists me in managing the deployment of new or upgrades to my software.
What I don't want!
What I don't want is a "cloud provider" that has one data center with limited equipment and no real time fail over or disaster recovery program. I met a gentleman selling IBM AS/400 based cloud applications. The had a couple of machines in a data center in their garage. They sold this to a large number of governmental entities that didn't do their homework. This is a disaster waiting to happen.
I met a sales rep for a much larger company, but they had one data center in Atlanta, Georgia with no mealtime fail over or recovery capabilities and very limited technical support.
I personally support Microsoft, Amazon, and a few other major well established cloud providers that an provide continuous, uninterruptible computing environments that can withstand anything and companies that can provide the people that I no longer need to employ (i.e. the systems programmers, admins, architects, performance managers, etc.).
Are you a small company?
If you are a small company with a need for one or maybe two small servers, why on earth would you NOT use a cloud? You can obtain all the computing power you might need for about $100 per month with a major company. You get security, reliability, performance, and technical support that you would never be able to afford on your own.
Large or Small?
Cloud computing can meet everyone's needs and save you huge sums of money.
Wednesday, February 17, 2016
Can you afford to have an in-house IT development staff?
I was going to start this post by listing dozens of technologies that are in common use today by many IT organizations and software development companies. I've been in the IT industry for close to 50 years and have seen literally hundreds of technologies come and go.
You can rest assured that the technologies you are using to run your business today will be obsolete in the very near future. If you are a large company, just look around and you will visibly see many technologies such as that old mainframe in the computer room, maybe an IBM midrange computer stuck in a corner, dozens of PC based applications often running on isolated servers in specific departments around your organization.
Do you support all the modern web browsers? Do you support all of the popular mobile phones? Tablets? Personal computers? These technologies all require specialized skills. Can you afford to hire people with these skills?
Sadly, I no longer believe that you (the largest or smallest) company or organization should have in-house application developers on your staff. Today, I strongly recommend outsourcing your software development and/or implementation of purchased package software products.
If you try to maintain your own IT development staff, you will over staff with people who are not productive often called architects who constantly review emerging technologies. Some of you will attempt to cross train existing people who never develop a proficiency in the new technology.
Why not just contract for experts that you need. This technique can work, but there are some major changes you must make in order to be successful in outsourcing your IT development.
First and foremost you need a small but strong staff of systems analysts who know your business and your requirements. You do need a small but expert staff that can lead your systems analysts in writing requests for proposal and statement's of work that clearly define what a vendor will deliver. Note, I recommend always using fixed price contracts putting the development partner in a position to share the risk with you of delivering a system that meets requirements and does so within the time frame you agree to.
You can rest assured that the technologies you are using to run your business today will be obsolete in the very near future. If you are a large company, just look around and you will visibly see many technologies such as that old mainframe in the computer room, maybe an IBM midrange computer stuck in a corner, dozens of PC based applications often running on isolated servers in specific departments around your organization.
Do you support all the modern web browsers? Do you support all of the popular mobile phones? Tablets? Personal computers? These technologies all require specialized skills. Can you afford to hire people with these skills?
Sadly, I no longer believe that you (the largest or smallest) company or organization should have in-house application developers on your staff. Today, I strongly recommend outsourcing your software development and/or implementation of purchased package software products.
If you try to maintain your own IT development staff, you will over staff with people who are not productive often called architects who constantly review emerging technologies. Some of you will attempt to cross train existing people who never develop a proficiency in the new technology.
Why not just contract for experts that you need. This technique can work, but there are some major changes you must make in order to be successful in outsourcing your IT development.
First and foremost you need a small but strong staff of systems analysts who know your business and your requirements. You do need a small but expert staff that can lead your systems analysts in writing requests for proposal and statement's of work that clearly define what a vendor will deliver. Note, I recommend always using fixed price contracts putting the development partner in a position to share the risk with you of delivering a system that meets requirements and does so within the time frame you agree to.
Sunday, February 14, 2016
Agile Development for Your Business?
Agile Development and Your Business
Have your IT people been pushing you to get rid of that bad old waterfall project methodology where projects and objectives are clearly defined before you begin to do development? Then the developers get to figure out what is important and what is not?
Agile development when applied to software development can be of great value, but... Don't let your IT organization push you into abandoning proven project and requirement definition methodologies.
The AGILE methodology was developed to facilitate rapid software development by programmers with an improved level of quality. It was never intended to define what should be built and what components are more important than others.
Companies that utilize Agile successfully use a hybrid model of software development. Project and requirements for a project are developed and controlled by the business. The business and only the business can prioritize the various requirements into "Must Have", "Should Have" and "Nice to Have" general categories. A well managed project would implement all of the MUST and SHOUD have's and a large percentage of the Nice to have's.
Only the business should be allowed to prioritize and change a MUST have to a SHOULD or "NICE" to have. Only the business can decide than an item may be deferred to a later project after the primary deliverables are completed.
IBM is a classic example of such a hybrid methodology. IBM has an elaborate and formal process for vetting and prioritizing items that will be included in the next release of a product. The vetting process includes accounting and finance, marketing, sales, development, and legal. It works up through several layers until it is reviewed and approved by senior executives in the Software division. Then and only then is a set of requirements turned over to the developers who use Agile to implement the requirements. The development manager had better be certain that all of the "MUST Haves, along with the SHOULD haves and some of the Nice to Have's are implemented by the product's release date.
Additionally a representative of the business should participate in the daily scrum meetings and insure that developers are meeting the requirements set forth by the business.
Note that a structure that places responsibility for all IT projects and requirements along with final acceptance of a development project belongs to the business insures success. IT must be a service organization that supports the business.
Have your IT people been pushing you to get rid of that bad old waterfall project methodology where projects and objectives are clearly defined before you begin to do development? Then the developers get to figure out what is important and what is not?
Agile development when applied to software development can be of great value, but... Don't let your IT organization push you into abandoning proven project and requirement definition methodologies.
The AGILE methodology was developed to facilitate rapid software development by programmers with an improved level of quality. It was never intended to define what should be built and what components are more important than others.
Companies that utilize Agile successfully use a hybrid model of software development. Project and requirements for a project are developed and controlled by the business. The business and only the business can prioritize the various requirements into "Must Have", "Should Have" and "Nice to Have" general categories. A well managed project would implement all of the MUST and SHOUD have's and a large percentage of the Nice to have's.
Only the business should be allowed to prioritize and change a MUST have to a SHOULD or "NICE" to have. Only the business can decide than an item may be deferred to a later project after the primary deliverables are completed.
IBM is a classic example of such a hybrid methodology. IBM has an elaborate and formal process for vetting and prioritizing items that will be included in the next release of a product. The vetting process includes accounting and finance, marketing, sales, development, and legal. It works up through several layers until it is reviewed and approved by senior executives in the Software division. Then and only then is a set of requirements turned over to the developers who use Agile to implement the requirements. The development manager had better be certain that all of the "MUST Haves, along with the SHOULD haves and some of the Nice to Have's are implemented by the product's release date.
Additionally a representative of the business should participate in the daily scrum meetings and insure that developers are meeting the requirements set forth by the business.
Note that a structure that places responsibility for all IT projects and requirements along with final acceptance of a development project belongs to the business insures success. IT must be a service organization that supports the business.
Saturday, February 13, 2016
What is happening to IT today?
Something is radically wrong with IT today! Spending ranges between 3.2% for enterprises
with revenue over $2 Billion in revenue to as much as 6.9% for organizations
with revenue under $50 million[1]. Not too long ago IT costs were at a firm 1%
of revenue where they remained for nearly 50 years!
Interestingly enough, computing equipment is much more
powerful than it ever has been and costs a fraction of what it once cost.
So where does the money go?
The majority of spending today in your IT organization is on
people! Your money is spent on both
salaried employees and on 3rd party consultants.
Tech Pro Research reports that the number one priority for organizations
in 2016 is improving efficiency of business processes[2].
How can this be?
Haven’t you been investing in systems that provide process improvement
for the past 50 years? What is going on
within IT today.
In this post I introduce key concepts which I will drill
into in future posts, but lets look at the mess that IT has become today.
Most organizations have many different technologies today,
both hardware and software. There is a
mix of purchased business applications and those developed internally or via 3rd
party consultants. If you look at your
IT staff you will find job titles of people like various types of “architects”
that provide no direct return on your investment but cost you very significant
salaries.
You’ll find new methodologies like AGILE which take control
away from the business including control over what is important to be delivered
and when!
You will see a vast array of internal “frameworks” and
technologies that were supposed to improve IT productivity when in fact they do
they exact opposite providing little or no value.
While the cost of hardware has dropped to all time lows,
your total cost of supporting computing infrastructure has increased. Factor in security and privacy concerns that
are now a major part of your infrastructure cost and the costs have spiraled
way beyond that old IBM Mainframe that used to run your entire company! I’m not advocating a return to IBM
mainframes, but think back to the organization and productivity of those days.
It’s time to take assess what is happening in your
organization and how IT is performing for you.
If you think you are not getting a good rate of return for your
investment in IT and if you feel that IT is holding back your company instead
of helping you leverage new and emerging markets, its time for an in-depth
independent assessment.
I have done these assessments studying every aspect of your
IT organization and its value and concluding with a recommendation on how to
reduce your costs and improve the ROI on what you do need and get from IT. Additionally, I have helped put management
structure and processes in place that put control over IT directly in the hands
of the business where it should be and provide a means of isolating business
executives from the techno-babble of modern technology.
I will describe my assessment process further in coming
articles, but 2016 is the time to regain control over IT and insure it is
meeting the needs of the business instead of being a playground for
technologists.
Saturday, January 23, 2016
Loss of a Hero
I just found out today that Ed Yourdon passed away on January 20, 2016. This is a major loss to the IT community. Ed made a huge difference and revolutionized programming as we know it today. Modern frameworks, architectures, etc. all have their origins in Ed's work!
If you remember rats nest programming with GO TO's and worse and were part of the transition to structured programming, analysis, and design you will know the value Ed brought to the world of modern computing.
Just after Sun Micro systems released Java Ed wrote a book on object oriented programming and design. Ed totally understood OO and more importantly what an OBJECT really is! Sadly a bunch of geeks have obfuscated his work in this area, but If you red his book you will look at OO very differently.
I had the privilege of meeting Ed and having the ability to discuss OO design and development with him.
Ed will be missed! He was a great man and made an incredible contribution to modern IT.
-- Bob C.
If you remember rats nest programming with GO TO's and worse and were part of the transition to structured programming, analysis, and design you will know the value Ed brought to the world of modern computing.
Just after Sun Micro systems released Java Ed wrote a book on object oriented programming and design. Ed totally understood OO and more importantly what an OBJECT really is! Sadly a bunch of geeks have obfuscated his work in this area, but If you red his book you will look at OO very differently.
I had the privilege of meeting Ed and having the ability to discuss OO design and development with him.
Ed will be missed! He was a great man and made an incredible contribution to modern IT.
-- Bob C.
Saturday, December 19, 2015
What happened to IT?
I've been in this business a very long time (over 40 years). When I started our objective was to help our company or client improve their business processes, leveraging the power of "modern" computer technology.
My first corporate job was as a Sr Systems Analyst and AVP (Assistant Vice President). I worked with and for the senior executives of the company. My role was look at key business processes which were often bogged down in tedious manual processes.
I would analyze the process and propose the introduction of automation via computer processing. Initially we used punch cards and paper forms and reports.
I was there when IBM introduced CICS and "on-line" processing. I saw the evolution from clerical people using terminals to the spread of terminals to very desktop. I remember specialized computers like DEC's PDP-11 permeate manufacturing and engineering departments beginning to build islands of computing (i.e. business and engineering or manufacturing would "never" talk to each other).
I was there and had the opportunity to work with Dr. C.F. Codd and had dinner with James Martin after relational database and enterprise engineering took off.
I saw the introduction of the personal computer. Here we saw accountants flock to these machines as well as various other individuals in the business units. We began to see programs emerge and more islands of computing that corporate IT often did not even know existed!
I recall getting a call one day from the VP of Finance who had just bought an AS/400 computer from a vendor that sold it with the McComack & Dodge General Ledger package. He asked if he could get some data downloaded from the company's mainframe.
I was there when in in 1997 the Internet was opened up for general commercial use. I was there later in 1997 when James Gosling and Scott McNally introduced Java to the world. I led the adoption of Java by my company and was the first commercial insurance company to implement an interactive customer service based web site.
Java and technology have evolved. IBM still has a foot hold in the Mainframe and Midrage platform business with zOS, AIX, and IBM i, but their clients would like to modernize and move away from COBOL, RPG, and other dated technologies.
Over the past 15 years we have experienced a period of technological growth that has negatively impacted most businesses. Today technical folks (the geeks) have introduced layer after layer of framework and middleware that almost hides the business functionality of the system they have built.
Today a developer must weave through a complex web of technology and learn how that all interacts before they can get to the basics of business programming such as changing a simple sales calculation.
We have seen so called technical experts advocate design patterns and other mystical gibberish that has made the world too complex.
Today you can look at many major enterprises and see isolated islands of developers working on isolated systems that may interact with other systems via complex interfaces using SOA or more often the REST API framework today.
While there are some technical advantages of REST over other technologies a key issue becomes "how do you represent a business problem" to REST...
Add to this a jumble of hardware platforms and operating systems ranging from IBM Mainframes with zOS to No-name Intel clones running Linux with a whole flock of Windows servers competing for attention and revenue.
IMHO it is time to get back to basics! Lets refocus IT on business solutions! Lets put control over IT back in the hands of the CEO and get rid of the CIO as we know them today!
My first corporate job was as a Sr Systems Analyst and AVP (Assistant Vice President). I worked with and for the senior executives of the company. My role was look at key business processes which were often bogged down in tedious manual processes.
I would analyze the process and propose the introduction of automation via computer processing. Initially we used punch cards and paper forms and reports.
I was there when IBM introduced CICS and "on-line" processing. I saw the evolution from clerical people using terminals to the spread of terminals to very desktop. I remember specialized computers like DEC's PDP-11 permeate manufacturing and engineering departments beginning to build islands of computing (i.e. business and engineering or manufacturing would "never" talk to each other).
I was there and had the opportunity to work with Dr. C.F. Codd and had dinner with James Martin after relational database and enterprise engineering took off.
I saw the introduction of the personal computer. Here we saw accountants flock to these machines as well as various other individuals in the business units. We began to see programs emerge and more islands of computing that corporate IT often did not even know existed!
I recall getting a call one day from the VP of Finance who had just bought an AS/400 computer from a vendor that sold it with the McComack & Dodge General Ledger package. He asked if he could get some data downloaded from the company's mainframe.
I was there when in in 1997 the Internet was opened up for general commercial use. I was there later in 1997 when James Gosling and Scott McNally introduced Java to the world. I led the adoption of Java by my company and was the first commercial insurance company to implement an interactive customer service based web site.
Java and technology have evolved. IBM still has a foot hold in the Mainframe and Midrage platform business with zOS, AIX, and IBM i, but their clients would like to modernize and move away from COBOL, RPG, and other dated technologies.
Over the past 15 years we have experienced a period of technological growth that has negatively impacted most businesses. Today technical folks (the geeks) have introduced layer after layer of framework and middleware that almost hides the business functionality of the system they have built.
Today a developer must weave through a complex web of technology and learn how that all interacts before they can get to the basics of business programming such as changing a simple sales calculation.
We have seen so called technical experts advocate design patterns and other mystical gibberish that has made the world too complex.
Today you can look at many major enterprises and see isolated islands of developers working on isolated systems that may interact with other systems via complex interfaces using SOA or more often the REST API framework today.
While there are some technical advantages of REST over other technologies a key issue becomes "how do you represent a business problem" to REST...
Add to this a jumble of hardware platforms and operating systems ranging from IBM Mainframes with zOS to No-name Intel clones running Linux with a whole flock of Windows servers competing for attention and revenue.
IMHO it is time to get back to basics! Lets refocus IT on business solutions! Lets put control over IT back in the hands of the CEO and get rid of the CIO as we know them today!
Saturday, September 5, 2015
What Happened to Enterprise Systems Architecture?
I spent many years designing and implementing enterprise systems. On two separate occasions I had the privilege of leading the design of enterprise wide systems for two major Fortune 100 insurance companies.
In one case we moved from a collection of batch programs (remember when keypunch operators would key punch forms and we ran programs that read the cards, validated the data and updated master files then produced reports?)... to a mainframe CICS based on-line system using an integrated relational database.
In the second case we replaced an AS/400 5250 based system with a relational database and Web Based model.
I studied enterprise modeling and had the privilege of meeting James Martin and Dr. C.F. Codd as well as several other notable meteorologists of the 1980's and 1990's.
I got into a battle which I won with the head of the computer science department of a major southern California university over CRUD based data base application design and enterprise systems design (I was the enterprise systems advocate and I won)! I not only won but had a major convert.
I was working for IBM when SOA was introduced and became the architecture DE-jour. During my short stay with IBM I noticed a major disconnect between business and technology. Thanks to Lou Gersnter, IBM had dismantled its sales organization and basically lost contact with its customers.
IBM has some of the finest technical minds in the world working in its labs, but they lacked the control and guidance of business centered focus and requirement definition.
Today I am studying REST and trying to fit RESTful API's into a major corporation and support the business. I have read paper after paper on REST and they all describe the HTTP interface, the concept of dealing with nouns instead of verbs, and the technology to implement REST...
Virtually every paper I have read or video I have watched at best have a trivial application like creating, updating and maintaining a blog used as an example... No one talks about processing an insurance application, adjudicating and paying a claim, or even billing a client for a service rendered or product purchased and shipped.
I am in total agreement with the technical concepts of REST which is a stateless interface that allows your application to be deployed across multiple machines located at multiple data centers around the globe with data replicated as well providing a bullet proof (failure proof) system in a cloud based implementation.
BUT, how do you map this thing (REST) back to the basics of conducting business? If I find a solution, I'll share it here, but for now, I would love to hear from anyone who thinks they have a solution to building business systems with REST.
In one case we moved from a collection of batch programs (remember when keypunch operators would key punch forms and we ran programs that read the cards, validated the data and updated master files then produced reports?)... to a mainframe CICS based on-line system using an integrated relational database.
In the second case we replaced an AS/400 5250 based system with a relational database and Web Based model.
I studied enterprise modeling and had the privilege of meeting James Martin and Dr. C.F. Codd as well as several other notable meteorologists of the 1980's and 1990's.
I got into a battle which I won with the head of the computer science department of a major southern California university over CRUD based data base application design and enterprise systems design (I was the enterprise systems advocate and I won)! I not only won but had a major convert.
I was working for IBM when SOA was introduced and became the architecture DE-jour. During my short stay with IBM I noticed a major disconnect between business and technology. Thanks to Lou Gersnter, IBM had dismantled its sales organization and basically lost contact with its customers.
IBM has some of the finest technical minds in the world working in its labs, but they lacked the control and guidance of business centered focus and requirement definition.
Today I am studying REST and trying to fit RESTful API's into a major corporation and support the business. I have read paper after paper on REST and they all describe the HTTP interface, the concept of dealing with nouns instead of verbs, and the technology to implement REST...
Virtually every paper I have read or video I have watched at best have a trivial application like creating, updating and maintaining a blog used as an example... No one talks about processing an insurance application, adjudicating and paying a claim, or even billing a client for a service rendered or product purchased and shipped.
I am in total agreement with the technical concepts of REST which is a stateless interface that allows your application to be deployed across multiple machines located at multiple data centers around the globe with data replicated as well providing a bullet proof (failure proof) system in a cloud based implementation.
BUT, how do you map this thing (REST) back to the basics of conducting business? If I find a solution, I'll share it here, but for now, I would love to hear from anyone who thinks they have a solution to building business systems with REST.
Wednesday, June 17, 2015
The Internet is Getting Slower
I heard this headline on my 11pm local TV news last night and figured I better do some checking to see what was going on. Well it seems that they were right. As of yesterday, the FCC ruled in favor (a 3 - 2 vote along political lines) of Obama's "Net Neutrality" regulations which will put the Internet back into the dark ages.
It basically imposes three new rules:
Here are four articles with much more detail on Net Neutrality:
Read these articles for yourself. We need to do something about this ASAP probably with legislation that both parties can support and is veto proof until Obama leaves office.
It basically imposes three new rules:
- no blocking content -- this means that any content including streaming audio & video are fair game for any provider or customer.
- no slowing down -- an ISP may not slow down particular sites or type of content due to the load it places on their networks.
- no paid fast lanes -- ISP's may not create special high speed paths for customers willing to pay more. All bandwidth must be equal...
Here are four articles with much more detail on Net Neutrality:
Read these articles for yourself. We need to do something about this ASAP probably with legislation that both parties can support and is veto proof until Obama leaves office.
Wednesday, June 10, 2015
Cloud as it Should Be
Yesterday I wrote a short blog about private cloud and IaaS which is where many vendors and IT executives are trying to divert their companies in terms of cloud initiatives. This maintains IT staff jobs and vendors are able to sell hardware and middleware to the clients.
My view of cloud is complete and total outsourcing of hardware and the middleware or technical software required to support applications development such as operating systems, database management systems, messaging systems, etc.
To me the ideal cloud vendor provides a complete environment where the client need only install (or have someone) install their business applications and use them. This means that the client need only provide a simple Internet connection for their employees to the cloud provider.
The cloud provider needs to provide and maintain all computing equipment, networking facilities, and software required to run and operate the facility. They should also provide real time replication to at least one other site that meets disaster recovery requirements such as being geographically separated from points of risk (i.e. the same earthquake, tornado, hurricane, etc.).
The cloud provider should provide security services running sophisticated security monitoring services with a staff of experts to insure that the clients are fully protected. Ideally they would provide ethical hackers to check the integrity of the client's applications and identify all security risks and assist in mitigation.
The cloud provider should be highly scalable to accommodate seasonal peak period processing on a excess capacity fee schedule that reverts to normal pricing after the peak period subsides.
The net benefit to large organizations is savings of millions of dollars in hardware, software, and the human resource cost of those people who do nothing but support your hardware, infrastructure, or software that runs your computers (operating systems and middleware).
It is not unusual to see a large company with over 100 people doing nothing but supporting computer hardware and providing no direct benefit to the organization.
Most organizations have disaster recovery facilities including equipment that is never used that sits and waits for a disaster. Disaster Recovery is often treated like an insurance policy costing the organization millions of dollars per year. This can be eliminated with cloud.
The ability to scale to meet peak seasonal processing can result in a huge savings since most company buy computers that have the capacity to handle peak periods and remain idle most of the year. Imagine a company that has peak processing from mid-November to the end of December. They could be wasting millions of dollars buying hardware that supports a 45 day period. Note that while some vendors have a "capacity on demand" program, many do not allow you to turn off the capacity when you activate it and others charge huge fees to activate.
The downside is you will be laying off a large number of employees as you embrace cloud which will cause issues within your IT and Human Resources organizations, but often early retirement or transfer to other areas of the company can mitigate the blow.
Note one final benefit is improved risk mitigation. You will very likely receive a higher quality of technical support from the cloud provider due to their need to support many clients and their ability to hire the very best employees that you may not be able to hire.
Choosing your cloud provider is the real key. You must have a well funded, reliable company that will survive and grow vs others that may run the risk of going out of business, or being acquired.
My view of cloud is complete and total outsourcing of hardware and the middleware or technical software required to support applications development such as operating systems, database management systems, messaging systems, etc.
To me the ideal cloud vendor provides a complete environment where the client need only install (or have someone) install their business applications and use them. This means that the client need only provide a simple Internet connection for their employees to the cloud provider.
The cloud provider needs to provide and maintain all computing equipment, networking facilities, and software required to run and operate the facility. They should also provide real time replication to at least one other site that meets disaster recovery requirements such as being geographically separated from points of risk (i.e. the same earthquake, tornado, hurricane, etc.).
The cloud provider should provide security services running sophisticated security monitoring services with a staff of experts to insure that the clients are fully protected. Ideally they would provide ethical hackers to check the integrity of the client's applications and identify all security risks and assist in mitigation.
The cloud provider should be highly scalable to accommodate seasonal peak period processing on a excess capacity fee schedule that reverts to normal pricing after the peak period subsides.
The net benefit to large organizations is savings of millions of dollars in hardware, software, and the human resource cost of those people who do nothing but support your hardware, infrastructure, or software that runs your computers (operating systems and middleware).
It is not unusual to see a large company with over 100 people doing nothing but supporting computer hardware and providing no direct benefit to the organization.
Most organizations have disaster recovery facilities including equipment that is never used that sits and waits for a disaster. Disaster Recovery is often treated like an insurance policy costing the organization millions of dollars per year. This can be eliminated with cloud.
The ability to scale to meet peak seasonal processing can result in a huge savings since most company buy computers that have the capacity to handle peak periods and remain idle most of the year. Imagine a company that has peak processing from mid-November to the end of December. They could be wasting millions of dollars buying hardware that supports a 45 day period. Note that while some vendors have a "capacity on demand" program, many do not allow you to turn off the capacity when you activate it and others charge huge fees to activate.
The downside is you will be laying off a large number of employees as you embrace cloud which will cause issues within your IT and Human Resources organizations, but often early retirement or transfer to other areas of the company can mitigate the blow.
Note one final benefit is improved risk mitigation. You will very likely receive a higher quality of technical support from the cloud provider due to their need to support many clients and their ability to hire the very best employees that you may not be able to hire.
Choosing your cloud provider is the real key. You must have a well funded, reliable company that will survive and grow vs others that may run the risk of going out of business, or being acquired.
Tuesday, June 9, 2015
Is Private Cloud or IaaS for You?
My involvement in corporate IT seems to be rapidly moving towards and embracing Cloud technology to assist my clients. The deeper I get involved with Cloud, the more I see a great deal of confusion both by customers who do not understand what cloud is or should be, and by vendors who like to maintain the confusion to maximize their revenues.
A key issue today is vendors who attempt to sell cloud technology to the existing CIO's leveraging the idea that public cloud is a big risk and the customers should create their own private cloud. IBM happens to be one of the biggest vendors of private cloud technology. This is a logical outcropping of C-Level executives asking their CIO to look into Cloud computing. Private Cloud (meaning that your company buys the equipment, installs, and operates it in your own private facilities) is a good way for IT to maintain control over the computer hardware and systems software used to support the companies IT initiatives.
There are some benefits to "private" cloud. If you aggressively adopt cloud based technology, all of your applications move into the cloud and are no longer dependent upon proprietary hardware solutions. Your application development teams or vendors that you purchase software must support the technology you have deployed in your cloud and there are certainly benefits of standardization. In large companies, there are additional benefits using common hardware, software, and infrastructure. Additionally if done right, you eliminate the costs of traditional Disaster Recovery by distributing your applications across multiple "peer level" data centers and balancing work across the data centers giving you DR by default. No longer do you have idle equipment or resources waiting for a disaster to happen!
The downside of this approach is you still have a significant investment in computer hardware, systems software, and human resources to maintain the environment.
A second approach is IaaS which is popular with CIO's where their management team have pushed them to outsource the hardware to a third party vendor. So lets say you contract with IBM who drives all of the computer equipment in IBM data centers that you access via the Internet. Your IT organization is responsible for maintaining the system software deploying applications and supporting the environment. The difference? You don't own the machines.
IaaS (InfraStructure as a Service) can be advantageous for companies with season peak processing periods. You can contract for normal day to day processing levels and have a peak period option that charges you for the resources you use during the peak period and reverts back to normal when the peak period demand subsides. This requires a vendor who has this type of capability as well and the knowledge and infrastructure to support it.
I recognize that these are popular "cloud" solutions, but not my favorite by far. I much prefer the models that let your company focus only on your actual business applications and let the vendor handle all of the hardware, middleware, and infrastructure including security, replication, etc.
More on this soon.
A key issue today is vendors who attempt to sell cloud technology to the existing CIO's leveraging the idea that public cloud is a big risk and the customers should create their own private cloud. IBM happens to be one of the biggest vendors of private cloud technology. This is a logical outcropping of C-Level executives asking their CIO to look into Cloud computing. Private Cloud (meaning that your company buys the equipment, installs, and operates it in your own private facilities) is a good way for IT to maintain control over the computer hardware and systems software used to support the companies IT initiatives.
There are some benefits to "private" cloud. If you aggressively adopt cloud based technology, all of your applications move into the cloud and are no longer dependent upon proprietary hardware solutions. Your application development teams or vendors that you purchase software must support the technology you have deployed in your cloud and there are certainly benefits of standardization. In large companies, there are additional benefits using common hardware, software, and infrastructure. Additionally if done right, you eliminate the costs of traditional Disaster Recovery by distributing your applications across multiple "peer level" data centers and balancing work across the data centers giving you DR by default. No longer do you have idle equipment or resources waiting for a disaster to happen!
The downside of this approach is you still have a significant investment in computer hardware, systems software, and human resources to maintain the environment.
A second approach is IaaS which is popular with CIO's where their management team have pushed them to outsource the hardware to a third party vendor. So lets say you contract with IBM who drives all of the computer equipment in IBM data centers that you access via the Internet. Your IT organization is responsible for maintaining the system software deploying applications and supporting the environment. The difference? You don't own the machines.
IaaS (InfraStructure as a Service) can be advantageous for companies with season peak processing periods. You can contract for normal day to day processing levels and have a peak period option that charges you for the resources you use during the peak period and reverts back to normal when the peak period demand subsides. This requires a vendor who has this type of capability as well and the knowledge and infrastructure to support it.
I recognize that these are popular "cloud" solutions, but not my favorite by far. I much prefer the models that let your company focus only on your actual business applications and let the vendor handle all of the hardware, middleware, and infrastructure including security, replication, etc.
Friday, May 29, 2015
Open Source to the Next Level with Incredible MySQL Database Support
A friend sent me a note telling me about the latest release of MySQL Clustering support that has been benchmarked at over 1 Billion queries per hour or 7.6 million rows retrieved per second! That is incredible performance. What is even more amazing is the fact that this is FREE open source software that you can download and install.
To my knowledge this is the first and only high performance relational database management system (RDBMS) available as open source. This new clustered release outperforms commercial databases costing as much as $20,000 per processor and not beginning to reach this level of performance.
What is significant here is that Oracle actually owns and controls MySQL but releases it through the standard open source GPL license. They also offer a commercial version of the product with full 24 x 7 support, but if you have access to the technical skills you can use the open source version.
Once again, open source is rivaling and exceeding features and benefits of commercial software.
Check this out at: MySQL Cluster 7.2 Delivers 1 Billion queries per minute
To my knowledge this is the first and only high performance relational database management system (RDBMS) available as open source. This new clustered release outperforms commercial databases costing as much as $20,000 per processor and not beginning to reach this level of performance.
What is significant here is that Oracle actually owns and controls MySQL but releases it through the standard open source GPL license. They also offer a commercial version of the product with full 24 x 7 support, but if you have access to the technical skills you can use the open source version.
Once again, open source is rivaling and exceeding features and benefits of commercial software.
Check this out at: MySQL Cluster 7.2 Delivers 1 Billion queries per minute
Friday, April 24, 2015
Cloud and Mobile Devices are the Future
I just read an article that Microsoft's new CEO, Satya Nadella is leading Microsoft aggressively into cloud technology and services refocusing Microsoft away from the PC.
I happen to believe he is on the absolute right track. At present the vast majority of corporate employees use a laptop or some still use desktop PC's as their workstation of choice. I think that Mr. Nadella is 100% on the right track. Many companies are moving all of their Microsoft Office applications to Office 365 and storing all of their Word, Excel, PowerPoint and other documents in the cloud...
Apple is equally competitive with their iCloud offering storing output from their Pages, Keynote, and Numbers products in the cloud.
Most corporate systems utilize a web interface today which is immediately accessible via a mobile devise and true mobile applications are rapidly spreading throughout the corporate world.
The device of the future will be a tablet with a reasonable size screen and the ability to connect to a large monitor or monitors on a desktop but also portable to move to a meeting or travel anywhere with the user of the device. I think these devices will be equipped with optional keyboards to insure ease of use. A corporate employee should be able to use their smart phone or even perhaps Google Glasses or Apple watch... for total portability.
Look at the advantages that cloud based technology along with mobile devices bring to the corporate world:
I happen to believe he is on the absolute right track. At present the vast majority of corporate employees use a laptop or some still use desktop PC's as their workstation of choice. I think that Mr. Nadella is 100% on the right track. Many companies are moving all of their Microsoft Office applications to Office 365 and storing all of their Word, Excel, PowerPoint and other documents in the cloud...
Apple is equally competitive with their iCloud offering storing output from their Pages, Keynote, and Numbers products in the cloud.
Most corporate systems utilize a web interface today which is immediately accessible via a mobile devise and true mobile applications are rapidly spreading throughout the corporate world.
The device of the future will be a tablet with a reasonable size screen and the ability to connect to a large monitor or monitors on a desktop but also portable to move to a meeting or travel anywhere with the user of the device. I think these devices will be equipped with optional keyboards to insure ease of use. A corporate employee should be able to use their smart phone or even perhaps Google Glasses or Apple watch... for total portability.
Look at the advantages that cloud based technology along with mobile devices bring to the corporate world:
- No lost data! No data exists on a local device and all data from reminders to corporate documents, spreadsheets, powerpoint presentations, etc. live on a shared server. When an employee leaves the company their documents are preserved and can be index and shared to those who need them. The cloud protects against local disk failures or other local disasters including stolen laptops...
- Increased security! Only people authorized to access your data can get to it. If the device is stolen there is nothing of value on the device to the their other than device itself.
- Insuring that your employees use current versions of your applications. You can implement change management like that used by Apple or Google to automatically update the apps stored on the devices when changes are published! No more worrying about what version a user is using.
Portability, improved security, elimination of risk and insurance that everyone is on current software are huge benefits to corporations today. The high speed office networks and wifi connectivity all ready exists in most corporations today to support PC's.
BTW, did I mention the reduction in human support costs by getting rid of PC's? What are you waiting for? Cloud based systems with mobile devices can save you time money and headaches!
Saturday, March 7, 2015
Vendor Loyalty?
Do you recall the old saying "No one got fired for recommending IBM"? More importantly are you old enough to remember when it was a true statement. Today I wonder how long IBM will be in the computer hardware business...
I grew up with IBM. I did recommend IBM because back in the day you could trust them to provide solutions (expensive solutions) that met the needs of your business enterprise. I remember when IBM told us to move to COBOL. I remember when the told us to use CICS for this new "On-Line" processing... I joined the throng when in 1997 IBM embraced Java and introduced WebSphere. I used to laugh that I was one of the first kids on my planet to embrace Java via WebSphere. I spent over $3000 per developer for IBM's RAD based development toolset.
I adopted other IBM technologies and bought into SOA when it was being promoted as the latest architecture of the future. Over the years I have been responsible for recommending and encouraging the companies that I have worked for to spend millions on IBM technologies, including IBM hardware which we dependent on for high performance and reliability. I recalled when everyone laughed at Microsoft based systems and joked about the three fingered salute (Control, Alt, Delete) as the three most used keystrokes...
Today, the world has changed. First of all the hardware has matured. You can buy a $200 no-name clone computer most likely built in China where you can swap out disk drives while the machine is running without it missing a beat. You can build incredibly powerful and reliable clusters of computers that not only replicate data, but applications throughout a data center and across data centers, often at many locations world wide.
The fantastic thing about today's world is you need only buy the hardware, cabling, networking technology, and facility to put the equipment.
The software is free and open source! I'm working with a company that is using Redhat Linux, Jboss, along with several other open source technologies to implement robust distributed systems in their own private "cloud" environment. Note that data is replicated to another site and the system is available 24 x 7 with no outages.
Interestingly enough, IBM is releasing new high performance technology, but losing market share and revenue with a drop of nearly 50% of its server market share between 2013 and 2014 according to Gartner. That is significant as Gartner most definitely favors IBM in all of its reports, but can no longer cover IBM's decline as a major provider of server technology.
While IBM still sells its WebSphere line of application servers it has dropped to less than 1% marketshare in the Application Server market place.
SOA has been replaced with REST and the world is moving towards cloud based technology.
The world is changing! Change with it, but so so in a sensible manner.
I grew up with IBM. I did recommend IBM because back in the day you could trust them to provide solutions (expensive solutions) that met the needs of your business enterprise. I remember when IBM told us to move to COBOL. I remember when the told us to use CICS for this new "On-Line" processing... I joined the throng when in 1997 IBM embraced Java and introduced WebSphere. I used to laugh that I was one of the first kids on my planet to embrace Java via WebSphere. I spent over $3000 per developer for IBM's RAD based development toolset.
I adopted other IBM technologies and bought into SOA when it was being promoted as the latest architecture of the future. Over the years I have been responsible for recommending and encouraging the companies that I have worked for to spend millions on IBM technologies, including IBM hardware which we dependent on for high performance and reliability. I recalled when everyone laughed at Microsoft based systems and joked about the three fingered salute (Control, Alt, Delete) as the three most used keystrokes...
Today, the world has changed. First of all the hardware has matured. You can buy a $200 no-name clone computer most likely built in China where you can swap out disk drives while the machine is running without it missing a beat. You can build incredibly powerful and reliable clusters of computers that not only replicate data, but applications throughout a data center and across data centers, often at many locations world wide.
The fantastic thing about today's world is you need only buy the hardware, cabling, networking technology, and facility to put the equipment.
The software is free and open source! I'm working with a company that is using Redhat Linux, Jboss, along with several other open source technologies to implement robust distributed systems in their own private "cloud" environment. Note that data is replicated to another site and the system is available 24 x 7 with no outages.
Interestingly enough, IBM is releasing new high performance technology, but losing market share and revenue with a drop of nearly 50% of its server market share between 2013 and 2014 according to Gartner. That is significant as Gartner most definitely favors IBM in all of its reports, but can no longer cover IBM's decline as a major provider of server technology.
While IBM still sells its WebSphere line of application servers it has dropped to less than 1% marketshare in the Application Server market place.
SOA has been replaced with REST and the world is moving towards cloud based technology.
The world is changing! Change with it, but so so in a sensible manner.
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.
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.
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.
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:
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...
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...
Subscribe to:
Posts (Atom)