How to make DevOps emerge into Maturity

DevOps remains the rage throughout the technology industry. Companies look to its optimized organizational structure that – when combined with the leveraging of state of the art innovations in automation and virtualization – facilitates the production of software faster than ever before. This includes new application development as well as enhancements and bug fixes.

Still, DevOps is a relatively new movement in IT and, as such, it is still maturing. Let’s take a closer look at what’s hampering its adoption in the tech world, with an eye on whether implementing its concepts makes sense for your organization.

Organizations struggle with Change

Many large organizations attempting to embrace DevOps struggle with the large scope of change, spanning the technical, cultural, and structural. Separate teams that formerly ruled over a singular domain now have to work together as one group. This especially impacts the network administration and software engineering roles.

Technical hurdles involving the use of new automation tools as well as the latest in virtualization technology, like Docker, also need to be overcome. Companies already using these tools are more ready to take on the other changes required in a DevOps implementation. As we’ve noted in the past, already having Agile in place as a software development methodology makes it easier to add DevOps to the equation.

Corporate Culture and Legacy Systems hamper DevOps Adoption

A recent survey reported on in ZDNet revealed corporate culture remains the biggest barrier to DevOps at many organizations. In many cases, this “culture” includes a host of legacy systems still in use, in addition to a company structure defined by those singular domains mentioned earlier. Industry pundit, Shashi Kiran, commented on some of the issues hampering DevOps adoption in the IT world.

“Starting out with a clean slate is always relatively easy. Preserving or integrating legacy in brownfield environments is where it becomes both challenging and interesting. For the next several years that’s where the action is. Enterprises that have invested in technology over the past few decades suddenly find that they can now actually create tremendous legacy inertia to move forward. So, while many have adopted DevOps practices, it has begun in pockets across the organization,” said Kiran.

Fostering a Collaborative Spirit at Technology Companies

Getting past any cultural concerns adversely impacting DevOps implementation requires fostering collaboration and teamwork. Once again, this is one of the reasons DevOps works better at companies already familiar with Agile. Chris Cancialosi, Ph.D., a founder at gothamCulture, feels understanding the right metrics is another essential piece in convincing executives their investment in DevOps will pay dividends.

“First, measuring and understanding your current state baseline is critical. A valid and reliable assessment ensures you are in a position to change, assists in helping leaders understand the potential obstacles that currently exist in the system, and helps organize and prioritize the change activities that must happen in order to embed these new ways of working into the cultural fabric of your company,” said Cancialosi.

In short, once everyone realizes the positive difference DevOps, automation, and virtualization makes on the software delivery process, it becomes easier to make the necessary cultural and structural changes to fully embrace this new way of doing things.

Stay tuned to the Betica Blog for additional insights from the wide world of software development. As always, thanks for reading!

News from the Worlds of Software Development and QA — July 2016

Welcome to this month’s look at a few interesting stories over the previous few weeks from the worlds of software development and QA. Last month, the new continuous testing QA methodology and the hope for standardized software testing practices in the video game industry were some of the topics we covered. Read further to see if any of July’s news inspires your own development and testing efforts.

Leveraging the Scrum to improve the QA Process

Companies that are veterans of the Agile methodology typically use scrums to promote communication between developers and their business stakeholders. These daily stand-up meetings ensure project statuses get reported and important action items aren’t missed. In a July article for TechRepublic, Transworld Data President, Mary Shacklett, talks about the benefits gained including QA personnel in the scrum.

She describes a variety of software failures in her past that could have been prevented if only collaboration between QA and developers were improved. This needs to happen throughout a project, but it is especially vital at the beginning when application design and prototyping take place. In the past, we’ve talked about the importance of catching software (or design) errors early in the process, as the cost of fixing issues increases exponentially later in the SDLC.

Shacklett also feels both developers and QA engineers need to be involved with executing unit tests, a task typically falling to the developer who wrote the code in question. End users and business stakeholders also need to be involved at important points during the SDLC, most notably before the app (or enhancement) is deployed into production.

Popular Developer Phrases that annoy the QA Engineer

As we just noted, it is important that software engineers and QA professionals work well together on the same team. That doesn’t mean developers don’t have their pet sayings that annoy their software testing colleagues, as noted in an article in DZone. While humorous on the surface, they do reveal a need for better collaboration — something improving in the industry with the increased adoption of Agile. Here is a quick sample.

“But it works on my machine” — is a common refrain after a QA engineer finds a bug in code that probably passed the developer’s unit tests. Maybe that company needs to use a better environment manager, like Vagrant

“Are you sure you are testing the right version?” — which is a phrase potentially illustrating the poor management of versioning and builds.

Check out the DZone article for other similar examples of programmer-speak.

The Hottest Technologies for Software Developers

A recent survey of software engineers from Evans Data reveals the hot technologies currently in vogue with developers. Four technologies stood out from the rest of the pack. The Internet of Things was noted by 45 percent of the surveyed Big Data developers, while the Cloud is considered hot by 27 percent of all developers.

Over half of the data mining app developers are working on robotics applications, and nearly a quarter of all developers are involved in machine learning development.

It is surprising to note the importance of parsing massive amounts of data among IoT and robotics applications, which probably speaks to the higher adoption rate of those two technologies in the industrial sector compared to the home.

Come back to the Betica Blog for additional news and insights from the related worlds of software development and QA.