DevOps: Is There One Definition?

Is there one definition of DevOps?  

In short the answer is NO!

DevOps may be the hot buzzword of 2015.  However, as I shared in my previous post, DevOps is as much a cultural and mindset shift as it is anything else.  It simply cannot be bought of the shelf and implemented.

Wikipedia currently defines DevOps as the following:

DevOps is a software development method that stresses communication, collaboration (information sharing and web service usage), integration, automation and measurement cooperation between software developers and other information-technology (IT) professionals.  DevOps acknowledges the interdependence of software development and IT operations.  It aims to help an organization rapidly produce software products and services and to improve operations performance – quality assurance.

DevOps has been utilized over the years to support many areas of technology operation.  More recently, the uses include:

Automated Infrastructure Provisioning Continuous Integration Development Environments Automated Delivery Continuous Delivery

Over the last few years, I’ve come to know DevOps as a set of practices, tools and policies that support Automated Delivery (AD).  AD is closely related to where many advanced DevOps cultures are pushing the envelope on Continuous Delivery (CD).  No only does a CD environment want every iteration to deliver production-ready code, but ideally that code is automatically deployed to the production environment without human intervention.  (And that sound you just heard was CIO’s and their IT teams screaming- “Noooooo!”)

Obviously, and for all the right reasons, Continuous Delivery is not for everyone.  However, I would submit that if any iteration’s output can be deployed to production, it should be.  You see, by automating the process for deployment, you get to repeatability and consistency for software releases (sprints) and by nature of the automation actually reduce or lower risk.

In fact, in many ways rapid and frequent deployment to production reduces risk:

Releases contain fewer changes Fixes are easier to address You don’t have to perform major rollbacks

So, back to a definition of DevOps!  DevOps is sort of everything required to make AD and CD possible.  However, one definition will not fit all.  You still can’t define your needs and buy the DevOps solution off the shelf.  You have to define DevOps for you and your business and from there, integrate it into your processes at all levels.  DevOps is in part about creating the ability to move faster in the Digital Age, but doing so by ensuring quality at all stages of the software development and operations lifecycle.

What is your definition of DevOps?

Continue Reading

6 Indicators of Software Product Development Success

6 indicators of product development success

What Drives Successful Product Development and Innovation in the Software Development Process?

Many companies face the challenge of successfully developing software products that drive their core business, leverage “big data,” and capture new revenue streams.  The functions of an organization that lead the development process for these products may measure success according to a wide range of non-standard criteria, including:

Ability to meet the needs of internal and external customers Revenue creation Market share Timing Leverage of radical new technologies Competitiveness of new products in the marketplace

There are many other measures of success depending on the business model and the experience of the people involved in the effort.  However, there is no consistent measure of product development success.  Better yet, there are currently no consistent indicators of what drives product development success.  It involves a lot of money, guess work and blind trust.

In collaboration with the Robert H. Smith School of Business, Center for Excellence in Services, at the University of Maryland and Rockbridge Associates, 3Pillar Global commissioned a comprehensive study of product development success drivers to benchmark product development and innovation success.  The study was intended to explore what drives success, failure and challenge for businesses doing software product development.  The exploration resulted in not just powerful insights, but the creation of a diagnostic index that benchmarks product development and innovation success.

The analysis identified six critical indices of product development success:

Culture Feedback Communication Collaboration Staffing Time/Budget

The research gathered information on a range of correlates and outcomes related to software product development and innovation success, including:

Industry trends Corporate  demographics Product development function traits Adherence to methodologies And, macro ­factors such as competition

We will soon be releasing an executive summary of the relevant insights, as well as an online self-assessment that business leaders will be able to utilize to benchmark their own company’s product development success index.  I’ll additionally be sharing many of the insights on each of the indices, as well as the overall research results, in future posts.  If you’d like to learn more prior to that time, please contact me directly at Tony.Orlando@3PillarGlobal.com.

 

About the study:

