Monday, October 14, 2019

Back to Business

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.

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.

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.

 

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.

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.

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.