Development of mobile software is Surrounded by much uncertainty. Immature software platforms on mobile clients, a highly competitive market calling for innovation, efficiency and effectiveness in the development life cycle, and lacking end-user adoption are just some of the realities facing development teams in the mobile software industry. By taking a process view on development of mobile systems we seek to explore the strengths and limitations of eXtreme Programming (XP) in the context of mobile software development. Following an experimental approach a mobile systems development project running for four months is conducted. Experiences from the project are used for analysis and discussion of the fit of XP in mobile systems development. First, requirements for mobile systems development projects are proposed. Second, these are analysed and compared to the prescribed principles suggested in XP. In general, we find XP well-suited for mobile systems development projects. However, based on our experiences and an analytical comparison we propose the following modifications to XP: Make an essential design to avoid the worst time waste during refactoring. For faster development, reuse code components whenever possible. Test regularly oil real devices, since the difference between emulators and real devices are significant. Take advantage of spikes. Do not use pair programming when spiking, and remember to write unit tests for production code that was initially created during spikes. Monitor the user during acceptance tests.
Advances in Information Systems Development: New Methods and Practice for the Networked Society, 2007, p. 215-224
mobile systems development; systems development; eXtreme Programming; XP