Main image of article Mobile Development: Wicked, Tame, or Just Complex?
Mobile development differs considerably from creating traditional software used for desktop or Web applications Certainly a typical mobile app has many more moving parts than something running on a PC. Mobile communicates, either on a Wifi or 3G/4G network, making it ridiculously portable. It probably interacts with some kind of a server, somewhere on that network, whether it's a Web page, calls to a database, or a complex computational operation. There might also be a nice graphical interface with various buttons, sliders, text boxes and images, all controlled via the touch screen. The hardware could also provide on-board gyroscopes, accelerometers, GPS or a 5-8 mega-pixel camera as inputs to the applications. Trying to figure out how all these interrelated parts function together and wow the user with a useful way to do something is a tough job. There are quite a few competing agendas to juggle. Your budget may not be enough or the time frame may be way too short. You might just be looking at a wicked problem, when developing a new mobile application. Mary Poppendieck, author of the book Leading Lean Software Development, discussed the issue of a “wicked problem” in a 2002 article by the same name. One of the fundamental principles, she notes, is the fact that you likely won't know exactly what you're dealing with until you start in on a solution. Fortunately, she also offers practical strategies to deal with the ambiguity, lack of information, and even politics you'll encounter as a developer. As mobile becomes more sophisticated and complex, it's sometimes productive to look outside the normal development environment for inspiration and insight. Marketers constantly try to uncover products and services that will make a paying customer jump for joy. Mobile users are constantly in motion, so applications should load quickly and operate efficiently. It's tedious to click through a half-dozen screens, especially when everything is jumbled together. Countless other issues can make for a poor implementation and bad customer experience. How can you avoid these situations? Maybe you could try to develop a good relationship with the marketing folks. In his AdAge article “Don't Cut Corners When Creating for Mobile, It's a Different Medium,” Dave Gwozdz spells out some useful tips on how to make users love a product, from a marketer's standpoint. It's sometimes difficult to branch out from the head-long rush of development. Mobile is the new frontier in information technology. Participants need to know so much more today and have a much greater “situational awareness” than they did in the olden days of IT. I think it's exciting to see so many new products, services and opportunities. The future for mobile does indeed look bright. So, do you think mobile development is a wicked or a tame problem? Are you happy with the trends? Can you build a great career around mobile? Please share your comments.