Q&A Part 2: Perfecto Mobile Talks About Mobile Development and DevOps
March 31, 2015

In Part 2 of APMdigest's exclusive interview, Yoram Mizrachi, CTO of Perfecto Mobile talks about the DevOps and Continuous Quality in mobile development.

Start with Part 1 of the Interview

APM: What should DevOps teams be doing to help ensure mobile app quality?

YM: Two tactics that are essentially required for a high value mobile app today are:

Automation – If it can be automated, do so. By eliminating repetitive tasks, you give your team more time to solve real problems. You no longer have the luxury to have long cycles of manual testing and "stabilization periods" which can uncover unexpected problems.

Continuous Quality – it's incredibly important that applications are tested on all devices that they're offered on all the time. This can be a challenge, especially on operating systems that run on a wide variety of devices like Android, but also on iOS, which already have more than 40 popular combinations. The goal is to be able to know at any given moment what the version quality is on all relevant target devices. This is a DAILY task, not weekly and not monthly.

APM: What types of tools should DevOps teams be using to ensure mobile app quality?

YM: The best way to develop mobile applications is in a cloud-based environment that allows for multiple teams to collaborate remotely, protects data in case of a breach or error, and – possibly the most important – allows for automated testing to continuously run on the project when it is not actively being changed.

DevOps teams should be able to automate around 95 percent of all testing processes, and have this embedded throughout the entire mobile app development lifecycle. Unstable dev/test environment is the #1 enemy of DevOps. It causes teams to default to manual testing which results in a fragile release cycle. Cloud normally gives much higher uptime than any in-house lab or server.

APM: How does Continuous Quality change the equation for how Dev/Test teams embrace testing throughout the development lifecycle?

YM: Organizations who use old and traditional development methods simply cannot succeed with mobile. A team who does not practice a Continuous Quality workflow will end up working in a disconnected manner using very different tools from team to team, even within the same organization. There are a few mobile devices for testing on (and likely other purposes) on the developer's desk or QA desks, not hosted in a cloud environment and without governance and security.

The team heavily relies on manual and exploratory testing with some basic automation – this is far from a continuous integration machine, which can run thousands of tests overnight on multiple devices. This team has no tools to mimic end-user conditions, like various network profiles, carrier networks, GPS location testing, load testing etc., and therefore isn't testing a true user experience or truly covering the required testing needs.

The outcomes of such an outdated environment is limited visibility into the application quality and performance that often results in late and expensive defects identified by the field or customers. The effect of traditional practices in mobile is increased overtime and reduced quality, which is reflected in both app reviews and employee morale. This is because the app has more features, larger target devices and shorter time to release.

The key difference between a Continuous Quality process and other processes is that during the former, the barriers between developers, testers, and performance engineers are eliminated. The focus is put on quality from the beginning through a set of environmental assets, tools and a quality lab that provides the developers with a natural environment where they develop and test their mobile app in parallel, as part of their continuous integration (CI) workflow. Poor uptime of the lab will cause developers and testers to abandon it and as a result will push the Continuous Quality goal away.

APM: What are the new factors that DevOps must keep in mind when designing their mobile applications?

YM: The main new factors that I see affecting DevOps design structures are:

■ The wide variety of devices that are on the market, with new ones being released every day.

■ The ephemerality of device popularity – and, to some extent, OS popularity.

■ The need for a stable software development life cycle (SDLC) environment that includes testing capabilities.

■ DevOps needing to combine all types of testing into cycles, including security and load testing.

■ The need to limit manual testing processes to increase efficiency.

APM: How do you see mobile development changing in the near future?

YM: The SDLC will need to be managed in a cloud setting in order to ensure success, especially with DevOps, to allow for dispersed teams to collaborate effectively. Mobile development will change in the near future to create the best environment for developers— one that includes leveraging existing technology investments.

APM: Perfecto Mobile has been quoted as saying that you would like to combine the QA teams, monitoring and operations teams into one role. How would this change the organization?

YM: In general, with DevOps and agile processes, the combined team has visibility into everything. If developers can see what the effect of their work is in production, they will become more connected with business goals, and in turn will be more motivated and accountable.

APM: What benefits does Perfecto Mobile offer mobile development and DevOps teams?

YM: Perfecto Mobile offers the ability to embrace DevOps and test continuously throughout the development process, which ensures a level of quality and reliability that simply is not realistic for firms that rely on manual testing. Further, Perfecto Mobile also offers access to thousands of mobile devices (real ones, not virtual environments) to truly test the user experience. With this combination, Perfecto enables DevOps teams to focus on quality and fast development and not solving SDLC infrastructure problems such as logistics, abilities and availability.

ABOUT Yoram Mizrachi

Yoram Mizrachi founded Perfecto Mobile after serving as the CTO of Comverse Mobile Data Division. In this capacity, he handled a variety of technological aspects in mobile applications, WAP and location-based services. In 1999, Mizrachi was the CTO (and founder) of Exalink, which was later acquired by Comverse for $550 million. Prior to founding Exalink, Mizrachi held several technology-related positions in the fields of communication and cryptography.

Author

Pete Goldin

The Latest

June 23, 2017

Why Agile? DEVOPSdigest asked the experts for their opinions on what are the most important advantages of being Agile. Part 3 covers how Agile enables you to grow and adapt to change ...

June 21, 2017

Why Agile? DEVOPSdigest asked the experts for their opinions on what are the most important advantages of being Agile. Part 2 is all about speed ...

June 19, 2017

Earlier this year, DEVOPSdigest featured a list of expert opinions on the essential steps to become agile. Now that we have an idea on how to achieve agility, however, we have to consider why. What's the payoff? With this question in mind, DEVOPSdigest asked the experts — including analysts, consultants and vendors — for their opinions on what are the most important advantages of being Agile ...

June 15, 2017

In the development community, creating additional efficiency through improved collaboration has been prevalent for some time. But despite the head start on the rest of the corporate world when it comes to collaboration, many organizations function today as they did 15-20 years ago. Since time is money in the tech world, outdated collaboration is a huge missed opportunity ...

June 14, 2017

Given the efforts we put in these days to deconstructing monolithic applications, and using distributed microservices to make us more agile, the potential for app performance to take a nosedive because of unseen (and unanticipated) network congestion and outages is only getting greater. There is help at hand, though, in the form of new ways to program network awareness directly into your code ...

June 12, 2017

What if you discover a fatal error or an exploit in your app? What if your app is down during a crucial time? As a developer, how you react to a crisis can mean the difference between minor blip and an embarrassing or costly company blunder. Here's a crisis management plan to get things right when they go wrong ...

June 08, 2017

Recently, the results from SmartBear Software's annual survey, the State of Code Review 2017: Trends & Insights into Dev Collaboration were released. One point I found interesting is that it suggests only 66 percent of organizations can get releases out on time. Why are the other 34 percent struggling to get releases out the door? ...

June 06, 2017

Today's app development landscape is competitive and expensive. Thousands of apps are released each month, and user acquisition and retention are costing app developers millions. User abandonment is one of the main battles of every app developer — as every lost user means another wasted investment ...

June 05, 2017

Developers love using containers to build, run and ship applications in a flexible and simple way. However, the technology has received backlash for not being as secure as other (traditional) methods, such as Virtual Machines (VMs). Securing containers and securing VMs requires a completely different process. Below are four key differences between securing containers versus securing VMs ...

May 31, 2017

DevOps results in improvements in software delivery performance, according to a new first-of-its-kind study by CA Technologies to quantify the benefits for companies that combine DevOps methodologies with Cloud-based tools and delivery mechanisms ...

Share this