The study was a collaborative effort commissioned by 3Pillar Global, a product development lifecycle management company that focuses on building innovative, revenue generating software products, and the Center for Excellence in Service, at the Robert H. School of Business, University of Maryland.  Rockbridge Associates, Inc. a research firm specializing in technology and services issues, participated as a primary research provider.

The target population for the study consisted of software product development professionals in mid-sized and large corporations across a wide set of industries including:  business services, education, financial services, healthcare, hospitality, information services, media and entertainment, technology and telecommunications.

Continue Reading

DevOps: The Latest IT Threat (and Opportunity)

Development:  Writing software

Operations:  Maintaining software and managing the technical environment needed to run the software

Development + Operations = DevOps

Since the dawn of computing, we have built our data centers and IT organizations to deliver highly available compute power and services.  The top priority was to avoid any and all actions that introduced risk to these systems and their associated business services — simply Never Ever Bring The Systems Down!

This risk averse mantra has made traditional IT departments not just methodical and controlling, but also notoriously SLOW and seemingly unresponsive.  In the most stable IT organizations, it can take years and tens of millions of dollars to deliver new software to market.  You see, traditional IT dictates that everything be planned to the finite level of detail and then redone every time there is an adjustment to strategy throughout the process – some projects never leave the planning stage.  But, assuming IT can get through the months of planning, you now have the development and implementation time, followed by the testing — and I mean the testing of everything, ultra carefully, in a highly systematic manner.  Today with the speed of the market and innovation, this model simply isn’t sustainable or competitive.  By the time IT gets a new business service to market, it is already antiquated and outdated.

DevOps can eliminate the slow and unresponsive IT department established by this zero defect, no down-time mantra, and spring board IT back to again being a valued and enabling partner to the business.

I’ve had many conversations over the past few months with CIOs and CTOs about this new trend and buzz around DevOps.  The common theme across all these conversations is that IT and Technology executives are under pressure to “Mature the IT Department.”  Consistently across these stakeholders, mature in in this reference implies the following:

Ability to address the software development lifecycle Not just software, but additionally the infrastructure that supports the software and the business at large Support for both commercial and internal software Automated and continuous deployment Control and governance across the production environment, to include security A shift from traditional data centers to hybrid cloud computing models An ability to move at the speed of the market — Continuous Innovation

At the core of the need for DevOps is indeed an ability to move and do things faster.  Conventional IT thinking views this request as a request to go fast, abandon planning, testing and introduce risk into the business of technology.  Simply, moving so fast that a bunch of stuff breaks, while systems and services fail.

Now IT has to respond and answer the DevOps challenge, because if they don’t, company employees will continue to bypass the IT department and source their own technology and cloud services needed to do their jobs.  And with it, the budget shift will continue out of IT and not just to Marketing, but now to the lines of business at a greater rate.

IT Departments and specifically CIOs remain in a fight for their lives.

Achieving the Mature IT Department is not a destination.  There is no silver bullet.  There is no multi-million dollar tool to buy and implement.  DevOps is as much a cultural shift as it is a mindset and operational shift.  What is important to know is that organizations just have to get started to enter into the trend that is DevOps.  Think big, but execute small.

Drop long term, exhaustive and waterfall planning for all but the most strategic business strategies Embrace small and iterative change Break traditional large technology-centric initiatives into small, even tiny components Get comfortable introducing and implementing tiny changes into your environment daily (and then when comfortable, you can mature to many times a day at the scale of an Amazon or Facebook) Release “new” software into your environment early and often Embrace that software by definition will have bugs and defects Realize that small incremental failures are easier to rectify and be ready to undo small incremental changes verses huge enterprise changes As you go, continuously try new little things — do more of what works and less of what doesn’t

If this sounds a bit like the principles of Agile software development, that is, because it does.  DevOps is all about modifying how the work is planned and executed.  Iteratively:  1) Break the work into small pieces.  2) Do the work.  3) Put the work into production.  4) Learn from the last iteration and inform step 1 and repeat.  Small incremental progress, verses big bang wholesale changes.

