Hi again!
This is a departure from my usual weekly post to present to you a paper that is related to Software Engineering, and Agile Development specifically. This paper is
Software Development Processes for Mobile Systems: Software Development Processes for Mobile Systems
link: http://www.inf.unibz.it/~gsucci/publications/full%20text/full%20text/MOBS13.pdf
This paper focuses on determining whether Agile development practices are suited to Mobile Software development, and additionally provides many examples of how Mobile programming has evolved.
Before delving into some of the point presented in the paper, I would like to say that the research done in this paper, is presented sparsely. The information given is useful for those interested in mobile development from a research perspective. It can also be interesting from a mobile developer's perspective, in that one can analyze their own methodologies and frameworks and see how they line up with what this paper presents. I would recommend this as a general overview, but in terms of deeper data, I think this paper falls short.
There are five major points presented in the paper, which I will briefly summarize below:
I. Introduction
This section presents the problem and the researchers' desire and plan of course. In addition, the authors present information regarding the sources of interest that will be presented later in the paper. This basically gives the reader the knowledge that there are different types of Agile practices with regard to Mobile development, and that these different practices have at least in one instance made their framework public in the form of other research published. The authors attempt to "introduce discussion in four thematic areas: (a) suitability of Agile methods to fit the needs of the mobile business environment; (b) suitability of Agile methods to fit the needs of the mobile operational environment; (c) adoption of the proposed Agile frameworks and evidence about their real use, and (d) the rise of new conditions that challenge some of the premises upon which the proposed methodologies were designed." I believe that they do touch on these points within.
II. Mobile Software Development
I found this section particularly interesting as it lays out some of the constraints of mobile development such as, "(availability, bandwidth variability), mobility issues (autonomy, location-based services), the variety of platforms and technologies, the limited capabilities of terminal devices (low power supplies, small-sized user interfaces), and time-to-market requirements." These issues keep mobile development in flux, and as this type of software engineering is a relatively new process, new technologies are continuously emerging making it even more difficult to assess the frameworks of development practices that are currently in place. To reinforce the notion, this is more so even than with traditional software development due to the new technologies and different constraints that present themselves as mobile devices continue to change.
III. Agile Software Development Processes for Mobile Applications
This is what I would consider the main section of this paper in terms of information. This section presents the methodologies of 5 specific types of Agile-like practices for mobile application. These are: Mobile-D, MASAM, Hybrid Methodology, Scrum, and Scrum Lean Sigma Six (SLeSS). Unfortunately, while many of these methodologies have been reported to be in practice, only one, Mobile-D has any evidence of showing itself in use. Those that have used Mobile-D have case studies, and reports to show how and what they do, which allowed the researchers here to present some decent evidence in the next section. Each method offers main points of agile development while adding their own flavor. Some of the most noted of which are specific phases required during development to include test-driven development, continuous integration and pair programming.
IV. Discussion: Accomplishment, Evidence, and Evolution
This section provides three main questions, Are Agile development practices the best fit to mobile, do they address the needs of mobile's fast-paced release cycle, and is there enough evidence. As these questions are addressed, the resulting conclusion is that it is hard to prove. The evidence is simply not there. Of the five different methods given, only one, Mobile-D, has more than 5 works citing application, at 17 reports citing 16 case studies. I would consider this to be severely lacking in order to come to a complete conclusion.
V. Future Work and Concluding Remarks
What this leads us to is that mobile is like traditional software development continuously changing, and requires the developers to adhere to new rules, adopt new technologies, and find what suits their particular environment the best. Mobile development is growing in size as are the apps that are produced, and there simply is not enough evidence to show whether or not Agile currently suits this practice.
The authors write, "
To provide a final answer to our research question, there is a clear need of conducting evidence-based research that unveils what mobile development practices are actually used, to have a factual picture on how development teams are conducting and managing mobile software projects."
So there you have it, we need more research on the subject, and this paper clearly shows that this is currently not the case. Further research would likely improve mobile development by offering conclusive evidence of what works and what does not.
Cheers!