Are Developers finally starting to Understand DevOps?

devops-blog

Software developers remain a curious and opinionated bunch. Over the last few decades they tend to adapt slowly to new methodologies, with DevOps offering little exception to this golden rule. A recent survey reveals things are finally beginning to change, as it shows application engineers beginning to actually “get” DevOps.

Of course, we recently wrote about network administrators feeling DevOps is all about the “Dev” in the first place. What follows is an analysis of the survey to see what these changing opinions mean for the process of software engineering. Perhaps you might gain an insight or two to help your own team’s project work?

Survey says DevOps makes Software Development Faster

Most organizations implementing DevOps do so in the hopes of making their software development process faster and more efficient. A survey of software engineers, CTOs, and IT pros by application maker, GitLab, notes that these wishes appear to be coming true. News about the survey appeared last month on the Developer Tech website.

According to the GitLab study, two-thirds of those polled feel DevOps greatly improves the speed of the software development process. This 65 percent moves upwards to 81 percent when only taking into account the opinion of managers. 29 percent of those surveyed plan new DevOps investments in the current year.

The best shops using the methodology are able to spend at least half of their workday actually writing code. Changes get deployed on demand. In short, these top organizations are twice as productive as those whose DevOps implementation is either immature or nonexistent.

Challenges to Efficient Application Engineering Remain

In their survey, GitLab highlighted a few challenges to the software development process. Two-thirds of the respondents noted the lack of clear direction on application engineering projects. Slightly over half mentioned the need for rework and unexpected scope creep, while 31 percent felt unrealistic expectations hampered their efforts.

Leveraging automated processes to improve efficiency is a high priority at 60 percent of the surveyed organizations. Around 90 percent of those companies are currently using Agile, DevOps, or a mixture of both. 16 percent are still using the venerable Waterfall methodology for some or all of their development work.

Continuous testing also plays an important role in the ultimate success of any company’s DevOps adoption, a concept highlighted by Razi Siddiqui, SVP and CIO at GCi Technologies. “It’s a key indicator that your DevOps/agile practice is mature, and your QA strategy must take into account that 100% test automation is not practical – nor is it possible,” said Siddiqui.

Sid Sijbrandij, CEO and co-founder of GitLab, commented on their survey conclusions. “The survey reveals software professionals finally see the need for DevOps in their workflow and are beginning to adapt their workstyle in order to make this a reality. Despite the progress in the shift in mindset, current DevOps practices are not cutting it. Instead of a single application that accomplishes the goals of both Dev and Ops, many glue together the tools for the two departments, which has proven to be an ineffective means for collaboration,” said Sijbrandij.

It definitely appears that any enterprise software development not using DevOps runs the risk of being left behind in today’s business landscape. Thanks for reading this edition of the Betica Blog. Keep returning for additional insights on the wide world of software development.

React.js gets a Fresh Update

reactJS

With Facebook’s founder testifying to the U.S. Congress, in unrelated news, the company’s React.js UI library for JavaScript recently received a new update. Version 16.3 of React provides a host of new features for developers hoping to add some efficiency to their web applications. If you are interested in downloading it, the update is available on Facebook’s own GitHub repository.

If your team isn’t using React, check out our previous articles covering it and its mobile variant, React Native. What follows is a high level overview of React version 16.3. News about the new update appeared in InfoWorld, among other sources.

A Look at the New Features of React.js 16.3

The main changes in the updated version of React involve improved management of the component lifecycle, as well as a new API to help developers better deal with context in their application. These new component lifecycles include: getDerivedStateFromProps and componentWillReceiveProps, which gives programmers a safer option than using the legacy versions. Another one, getSnapshotBeforeUpdate, safely handles the reading of properties before performing an update.

Some lifecycles are receiving an “unsafe” prefix to warn developers not to use them. Runtime safety isn’t the issue as much as the likelihood of deprecated functionality and subsequent incompatibility with future versions of React. In short, they are warning you about potential future bugs. Another reason for this is providing a “heads up” to engineers maintaining open source applications using React.

