Friday, August 28, 2015

Waterfalls and Agility

When I think of waterfalls, I think of tranquility, nature, peace, soothing sounds. Until I start thinking of waterfall in the context of information management.

For those not familiar with the term, waterfall is most commonly associated with a specific method of writing software. I, personally, also think of waterfall as a specific method of deploying and managing IT infrastructure.

But first...

Let me start by explaining what the waterfall concept is. Waterfall, by definition is a methodical, iterative process that takes progressive steps in the implementation or development of a thing that IT delivers. For example, if a new application needs to be deployed, the waterfall process  if followed correctly looks something like this:


  1. Business says "I need / want something"
  2. IT develops the response and negotiates with the business on their requirements
  3. Analysis is done to determine how much work is required to do #1 and #2
  4. IT starts to design the application environments and starts to build infrastructure (both software and hardware)
  5. As IT prepares for implementation, the software and hardware solution(s) are rigorously tested 
  6. Once testing is complete and accepted, the thing that the business wants is handed over to be operated.
Once the process is complete, it typically starts over with features or functionality that was kicked out during the negotiation process that happens throughout this extensive cycle. Waterfall has been a very widely accepted practice by companies and IT organizations for a very long time.

One thing to realize is that this process can apply to many implementations across a wide variety of initiatives. This does not necessarily limit itself to IT and software development. It's most commonly thought of int he IT world as a "software development" process, but variants of this are used in "off the shelf" software deployments, server and infrastructure replacement and refresh, etc.

Silly kids

In 2007, the world changed. A bunch of "kids in Cupertino" changed the world by bringing the smartphone to the masses. It wasn't long before the masses started realizing the utility in these devices, and started replacing their everyday computers with them. Apps became commonplace. Social media exploded. What that translates to is that the waterfall process started to encumber the agility of business. A different approach was needed. A different way to build software, servers, storage, networks, "the cloud". All of these different taxonomies converged to threaten the relevance of organizations whose very existence was to build and support stuff that the business needs.

Agile methods aren't really new, but they definitely require a new way to think about everything. The software development process embraced these methods first, and aggressively. Soon after software development became "agile", however, software teams began to realize that the infrastructure types weren't building stuff fast enough to deploy the software they were cranking out.

Fundamentally, midsets and deployment methods had to change. Organizations couldn't afford to wait  any longer for rigorous testing cycles to ensure that the data center equipment was ready. Redundancy and disaster tolerance / recovery took too long to build into infrastructure. 

Image: boxesandarrows.com
As new methods were adopted (commonly known as "Agile Processes" - again not universally the same way - but fundamentally the same concepts.

With an Agile process in place, infrastructure had to adapt and be faster. Software releases under waterfall processes used to happen  monthly in highly aggressive release environments. With Agile, software releases could come HOURLY. 

The infrastructure towers started giving way to cloud based services. With cloud based services, building an environment simply meant clicking a few buttons, and you had an environment complete with representative databases, application services, deployment services and the appearance of some level of resilience.

There became no room for "waterfall infrastructure" in this new world. There simply wasn't enough time. Agile infrastructure was essential to success. EMC, VMware and Cisco created the VCE company in 2009 to address the problem with rapid deployment of servers, storage and network infrastructure in a tested, consistent way. VCE created white-papers, reference architectures, and Converged Systems called VBLOCKS that greatly increased the amount of time and decreased the complexity of building and deploying systems to support these great new applications. Companies that have embraced VBLOCKS enjoy faster time to business solutions, greater uptime, and huge customer satisfaction with their infrastructure.

These systems have enabled companies to quickly deploy infrastructure and applications while greatly reducing the risk and time to do so. 

These systems underpin some of the largest Agile software development implementations in the world. These systems also are the foundation of some of the largest applications ever deployed, regardless of development method.

These systems have enabled EMC and our Federation Partners to deliver a completely tested, certified and supported "data center in a box" to you in just 30 days!

The Point

Consider your smart device (phone, tablet, even PC) and the way you receive applications (or for you kids - apps). How much different is it today then even 5 years ago? How often do your apps update themselves "magically" without you ever even knowing it happened? Probably more than you might think. What was the last time you used physical media to install anything?


The point is this dear reader: If you're in IT infrastructure, learn everything you can about Agile. Know what is driving this significant transformation in the business you support. Understand why the development teams need this capability. This will keep you off of the dust heap of technical irrelevance.

Get briefed on what VCE converged infrastructure can do for your organization - you'll be amazed at how liberating it is to not have to turn screwdrivers in your data centers for weeks. Think of all of the valuable skills you can apply by not having to "rack and stack". Consider how much easier it is to make one phone call for help with your infrastructure instead of 3 or 4.

Get smart on Agile infrastructure and methods. It will pay off. I promise. 

/finis

No comments: