Q&A Part 1: Perfecto Mobile Talks About Mobile Development
March 30, 2015

In Part 1 of APMdigest's exclusive interview, Yoram Mizrachi, CTO of Perfecto Mobile talks about the challenges of mobile development.

APM: How is mobile app development and testing different than web and traditional app development?

YM: Development environment – When developing for web, all you need is a normal workstation and standard browser. With mobile, you need devices (which you must manage the inventory and maintenance of) attached to the workstation, either physically or through a cloud platform. As oppose to web, where your tools are the same as your target, with mobile, emulators are not always true to the real devices that are in consumers' hands.

Skill set – Native mobile app development requires a different skill set than web, especially depending on the platform – for example, developing for iOS (Objective-C or Swift) isn't the same as developing for Android (Java). While there are differences between browsers, because they all use the same language (HTML & JavaScript), and there are certain standards that all implement, it's much easier to develop for a multitude of browsers and can usually be done in parallel.

Functionality – Mobile offers many more engagements available for mobile that do not exist for web apps. Take sensors for example. There's a whole range of capabilities for mobile that involve sensors, location based, accelerometer or things like opening your hotel room door or tracking daily fitness. Plus, web browsers lack push notifications, which are arguably one of the most important features of mobile apps. With web development, push notification usually came in the form of "sending an email". With mobile, this is completely interactive and part of the overall user engagement.

APM: What factors determine success in the mobile development space?

YM: User engagement and experience is the most critical success factor. Because mobile apps feel much more personal than websites, users are giving experience much higher importance than they would with a website. Your quality is immediately reported publicly in the form of app store reviews and other social networks. This is not the case with web, where the overall quality is a much less discussed matter. If you don't have a good app, your users – or former users – will talk about it and write about it, and word will spread. Mobile is all about the user experience.

APM: What percentage of enterprises base their entire mobile software development life cycle on traditional waterfall or pre-agile practices?

YM: No more than 20 percent are strictly waterfall whereas about 80 percent practice agile, but of that agile group I estimate that 80 percent are in the beginning stages.

APM: What challenges do these enterprises face?

YM: The three biggest challenges:

Change of mindset. It's the movement from develop > quality assurance > Operations > DevOps. This means that at any given moment, you need full visibility into the product's state of quality.

Developers have to start thinking of quality first, instead of submitting hastily written code and relying on the quality assurance teams to catch their mistakes every time. Now they are the quality assurance team, as well as the development team. There's a greater sense of accountability for developers. While this may sound harsh, there is an impressive positive side effect – they're better developers that turn out better products. While it seems simplistic, attaching the original developer to a bug does encourage thorough adherence to both testing and best practices, as well as a greater focus on logical architecture and thus, fewer shortcuts that will be costly in the long run.

Finally, operations have to optimize. They need to upgrade continuously – often in 24-hour cycles, depending on the product.

APM: Is DevOps the answer to these challenges for mobile app development?

YM: Yes, with two caveats.

First, DevOps needs to become more enterprise friendly, or easily scalable, without sacrificing quality.

Secondly, in order to be able to truly implement DevOps, you need to have 95 percent of your testing automated, with the goal being that products can be released at any time without unknown bugs popping up. Manual testing cannot be part of this accelerated cycle. The mobile market environment does not allow you the time that Waterfall offered: you can't release a support for the new iPhone 6 months after its being released, this is simply not an option, so the question is not "is DevOps?" but "how DevOps?"

Read Part 2 of the Interview

The Latest

November 14, 2018

What to automate? Which parts of the delivery process are good candidates? Which applications will benefit from automation? At first, those sound like silly questions. Automate all your repetitive processes. If you think that you'll do the same thing manually more than once, automate it. Why would you waste your creative potential and knowledge by doing things that are much better done by scripts? Yet, an average company does not adhere to that logic. Why is that? ...

November 13, 2018

I'd love to see more security automation deeply integrated into the development process. Everybody knows since the 1990s that security as an afterthought just doesn't work, yet we keep doing it. The reason, I think, is because it's very hard to automate security ...

November 09, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 5, the final installment, covers deployment and production ...

November 08, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 4 is all about security ...

November 07, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 3 covers the development environment and the infrastructure ...

November 06, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 2 covers the coding process ...

November 05, 2018

Everyone talks about automating the software development lifecycle (SDLC) but the first question should be: What should you automate? With this question in mind, DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 1 starts with by-far the most popular recommendation: Testing ...

October 31, 2018

Halloween is a time for all things spooky, but not when it comes to your mobile app experience. A poor experience can not only scare off your customers but keep them away for good ...

October 30, 2018

As organizations have embraced open source, they have become polyglot — using multiple programming languages and technology stacks to accomplish software and hardware related tasks. Enterprises are caught between the benefits provided by a polyglot environment and the complexities and challenges these environments bring. Ultimately, if the situation remains unchecked, polyglot will kill your enterprise ...

October 29, 2018

Factor 5 of the Twelve-Factor App relates more to processes and advises strictly separating the build and run stages. The emphasis is on identifying and separating each stage of app development, and encouraging automation between each so as to accelerate the process ...

Share this