Facebook engineer, Brian Vaughan commented on what led to this new lifecycle functionality. “A few days ago, we wrote a post about upcoming changes to our legacy lifecycle methods, including gradual migration strategies. In React 16.3.0, we are adding a few new lifecycle methods to assist with that migration,” said Vaughan.

Another option involves using the new StrictMode component. This serves to identify any unsafe legacy lifecycles when running in development mode. It also warns about other side effects from using older lifecycles and React functionality. Expect additional features to be added to this component in future updates.

The New React Context API adds Efficiency

In addition to providing a boost in efficiency, React’s new Context API allows for static type checking and deep updates. Data is able to be passed through a component tree without the manual inclusion of props. The old API is expected to still work for a few more versions, so start updating your code to use to new one.

Facebook cautions about overusing the new API. “Don’t use context just to avoid passing props a few levels down. Stick to cases where the same data needs to be accessed in many components at multiple levels,” said the social network’s development team.

Other fresh features in React 16.3 include a new API for managing refs, called createrefAPI. This lets programmers access DOM nodes or React elements derived from the render process. The forwardRef API facilitates code reuse by help devs use higher-order components for this purpose.

Since React is effectively becoming a standard for UI development in web applications, we hope this look at its latest version provides some insights for you and your team. As always, thanks for reading the Betica Blog. We hope to see you again very soon!

Is there already a Backlash against DevOps?

web

Like any newer software development methodology, DevOps obviously has many proponentsy proponents, but at the same time others feel antipathy towards the practice. Similar reactions have happened in the past; for example, with Agile, as well as even older methodologies, like the Waterfall. Software engineers tend to be a passionate group, and it is not surprising that a measure of dissension arises once anything reaches a certain level of popularity.

Here is a closer look at some of the rationale behind a DevOps backlash. If your organization already uses it or is considering the transformation of its own software development process to follow its principles, read on for useful insights.

A Major Reason Developers are threatened by DevOps

A recent article by the DevOps development shop, Fixate, looked at why some developers hold a grudge against the methodology. One major reason is many software engineers are used to handling full-stack development – everything from the database design to the middleware to the user interface. They are even able to deploy the completed application into production.

DevOps divides many of these responsibilities among a collaborative team while also leveraging automated tools to increase the efficiency of the software development process. Organizations are trying to thrive in an increasingly competitive business landscape, and this fact remains the biggest driver of the adoption of DevOps. Intra-team interaction and speed are the keys, not necessarily the venerable lone cowboy programmer who’s a jack of all trades.

Modern companies using DevOps want technology professionals that are experts in a specific area and are able to work well on a team. This makes full-stack developers feel threatened about the future of their careers, so they lash out at DevOps. The concerns of the business generally carry more weight when it comes to a choice of methodologies.

Is DevOps a Poor Fit for the Enterprise?

Fixate also notes the difficulty in successfully adopting DevOps at larger enterprises that already have their own well-defined software development processes. Still, as the practice matures, many larger organizations are successfully transforming to take advantage of the new methodology. Expect this rationale to lessen over time as DevOps continues to evolve, and the tools that support the process add more useful functionality, especially containers and process automation.

Steps to combat a DevOps Backlash

With DevOps rapidly becoming an industry standard, any naysayers, especially individual developers, will likely have their voices drowned out. Larger enterprises still wary of the practice need to consider their ability to survive in a marketplace where the competition is taking advantage of DevOps in larger numbers. Fixate feels that fans of the practice should continue to advocate its advantages while keeping an open mind towards those who may feel differently.

Ultimately, there is no denying that DevOps is almost an industry standard. At the minimum, companies of all sizes need to explore following at least some of its practices in addition to taking advantage of related tools to make its own software development process work better. Remember, your competition is probably doing the same thing.

Stay tuned to the Betica Blog for additional dispatches from the always evolving software development world. Thanks for reading!