Speed and quality cannot have both, why is it so difficult to implement DevOps?

According to Veritis's 2019 State of DevOps Report, organizations that implement DevOps correctly have a distinct competitive advantage: 208x more software deployments, 2,604x faster incident recovery, and 7x lower change failure rates. This result allows more enterprises to see the efficiency of DevOps, and also makes DevOps gradually become the mainstream trend in recent years.

Techstrong Research and Testlio recently surveyed more than 1,000 engineers and DevOps professionals to find out their views on talent shortages, automation and shifting left. The survey found that most companies are facing a shortage of talent, and many teams have to sacrifice software quality in order to increase the speed of software delivery.

Here are a few sets of data from the survey results:

  • 80% of companies lack QE talent

In the software development process, Quality Engineer ( QE ) is a key position whose main job is to automate some manual and repeatable tasks to make the process more efficient and less error-prone. According to Techstrong Research, only 12% of teams have the right QE talent, over 80% cannot find QE to support testing and automation, and a large number of these teams do not have sufficient talent acquisition budgets.

In fact, it's not just QE that is facing a talent shortage, but all DevOps skills roles are facing a talent shortage. Gartner has predicted that 75% of DevOps initiatives will fail to meet expectations by 2022 due to talent shortages .

  • 81% of enterprises cannot achieve fully automated testing

Test automation is one of the key capabilities of test teams. The survey found that more than half of the teams have used automation for testing, but only 19% of them can achieve fully automated testing, 12% of enterprises still use manual testing, and 26% of respondents said they would like to be able to leverage automation in testing.

Among the various types of testing, the best use of automation is regression testing. Automated regression testing saves testers time, freeing them to focus on exploratory testing of new features. When implemented properly, automated inspections can run automatically with minimal or no supervision and minimal human intervention.

However, when you have an automated testing tool, be wary of the notion that you automate all your tests to get rid of all the "manual testers".

  • 54% of businesses fail to meet user needs

Also of interest is the continued demand from users for new software features, functionality and updates, increasing the pressure on businesses to deliver quickly. 54% of respondents said that user demand for developing new and updated software cannot be met.

And companies that claim to "can do it" often sacrifice quality for speed. For example, in order to save time, incomplete or superficial testing is carried out before release. Although the software developed in this way can follow the release plan, it cannot meet the expectations of consumers for software quality. Over time, these quality issues will eventually be exposed, resulting in user distrust and even user churn.

To balance speed and quality, Emeka Obianwu , VP of Partner Ecosystem at Testlio, recommends avoiding zero-sum games. Iterating quickly and developing high-quality software don't need to get in the way of each other. In a highly optimized software development cycle, development speed and software quality should go hand in hand.

  • 79% of enterprises integrate testing in CI/CD pipelines

With project teams under tremendous pressure to deliver defect-free products, many are adopting a shift-left approach, continuous testing strategies, and strictly closed feedback loops to integrate testing into every part of the CI/CD pipeline. According to a Techstrong Research survey, 79 percent of enterprises integrate testing into their CI/CD pipelines, though most of them are in shallow practice.

Application testing plays a critical role in balancing speed and quality, and in order to keep up with the need for speed and ongoing skills shortages, integrating automation and testing into DevOps processes is critical.

  • 58% of businesses believe that "shifting left" means enabling continuous testing

The mantra of " shift left" has been discussed in the DevOps market for several years and is expanding to other parts of the business. But what does "shift left" mean when it comes to testing? Techstrong Research found that 58% of businesses believe that "shifting left" means enabling continuous testing. This shows that the industry as a whole has changed dramatically, and over the past few years, "shift left" has been synonymous with shifting the burden of testing onto developers. 

In the software development life cycle (SDLC), the cost of detecting and fixing software defects increases exponentially over time. The more early in the development process the test fixes the problem, the more significant the cost reduction for shift-left testing. It reduces errors in the initial development phase by aligning code with early test cases, and defects are fixed as they are discovered, rather than after the final test cycle, saving repair costs and valuable development time.

A typical testing cycle is where the DevOps team delivers the code, the testers run the tests and send back issues, and the cycle repeats, while a shift left eliminates the lengthy back and forth between development and testing. Embrace the shift left and eschew the standard two-week black-box testing cycle so that testing becomes the backbone of the CI/CD pipeline and teams are able to meet coverage, quality, and speed requirements.

The shortage of talent, the low level of test automation, and the sacrifice of quality for speed, as revealed by Techstrong Research 's survey results, did not appear suddenly, but have existed for a long time.

There are many companies concerned with DevOps who have been looking for solutions, and it has become an industry consensus to use tools to improve processes. Therefore, many DevOps tools have emerged, such as the issue tracker JIRA that provides bug tracking and agile project management functions, and Maven that automates the construction of Java projects, etc. However, most of the tools on the market can only solve some problems, not fundamentally Remove obstacles in the DevOps process of enterprises .

How to fundamentally remove the obstacles in the process of DevOps practice has become a pain point that everyone needs to solve urgently. It is precisely because of this that Chen Dingwei, President of FeiSuan Yunzhi, started the research and development of FeiSuan SoFlu software robot six years ago. He said that the implementation of DevOps is highly dependent on talents and requires very high basic quality of personnel, which is also the reason why many IT companies have to fail when practicing DevOps.

Taking the test problems mentioned above as an example, the fully automatic test platform of SoFlu software robot can optimize the implementation of DevOps in the enterprise. It can realize test life cycle management, automatic test case generation and test data management in an automated way. , accurate regression testing and a series of functions, not only lowers the test threshold, allowing beginners to easily get started, but also reduces the occupation of resources for testing and improves execution efficiency.

In addition, Feishuan SoFlu software robot also adopts general technical function modules, which support components such as loop, condition judgment, and function call. Users can complete programming as long as they configure parameters by dragging and dropping according to business logic. Moreover, the platform unifies the code specification and does not rely on manual coding and review, so the high quality of the code can be guaranteed from the source. All in all, the SoFlu software robot meets the low-threshold development requirements through visual programming, and automatic development can be realized by entering the flow chart.

FeiSuan SoFlu software robot can solve more than development problems. In fact, in the process of software project development, risk is almost everywhere. Whether the project progress is normal, whether the software quality is strictly controlled, whether the technology is mature, whether the system architecture meets the performance indicators, etc., will threaten the final delivery result of the software. Effectively identifying, controlling and managing risk plays a critical role in the success of a project.

With the SoFlu software robot, one person can complete the whole process of development and testing, which not only improves the efficiency of development and testing, but also ensures the quality of the code. It also frees the entire software engineering process from relying on manpower and solves the problem of insufficient talents. . Using the SoFlu software robot for development can truly realize "one person, one project, ten people to one hundred people".

{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/u/4868096/blog/5497131