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.