In this interview, Prathap Dendi speaks about Ship.io and why testers should be interested in continuous integration and continuous delivery, as well as why agile is such a natural fit for mobile development. Prathap also tackles the impact of cloud and mobile on international business.
Cameron Philipp-Edmonds: All right. Today we are joined by Prathap Dendi of Electric Cloud. To start things off, let me thank you for joining us today.
Prathap Dendi: Thanks Cameron. How are you?
Cameron: I'm doing well, thank you. Can you tell us a little about yourself and your role at Electric Cloud?
Prathap: Absolutely. First of all, The Giants just won the World Championship, so I want to give a huge shout-out. Ship.io is literally blocks from Giants headquarters in San Francisco.
So, I'm Prathap Dendi. I've been with the company called Electric Cloud, the leader in continuous delivery solutions in the market. I've been with the company for about three, three and a half years. And what we're super excited to talk about is we just launched a brand new service called Ship.io that's focused on mobile development and testing on the cloud.
Cameron: Fantastic. Now, how does mobile testing differ from testing software for other platforms?
Prathap: Oh, fantastic. A great question. So, I'm a developer myself, even though I wrote really bad code. So I've not written code in ten years. When I was doing Java-based development, testing was a huge part, test cases and test results. Quality of the multi-tiered app was very important.
Now with mobile apps, what's significantly different is how consumerized the behavior has become. So, today my three-year-old will delete an app if the quality doesn't come through. So the quality for mobile apps these days is very roughly defined as how many stars they get on the mobile reviews. Whether it is an enterprise app or a consumer app, the mobile user flows and user experience is a bigger part of testing now than it has ever been for multi-tiered apps before.
Cameron: OK. Now when you talk about user experience, is it more with the patience with it, or is it more of the overall user interface?
Prathap: It's absolutely everything. So, let me walk you through. When I was a part of IBM, we used to ship a lot of software, and it used to be that provider of an app had time to train the user on how the interface works, and what is the outcome to expect from the app?
Now in the mobile Apps, you literally get ten seconds in the user flow. Download it and try it and if you're not in the core value use case in the first ten or fifteen seconds—that's a benchmark now. If the user is not into your first use case by the time he logged in, you already lost him. That's how much the consumerization of enterprise has been impacted through mobile apps.
Back to your question, testing of apps now, it has everything to do with overall user experience, including the functionality of it. So we still do the unit testing, we still do the functional testing, but what's significantly different is things like simulation, crowd-based testing, over-the-air testing, all of these are fundamentally new, that we didn't have in the Java and C/C++ world.
Cameron: You talked about crowd-sourced testing and that type of thing. How important is it for mobile testing to be approached with agile development tools and agile methodologies?
Prathap: That's a great question. You may be aware, about a month or so ago, Facebook made a very public announcement that they'll be launching a new app version every four weeks. Now compare that to enterprise where the release cycles used to be a few months, if not a few years. If you're in embedded software, you're shipping a car, or shipping a rocket launcher. It used to be long delivery cycles. Same thing with multi-tiered apps.
Now with mobile apps, fundamentally, the release cycles have shrunk. Now they are a few weeks or even less. So, as a result, companies have redone their processes out of mobile.
So they want the very quick ability to make changes, almost feature-level changes, and a big part of release strategy for them is being able to do A/B testing, cloud-based testing. As you know, apps get tested in—you're able to do it—in a different market before you go for a general launch. That's where mobile testing is these days.
So agile is such a natural fit for mobile app development than it has ever been for software development in general.