Yes, there are technologies and methods available to support the shift to DevOps, but don’t overlook the fact that the primary enabler is a cultural and mindset shift.  I suggest companies find professional services partners that understand the modern software development lifecycle, already possess the culture and mindset necessary, and employ the partners in the business, to bridge the software development, testing and technology operations units to realize DevOps — and realize timely execution with agility.

Continue Reading

Driverless Cars

Safe, no accident highways! – Reality or fiction?

There are over 1 Billion vehicles on our worldwide roadways.  There are over 1 Million automobile fatalities worldwide each year.  90% of these accidents are caused by human error and distraction.  The majority of these fatal accidents are preventable.

In 1939, General Motors ran a movie (“New Horizons”) at the World’s Fair predicting what the world would be like in 1960.  In the New Horizons movie, GM predicted what lay ahead for the automobile, driving and our roadways.  In short, they forecast that the Driverless Car would be realized through the innovative application of technology.

“A safe distance between cars is maintained by automatic radio control. The keynote of the motorway — safety with increased speed.”

GM’s prediction would not be realized in 1960, however today in 2015, these 1939 predictions are closer than ever.  Autonomous, or Driverless, Cars may soon be doing the driving for us.

We aren’t far off from being chauffeured to and from our destinations.  In order for the realization of Driverless Cars, technology and innovation have to cross paths in a manner that allows the vehicle to perceive the world around us using sensors, lasers, radars and cameras.

Imagine an automobile transportation system where:

Checking that text message while driving without risking the lives of others is possible. Reading a book on your commute to work. The elderly are not a hazard to themselves and others as their cognitive abilities decline. The blind are able to “drive” where they need to go, or be driven. The family car gets the kids to practice without the parent doing the driving. There are No traffic jams!

HOW IS THIS SCIENCE FICTION EVEN POSSIBLE?

Well, it is about data and the application of technology.  You see robots and machines can process data in sub-second fashion.  Computers are really good with math.  In a split second decision — whether to hit the brakes and at what force to avoid an accident — unlike a human, a computer can make the appropriate calculation consistently right.  In the not so distant future, computer driven cars will be making decisions like these every 1/100th of a second.   Combined with the accelerometers and gyroscopes in vehicles, computers are not prone to the same accident causing error and distractions that humans are.

Safe driverless cars are a math problem.  The driverless car will be processing millions of data points at a rate that humans simply can’t process.  This processing will enable Situational Awareness beyond what the human computer can deliver.  Imagine a forcefield of sorts that expands upon the forcefield available in cars today — today cars talk to us and report on the situation.  For example, other cars near us, traffic ahead, upcoming turns, puddles and potholes.  We then have to act on the data points.  Soon the onboard computers of driverless cars will not only develop the situational awareness for us, but also act on it without us even needing to know about it.

Scary?  Worried about control?  What about safety?  Realize this, there are close to 40 Million commercial flights a year that transport about 5 Billion people.  The deadliest year on record for airline travel was 1972, which saw 2,429 deaths.  2014 saw 761 deaths attributed to airline accidents.  That is a significant delta from the 1M+ fatalities on our roadways each year.  Did you know that airplane autopilot was developed in 1912, demonstrated in 1914 and became standard on planes in the 1940’s?  Ships became driverless in the 1920’s.  Even the Space Shuttle had autopilot technology on board.  We trust in “Autodrive” for our air travel, why not for our road travel?

Just as on airplanes, boats and even the Space Shuttle, steering wheels will exist in the first few decades of commercial driverless cars.  They will be necessary for us to gain a comfort level with our soon to be realized Mechanical Chauffeurs.  We won’t give up control, rather, we will share control with our cars by enabling an Autodrive mode.

When?  We will begin to see early driverless cars on our interstates over the next few years.  By 2025, driverless cars will be mainstream on our high speed highways.  It will likely be an additional decade, or about 2035, before we see driverless cars mainstream in urban areas and in our neighborhoods.

Next?  Well I predict that by 2025 with the advancement of the driverless vehicle and the continued innovation of automobile and flight based technology, we will begin to see vehicles that can not only drive themselves, but also FLY.

Continue Reading