Jonathan Kohl discusses where he thinks technology is headed, how mobile devices are changing what we test, and what all that time we spend socializing online is doing to workplace productivity.
A thought leader in mobile application testing, Jonathan Kohl has been a pioneer in applying effective software testing, business analysis, and design and project management on mobile application projects.
Heather Shanholtzer: During a recent conversation, you said we are undergoing a major shift in technology. What did you mean by that? From where to where?
Jonathan Kohl: This is what I see: Technology is moving toward a combination of mobility, social connections, and gaming and entertainment.
That means we need to be aware of combined technologies, combined software and tools, and combined activities. This requires that we solve new problems with new technology, or different combinations of technology we are familiar with.
The last shift was to the web: e-business, web interaction, etc. We moved to a distributed model where we gave people access to things that they may have had limited or no access to. We made it possible to do a lot more remote work, and we created web versions of business applications to support that. We created virtual stores, virtual social centers, and digitized and opened up a lot of information.
Now we are shifting again, and mobile devices, social interactions, and gaming and entertainment are moving us to a ubiquitous, embedded model of computing. Rather than go to a PC and connect to the web, we have a computer in our pocket. Rather than use software remotely in the same way we would in the office, software is changing to reflect things we like to do in social situations.
Heather Shanholtzer: From a business perspective, what are the benefits and challenges of this newfound mobility?
Jonathan Kohl: The potential benefits are enormous. We can use technology in places where we haven’t before, so we can be productive in ways we had only dreamed of in the past. As workers become more mobile, they have opportunities to perform work and have access to important information, when in the past we would have classified this as lost time. (For example, I am currently answering these questions on a mobile device during time that would have formerly been “lost time”.) Also, the applications themselves are shifting to help tap into other ways of solving problems that mimic our online social interactions. There is huge potential here.
One challenge of the “always connected” environment is that it is difficult to have a work-life balance. If the devices are buzzing and beeping at us with work-related issues 24/7, it affects our rest, our lives, and our health. I’ve had to adjust my devices and be quite strict about the times when I am working and the times I am not, or I start to lose track of time and my personal life suffers.
Another challenge is the unintended consequences that will occur as a result of this new model. There is the constant connection to work, but these devices and the social applications we use are addictive. As companies start to utilize new technology, we will see problems with burnout, stress-related illness, and addiction-related issues that will result in lost productivity and personal problems.
Heather Shanholtzer: When I think “social,” I tend also to think “not getting work done.” How do you think this social approach to business is going to affect productivity?
Jonathan Kohl: That is an intuitive response, but the social aspect can be harnessed as a productivity enhancer. Just think about the time we spend on social networking sites or playing social games. We have no problem doing repetitive tasks in those applications. We can be amazingly productive in a game or when keeping up with relationships and sharing information in a social networking site. If there is an intrinsic motivation to do something, that is powerful. For example, when uploading all of my trip photos in a social app so friends and family can see how I spent my holidays, the reward of the interaction and information sharing outweighs the tedium. In the workplace, we often have repetitive, tedious tasks that we leave off until the last minute, or we engage in busy work to avoid them, even though in a social setting we would tolerate or possibly enjoy those same sorts of tasks.
Companies are realizing that the social gaming and entertainment applications tap into an intrinsic willingness to be productive, so they are starting to incorporate some of those features in their applications. There is a related movement called the “gamification of work” that is exploring how providing rewards in work applications can tap into this enormous productivity potential.
Our personal social networks are powerful mechanisms for sharing information, collaborating, and solving problems. Social networking sites are not just places where we post pictures of our meal, complain or brag, and comment on the latest outfit our friend put on his cat. We also ask for help, and our network puts us in touch with the correct people to help us solve problems or provide services. We also have access to a huge amount of important information about trends, current events, and developments that impact not only our personal lives but our professional lives as well. Companies are realizing that these systems are powerful, and they are coming up with ways to replicate these environments in the workplace. If we enjoy spending time in a corporate application the way we do a social application, what might we accomplish?Heather Shanholtzer: Above, you state that we need to be aware of combined technologies, combined software and tools, and combined activities. That sounds like it has the potential to introduce a lot of variables (i.e., bugs). From a software testing perspective, what do we need to be on the lookout for? Where are the best places to focus our testing efforts?
Jonathan Kohl: There are a lot of combinations of technologies that support a mobile experience and more coming out all the time. The most obvious are the actual devices—releases of new phones, tablets, and related technologies are a seemingly daily occurrence. Behind the scenes, there are a lot of shifts in technology as well. As mobile, social networking, and the media and gaming constraints are felt, companies are solving problems in unique ways. There is a big shift in technology to create the backend systems that support mobile activities. Two obvious ones are the cloud (to help distribute data) and noSQL (a different storage system from the traditional database.) On top of that, there are the myriad combinations of networks that support mobile activities that can cross companies, borders, and eras of technology. That provides a lot of variables to testing—and many points where things can go wrong. Even providing an accurate location of where you are right now, and how an application handles movement and error conditions, is complex. The entire space is filled with complex combinations and new technology, so it is full of potential problems. When I train mobile testers, they are often surprised at how simple it is to find problems in these devices and systems, if you know where to look.
From a testing perspective, the first place to focus is on your users and develop scenarios based on their usage and the environments they work in. What devices will they use the most? Where will they use them and under what conditions? If you replicate that experience by getting out of the test lab and testing in the conditions that your user community will face, you will find a lot of important problems. User scenarios in unique environments help focus testing combined activities, which will help you maximize your ability to find those important problems. If you stay in the test lab, you’ll miss most of the important ones: handling dead spots, dealing with weather extremes (e.g., how does the device work if someone is wearing gloves?), etc.
One of the big areas testers need to focus on is usability issues, because the devices aren’t as easy to use as their larger PC cousins. If a user is out and about trying to be productive and the application is frustrating him, he’ll move on to a competitor’s offering in a manner of seconds, at a cost of almost zero. Testers also need to look at the capabilities of their device and find out what features the application utilizes and how problems, interruptions, connectivity, communication, and starved resources affect the application’s behavior.
Heather Shanholtzer: Will the software tester’s role change in this new model? What skills do you think are going to be most valuable to a tester in this mobile, social, “always-on” environment?
Jonathan Kohl: I don’t see a role change—a valuable tester is worth his weight in gold to a project—but a big shift is in the activities we undertake. Testers will need to be technology savvy: They need to get a new device, rapidly analyze it, learn its capabilities and weaknesses, and incorporate it into their testing and provide feedback to the team quickly. Mobile projects tend to have very compressed schedules and a lot of change, so testers need to focus on high-value information gathering and reporting activities or they will fall behind. They also need to be aware of new technologies that support these systems, such as the cloud, noSQL, and other libraries and tools that are rapidly emerging. We are even seeing people solve problems with grid-computing tools, which in the past were often relegated to scientific research.
Testers will also need to understand social networking, social gaming, and, if they aren’t yet immersed in the mobile and social worlds themselves, to do research on how people rely on and use the devices. Just doing functional testing in the lab isn’t going to help find the important problems unless the application was designed to be used solely in the test lab.
Skill-wise, testers will need to be creative, good at generating test ideas, able to re-create and record problems they find as they wander out in the world, and willing to try different scenarios and clearly report that information back to the team. They will need to create structure in an environment that is chaotic, but a structure that focuses on test execution and reporting, not on doing a lot of paperwork. A lot of traditional processes are too rigid and heavyweight, so testers will need to find a balance.
To help people who are adjusting to mobile projects, I have started to collect my published resources here: http://www.kohl.ca/publications.html#mobile.
Heather Shanholtzer: Finally, what tools and technology are you most excited to see coming down the pike?
Jonathan Kohl: I like where tablets are heading in the enterprise. I’m pleased to see their use increase, because they fit the bill in so many ways. Laptops are often overkill when all we need is access to our email, calendars, documents, and presentation materials. Personally, I look forward to travelling and presenting with just a tablet and my mobile phone; I can leave the heavier laptop at home. We are almost there.
Since these devices are less expensive than PCs, there are people who are from less fortunate backgrounds who now have access to the Internet. This is fascinating to see. It’s exciting to see how technology will enable those who might have been left behind in the past.Technically, I am really excited about the noSQL movement. I’ve dealt with a lot of problems over the years involving performance in web systems, and I’ve seen clever solutions used to reduce database interaction bottlenecks. Now, there are actually more tools out there to help out as mobile, social, and other applications stress traditional models. I’m also watching the HTML5 space as traditional rich-client plugins struggle with the mobile space. It will be interesting to see how this plays out in the future.
With applications, I am interested to see the inclusion of social and mobile technology in enterprise applications. This will inevitably enable many and cause problems for some. There is an enormous potential to change how we interact with others professionally and how we work. Mobile devices and the underlying technology will further enable us to work remotely—from just about anywhere and in all sorts of conditions. I am a big fan of remote web-working, so I look forward to doing more of that in the future.
Jonathan Kohl is an internationally recognized consultant and technical leader. Based in Calgary, Alberta, Canada he is the founder and principal software consultant of Kohl Concepts, Inc. Jonathan helps companies define and implement their ideas into products, coaches practitioners as they develop software on teams, and works with leaders helping them define and implement their strategic vision.