Upload
heinrich-du-toit
View
217
Download
0
Embed Size (px)
Citation preview
7/30/2019 The Development and Evaluation of a Mobile development methodology
1/194
The Development and Evaluation of a Mobile
Application Development Methodology
Marnus C. Breytenbach
21706778
Heinrich du Toit
21077533
Martin L. Gouws
21776032
Mini-dissertation submitted in partial fulfilment of the requirements for the degree Honours of
Science in Information Technology at the Potchefstroom Campus of the North-West University
The financial assistance of the National Research Foundation (NRF) towards this research is
hereby acknowledged. Opinions expressed and conclusions arrived at, are those of the author
and are not necessarily to be attributed to the NRF.
Supervisor: Prof. H.M. Huisman
November 2012
7/30/2019 The Development and Evaluation of a Mobile development methodology
2/194
ii
ABSTRACT
The current mobile application market is fed largely by individuals and businesses writing
applications using rapid development. Their main aim is to make a profit by distributing the
applications as quickly as possible on the mobile application market. This has resulted in a flood
of poor-quality applications which focus on meeting a specific user need but neglect many
important aspects of mobile application design and usability. This is because there are currently
very few methodologies for mobile application development, and it is uncertain whether or not
they address the characteristics that make mobile applications successful.
This research aimed to identify critical characteristics required for mobile application success,
and evaluate existing methodologies for mobile application development against their delivery of
these crucial characteristics. Furthermore, the research aimed to develop and test a mobileapplication development methodology according to the results of this evaluation, to address the
current shortfalls that exist within methodologies. The methodology was designed to fully
address the critical characteristics for mobile application success and provide a holistic,
efficient, and effective process for developers to follow.
A set of eleven critical characteristics for mobile application success was compiled and the
importance of each characteristic was confirmed by means of a survey. The characteristics all
proved to be valued as important by respondents, and are listed as follows: User experience,usability, cognitive support, learnability, value to the user, user interface design, availability and
accessibility, adaptability, compatibility, efficiency, and security and privacy.
The most prominent shortfalls identified in current methodologies were a lack of consideration
for learnability, adaptability, efficiency, and privacy and security within mobile applications.
Although these were the most prominent shortfalls, none of the critical characteristics for mobile
application success, which are mentioned below, are sufficiently addressed by the current
methodologies.
The critical characteristics were further used as a foundation to produce a new methodology for
mobile application development. This new methodology was tested through the development of
three different applications, namely a business application, a mobile game, and a personal utility
application. The results of the evaluation were used to refine the methodology. The final result
of the research is the completed Methodology for Mobile Application Development (MMAD).
7/30/2019 The Development and Evaluation of a Mobile development methodology
3/194
iii
KEYWORDS
Mobile application development, MMAD, Critical characteristics for mobile application success,
System Development Methodology, SDM for MAD, Mobile application
7/30/2019 The Development and Evaluation of a Mobile development methodology
4/194
iv
ACKNOWLEDGEMENTS
Thanks to Prof. Huisman for your support and guidance throughout the year. Your patience and
enthusiasm have made this project a great learning experience.
~ Heinrich, Marnus, Martin
7/30/2019 The Development and Evaluation of a Mobile development methodology
5/194
v
TABLE OF CONTENT
Introduction.......................................................................................................................... 001
1. Literature Review............................................................................................................. 003
1.1. Defining MAD........................................................................................................... 003
1.1.1. Literature Definitions......................................................................................... 003
1.1.2. Interpreted Definition: Mobile Application Development................................... 004
1.2. Critical features of mobile applications..................................................................... 004
1.2.1. User Experience............................................................................................... 005
1.2.2. Usability............................................................................................................ 005
1.2.3. Cognitive Support............................................................................................. 006
1.2.4. Learnability....................................................................................................... 007
1.2.5. Value to the User.............................................................................................. 0071.2.6. User Interface Design....................................................................................... 008
1.2.7. Availability & Accessibility of a Mobile Application........................................... 009
1.2.8. Adaptability....................................................................................................... 010
1.2.9. Compatibility..................................................................................................... 010
1.2.10. Efficiency........................................................................................................ 011
1.2.11. Security & Privacy.......................................................................................... 012
1.2.12. Closing Statement.......................................................................................... 013
1.3. System Development Methodology......................................................................... 0131.3.1. Defining SDM................................................................................................... 013
1.3.2. Mobile application SDMs.................................................................................. 014
1.3.2.1. MASAM.................................................................................................. 014
1.3.2.2. Mobile-D................................................................................................. 018
1.3.2.3. GMA....................................................................................................... 019
1.3.2.4. Process Based Methodology for Designing Event-Based
Mobile Composite Applications............................................................. 021
1.3.2.5. Generic Framework for Mobile Application Development...................... 022
1.3.2.6. Dynamic Channels................................................................................. 023
1.3.2.7. DTMA..................................................................................................... 024
1.3.2.8. Rapid Application Development with DSDM Atern................................. 025
1.3.2.9. Scrum Agile Development Methodology................................................ 028
1.3.2.10 System Development Life Cycle (SDLC)............................................... 030
1.3.2.11 Summary of SDMs................................................................................ 031
1.4. Evaluation of SDMs for MAD vs. Critical Characteristics......................................... 032
1.4.1. Critical Characteristics...................................................................................... 033
7/30/2019 The Development and Evaluation of a Mobile development methodology
6/194
vi
1.4.2. MASAM............................................................................................................ 034
1.4.3. Process-Based Methodology for designing Event-Based
Mobile Composite Applications....................................................................... 034
1.4.4. RAD with DSDM Atern..................................................................................... 034
1.4.5. Agile application methodology Scrum (2012)................................................ 035
1.4.6. Generic Framework for MAD (2011)................................................................ 035
1.4.7. Mobile-D (2004)................................................................................................ 036
1.4.8. System Development Life Cycle (SDLC).......................................................... 036
1.4.9. GMA (Generic Mobile Application)................................................................... 037
1.4.10. Dynamic channel development methodology................................................. 037
1.5. Consideration of characteristics within SDMs for MAD............................................ 038
1.5.1. User Experience............................................................................................... 038
1.5.2. Learnability....................................................................................................... 038
1.5.3. User Interface design....................................................................................... 038
1.5.4. Efficiency.......................................................................................................... 039
1.5.5. Value to user.................................................................................................... 039
1.5.6. Cognitive support.............................................................................................. 039
1.5.7. Compatibility..................................................................................................... 039
1.5.8. Usability............................................................................................................ 039
1.5.9. Availability and Accessibility............................................................................. 040
1.5.10. Adaptability..................................................................................................... 0401.5.11. Security and Privacy....................................................................................... 040
1.6. Interpretation of evaluation....................................................................................... 040
2. Research methodology.................................................................................................... 041
2.1. Interpretive............................................................................................................... 041
2.2. Positivistic................................................................................................................ 041
3. Results............................................................................................................................. 043
3.1. Survey Results......................................................................................................... 043
3.2. New SDM for MAD................................................................................................... 044
3.2.1. User Experience............................................................................................... 044
3.2.2. Learnability....................................................................................................... 045
3.2.3. User Interface design....................................................................................... 045
3.2.4. Efficiency.......................................................................................................... 046
3.2.5. Value to user.................................................................................................... 046
3.2.6. Cognitive support.............................................................................................. 047
3.2.7. Compatibility..................................................................................................... 047
3.2.8. Usability............................................................................................................ 048
7/30/2019 The Development and Evaluation of a Mobile development methodology
7/194
vii
3.2.9. Availability and Accessibility............................................................................. 048
3.2.10. Adaptability..................................................................................................... 049
3.2.11. Security and Privacy....................................................................................... 050
3.2.12. MMAD Process............................................................................................... 050
3.3. Case studies............................................................................................................ 055
3.3.1. Case Study 1: Business Application................................................................. 055
3.3.2. Case Study 2: Mobile Game............................................................................. 055
3.3.3. Case Study 3: Personal Utility.......................................................................... 055
4. Discussion of results........................................................................................................ 056
4.1. Evaluation of MMAD................................................................................................ 056
4.1.1. Result of Case study 1: Business Application.................................................. 056
4.1.2. Result of Case study 2: Mobile Game.............................................................. 057
4.1.3. Result of Case study 3: Personal Utility........................................................... 057
4.1.3. Overall Results from Case Studies................................................................... 058
4.2. Alteration and improvement of MMAD..................................................................... 059
5. Recommendations and Implications................................................................................ 063
6. Limitations........................................................................................................................ 063
7. Future work...................................................................................................................... 063
References.......................................................................................................................... 065
Appendices.......................................................................................................................... 069
Data collected...................................................................................................................... 123Research proposals............................................................................................................. 126
Work breakdown structure................................................................................................... 183
7/30/2019 The Development and Evaluation of a Mobile development methodology
8/194
viii
LIST OF TABLES
Table 1.3.2.11.1. Summary of SDMs................................................................................... 31
Table 1.4.1.1. Evaluation of Current SDMs for MAD........................................................... 33
Table 3.1.1. Means of Survey Results................................................................................. 43
Table 4.1.4.1. Criticisms on MMAD from Case Studies...................................................... 58
LIST OF FIGURES
Figure 1.3.2.3.1. GMA Process Model................................................................................. 20
Figure 1.3.2.6.1. Dynamic Channels Process Model .......................................................... 24
Figure 1.3.2.7.1. Atern Lifecycle Process............................................................................ 28
Figure 1.3.2.9.1. Scrum Process Model.............................................................................. 29
LIST OF ABBREVIATIONS
MAD Mobile Application Development
SDM Systems Development Methodology
7/30/2019 The Development and Evaluation of a Mobile development methodology
9/194
INTRODUCTION
Mobile devices have become a crucial part of todays society and hold many uses for
businesses and individuals. Due to the rising demand for mobile functionality (Holzer & Ondrus,
2011), it becomes increasingly more important for mobile application developers to use a clear,
effective and efficient methodology for the design, development and distribution of mobile
applications.
However, there is no standard methodology that covers the complete development process of
mobile applications. There are some methodologies which address specific aspects of
development but ignore other important elements. For example, there are some proposed
development methodologies designed to help developers with the logical design of their
applications, such as the Process-Based Methodology for Designing Event-Based MobileComposite Applications (Fjellheim et al., 2007), and other methodologies to help with the
physical implementation of their applications, such as the Disruption-Tolerant Mobile Application
Model (Yusof et al., 2010). Still other methodologies exist for the implementation of specific
types of applications, such as client-server distributed applications. An example of this is the
Framework for Mobile Application Development and Content Integration (Mayuk, 2006).
Methodologies such as MASAM (Jeong et al., 2008), Mobile-D (Abrahamsson et al., 2004), and
GMA (Cheng et al., 2007) have been proposed for mobile application development, but none ofthese methodologies address the entirety of the mobile application development process, and
they do not address the implementation and testing of all of the critical characteristics necessary
for a mobile application to be successful.
The current mobile application market is fed largely by individuals and businesses desiring to
write applications to make a profit by distributing them on a mobile application market such as
Google Play or the Apple App store. These parties often make use of rapid development
techniques to finish their applications as quickly as possible, at the lowest cost. This has
resulted in a flood of poor-quality applications which focus on meeting a specific user need but
neglect many important aspects of mobile application design and usability.
The purpose of this research is to identify the crucial characteristics required for mobile
application success, and evaluate existing methodologies for mobile application development
against their delivery of these crucial characteristics. Furthermore, the research aims to develop
and test a mobile application development methodology to fully address these characteristics
and provide a holistic, efficient, and effective process for developers to follow.
1
7/30/2019 The Development and Evaluation of a Mobile development methodology
10/194
The use of a methodology that fully addresses the crucial characteristics of mobile application
success will result in a healthier mobile application market. Developers will be able to address
the needs of consumers in their development process, and will benefit from their applications
success in the market. Consumers will find applications more suitable to their needs, and will
benefit from better application performance. In turn, their spending will fuel more development
endeavours, which will produce more applications, which will give rise to more application sales.
This is the lifecycle observed in a healthy market (Holzer & Ondrus, 2011).
This document is divided into 7 sections. Section 1 includes the literature review, wherein MAD
is defined, the critical characteristics for mobile application success are identified, the term SDM
is defined universally and existing SDMs for MAD are discussed and evaluated according to the
critical characteristics, and these SDMs for MADs consideration of the critical characteristics is
discussed. Section 2 describes the research methodology. Section 3 presents the results of the
research, which are in turn discussed in Section 4. Section 5 states recommendations and
implications of the research, and Section 6 discusses the limitations of the research. Finally,
Section 7 proposes future work.
2
7/30/2019 The Development and Evaluation of a Mobile development methodology
11/194
1. LITERATURE REVIEW
This section will provide a discussion of the literature on which the research is based. It will
include a definition of MAD, a review of the critical features of mobile application success, a
definition of SDMs, and a discussion of current SDMs for MAD and their delivery of the critical
features for mobile application success.
1.1. Defining MAD
In order to properly approach the concept of mobile application development, one must first
have a solid definition for the term as a whole.
1.1.1. Literature Definitions
Definitions were gathered from existing literature to gain a foundational understanding of the
current context of MAD.
Mobile Application Development is the process by which application software is developed for
small low-power handheld devices such as personal digital assistants, enterprise digital
assistants or mobile phones. These applications are either pre-installed on phones during
manufacture, downloaded by customers from various mobile software distribution platforms or
web applications delivered over HTTP which use server-side or client-side processing to
provide an application-like experience within a Web browser (Wikipedia, 2012).
This definition is from a non-academic source. Therefore, a more thorough and academically
sound definition is required. The term mobile application development is not something to be
found in a dictionary, and other definitions from sources such as journal papers are based on
the authors own opinions. For this reason, mobile application development will be broken into
its three base words, each then defined from the online Oxford dictionary (Oxford Dictionaries,
2012) and then combined to form a sound definition.
Firstly, the Oxford dictionary defines mobile simply, in context, as relating to mobile phones,
handheld computers, and similar technologies.
Secondly, again in context, application is defined as a program or piece of software designed
to fulfil a particular purpose. Furthermore, in more general terms, it also means the action of
putting something into operation.
3
7/30/2019 The Development and Evaluation of a Mobile development methodology
12/194
Lastly, development, more specifically develop, is defined as grow or cause to grow and
become more mature, advanced, or elaborate. Also start to exist, experience, or possess.
Taking the Oxford definitions into consideration, a definition for Mobile Application Development
can be formulated. Mobile Application Development is the action of bringing into existence a
piece of software or program with a specific purpose to be used on mobile device technologies.
According to Denman (2011), mobile application development is similar to Web application
development, but it is more deeply rooted in traditional software development. Denman (2011)
also states that there is one critical difference between mobile application development and
Web application development mobile applications are often created specifically to exploit the
unique features offered by a particular mobile device.
1.1.2. Interpreted Definition: Mobile Application Development
For the purposes of the research, taking into consideration the definitions collected from literary
sources, mobile application development is defined as the following: The development of mobile
applications is the process by which application software is created for small, handheld, low-
power mobile devices, with a specific purpose (Denman, 2011; Enck, 2009; Oxford; Wikipedia,
2012). This process includes tasks such as application design, application implementation, andtesting procedures.
1.2. Critical Characteristics for Mobile Application Success
For a methodology to be effective, it must address certain features that determine an
applications success. To set a foundation for the evaluation of existing methodologies and the
creation of a new SDM for MAD, a list of critical features for mobile application success have
been identified from literature. These characteristics are: user experience, usability, cognitive
support, learnability, value to the user, user interface design, availability and accessibility,
adaptability, compatibility, efficiency, and security and privacy.
Many of the characteristics are interdependent on one another. The researchs aim is not to
investigate the relationship between characteristics, but rather to focus on their individual roles
in MAD.
The characteristics for mobile application success are discussed below.
4
7/30/2019 The Development and Evaluation of a Mobile development methodology
13/194
1.2.1. User Experience
User experience concerns all aspects pertaining to a users interaction with an application. This
includes their thoughts and feelings regarding the application, as well as their perceptions, all
stemming from the users interaction and experience with the application (Tullis & Albert 2008).
Therefore, other aspects such as an applications reliability, usability and value to the user all
have an impact on the way a user experiences and perceives an application.
There are many other options for a mobile user to choose from if they arent wholly satisfied by
all the aspects of an application. Therefore, among all of the features that are crucial to a mobile
applications success, the user experience is the centre. All of these factors are in some way
related to user experience, and thus branch out from its main principles.
According to Teeni et al. (2007), there are three perspectives from which human-computer
interactions can be viewed, namely physical, cognitive and affective. These three perspectives
can be used to distinguish between the types of factors which enhance the user experience,
and ultimately, the success of an application.
1.2.2. Usability
While the term user experience is often interchanged with usability, the two should not beconfused. User experience encompasses much more than simply usability (Saffer 2007). None
the less, usability is the most influential contributor to user experience when it comes to mobile
applications. It can be described as the ability of an application to be easily understood, learned
without training or extensive background, useful, and attractive to the user (Benbunan-Fich &
Benbunan 2007; ISO/IEC 9126-1 2001; Peker & Can 2011).
Another term used to refer to usability, but also to an array of other aspects of mobile
application development, is QoS (Quality of Service) (Unhelkar & Murugesan, 2010).
Because usability is a vital component for measuring the quality of software, usability testing
has become increasingly important in the mobile phone industry. It is also one of the key factors
when testing the effectiveness of mobile applications developed as a product of research
studies (Al Bar et al. 2011; Duh et al. 2006; Kangas & Kinnunen 2005; Kao et al. 2009;
Lindholm et al. 2003; Unhelkar & Murugesan 2010).
Factors that deserve some attention are general principles from HCI, or Human-Computer
Interaction (Heo et al., 2009). One of these is the concept of cognitive processing, or the ability
5
7/30/2019 The Development and Evaluation of a Mobile development methodology
14/194
of an application to be so well designed that the human mind automatically understands how
the application works. Another is how humans respond to mobile applications, online and offline
usability, and location specific design (Benbunan-Fich & Benbunan, 2007; Kao et al. 2012;
March et al., 2011; Unhelkar & Murugesan, 2010).
These factors are very important, but HCI is not discussed at length because its factors are by
nature interwoven into the other factors.
1.2.3. Cognitive Support
Heo et al. (2009) identifies the cognitive processing steps a user applies in carrying out a task
on a mobile phone: planning, translation, execution, and assessment. These steps make up the
process wherein a users perception of an applications usability is formed. An application
should be structured in such a way that a user can logically perform a task using their intuition,
without uncertainty or excessive effort.
It is important that users be able to predict the flow of operation when planning to perform a task
on the application (Kao et al. 2012). The logical flow of design elements should support and
align with a users thought processes instead of making the user have to pause in their
operation to align themselves with the applications structure. If the cognitive flow of an
application is designed effectively, the users chance of making a mistake is greatly decreased(Benbunan-Fich & Benbunan 2007; Heo et al. 2009). When a user makes fewer mistakes while
using an application, they will begin to feel that they can achieve their desired tasks when they
need to. The users confidence in themselves is an active factor in their willingness to use an
application (Heo et al. 2009, Verkasalo et al. 2010).
According to Heo et al. (2009), a users perception of the systems state is one of the steps of
information processing. This means that it is important for an application to always inform the
user on what it is doing. If the application is performing a long process, the user should be
shown either the execution progress, or an indication that the application is still busy. This will
help the user to be patient with the application, and will help them feel in control of the
applications functioning.
Another important factor in an applications cognitive support is the amount of data and
functionalities users are presented with (Heo et al. 2009; Unhelkar & Murugesan 2010).
Because of the limited screen space on mobile devices, all information provided to the user
should be relevant and useful. Also, the functionalities provided by the application shouldnt be
overbearing or unrelated to the core function and purpose of the application.
6
7/30/2019 The Development and Evaluation of a Mobile development methodology
15/194
1.2.4. Learnability
Learnability, also referred to as intuitiveness, is an important contributing factor to an
applications usability (Donyaee et al. 2002; Kao et al. 2012; Nilsson 2009; Peker & Can 2011;
Verkasalo et al. 2010). The use of an application should be easy to learn and should require no
training and little or no visual and textual support. If an application does, however, contain
robust functionality which requires a little experience and knowhow from the user, then thorough
support should be supplied in the form of visual or textual tutorials. These tutorials should be
easily accessible and preferably embedded within the application.
If a user is required to put in extensive effort in order to start using an application, they will be
discouraged and may postpone or even abandon learning to use the application. As mentioned
previously, user confidence is an important component of an applications usability.
1.2.5. Value to the User
An application is worthless if it doesnt add value for the user (Verkasalo 2008). There are many
other applications competing for a users attention (and their money). Applications must utilise
their mobile devices to provide functionality and value that a user cannot find in other
applications or other devices (Feijoo et al. 2012; Rice & Katz 2008). Rival devices may include
personal computers, gaming consoles, and Personal Digital Assistants.
Mobile applications must also share their users time among other activities conducted on
mobile devices, such as instant messaging, social networking, listening to music, and watching
video content (Feijoo et al. 2012). An application would benefit from incorporating some of these
activities in order to substitute them. In doing so, they can acquire a larger percentage of the
users time.
Another aspect contributing to the value of an application is its contribution to a users everyday
life. Applications that improve productivity, help users perform daily tasks more effectively, save
users time, and help users relax are considered very valuable and are greatly sought after in
todays fast-paced, pressure-controlled lifestyle (Kao et al. 2012; Verkasalo et al. 2010).
Along those lines, it is important for an application to account for the specific needs of its users
(Heo et al. 2009; Kangas & Kinnunen 2005). Developers should take into consideration the
target market of the application, and what functionalities will ultimately make the application as
effective as possible for its users.
7
7/30/2019 The Development and Evaluation of a Mobile development methodology
16/194
A users perception of an applications value is largely effected by social factors. Applications
that have a good public image are easier for people to use around others, and also gain more
referrals from users (Feijoo et al. 2012). Also, people often prefer the use of certain applications
above others because their friends use these applications as well (Verkasalo et al. 2010).
1.2.6. User Interface Design
When MAD is initiated, the physical device should be taken into account. Mobile devices are
categorized as having three main characteristics, namely that they are a handheld device, there
are no external input devices or cables required for operation, and they support multiple
application installation.
Usability is influenced in more practical terms by various elements, one of which is the interface
of an application. The interface (User Interface UI) can be logically divided into three parts,
namely the GUI, LUI and PUI. This literature will focus on these three as the main components
of mobile application interfaces.
The LUI (Logical User Interface) includes components like the menu and navigation capabilities
that are related to information and the structure for task execution and the feat of displaying
data sensibly (Heo et al. 2009; Plaza et al., 2011; Unhelkar & Murugesan, 2010).
The PUI (Physical User Interface) includes components like the keypad and/or touch screen
and audio devices: physical interfaces that are used to carry out a task in an application (Heo et
al., 2009; Plaza et al., 2011).
Finally, the GUI (Graphic User Interface) includes components like icons (both font and colour)
and fonts associated with the visual items that are task relevant (Benbunan-Fich & Benbunan,
2007; Heo et al. 2009).
There are certain factors that need to be considered when designing interfaces in mobile
applications which coincide with the GUI, LUI and PUI. All of these are expected by users to be
rich and non-trivial (March et al., 2011). The first of these factors is screen size and resolution.
There is not enough physical space on mobile device screens to display large amounts of data
at any given moment and this can lead to information organization and navigation issues as well
as resizing issues (Heo et al., 2009; Kao et al. 2009; Lee et al., 2006; Ling et al., 2006a, b;
Omari et al., 2008) The second factor is the physical buttons and what their functionality will be
during various application modes. The final factor is the influence of memory limitations and
8
7/30/2019 The Development and Evaluation of a Mobile development methodology
17/194
power consumption on the MAD. The latter is not really considered to be part of the UI, but it
indirectly influences how the application will function later on in its life-cycle (Heo et al. 2009).
During MAD, these factors need to be considered in order to design an application that will be
acceptable to the user. When these factors are considered and implemented in line with the
purpose of the application to be designed, the usability of the application will be satisfactory.
1.2.7. Availability & Accessibility
Mobile application development serves no purpose unless the products that it delivers can be
distributed and utilised by end users. In the past, when mobile applications were still exclusively
developed by network carriers, phone manufacturers and some third party companies, these
applications required an expert for installation on mobile devices. However, since then,
centralized application portals such as the Android Market, Apple App Store and Blackberry App
World have been created to distribute these MAD products to the public and an expert is no
longer required for installation (Holzer & Ondrus, 2011).
In previous years it was also a difficult feat to distribute updates for mobile applications,
because of the limitations of distribution. These centralized application portals have made
updates to previously installed applications readily available, helping management and support
of applications to be effortless. Users are left with the feeling that they are in control and thisadds to a positive user experience (Al Bar et al. 2011; Kim et al., 2009; Verkasalo et al. 2010).
The pricing of applications in the various marketplaces also poses a certain challenge:
applications that are too heavily priced will not be purchased because there are often similar
applications available for free. Thus it is important to consider the pricing of mobile applications
very carefully and perhaps look for alternative streams of revenue through, for example, making
use of advertising space in applications. If an application is indeed for sale, the price should be
very reasonable and the user should feel that their purchase has enriched his mobile
experience (Feijoo et al. 2012; Verkasalo et al. 2010).
The consequences that availability and accessibility have on developers are that they need to
incorporate and work towards publishing applications onto the various markets to make it
accessible to the public. These application markets, to various levels of ease, make it possible
for developers to do just this (Kao et al. 2012).
9
7/30/2019 The Development and Evaluation of a Mobile development methodology
18/194
1.2.8. Adaptability
An important concept in the development of mobile applications is adaptability. This includes
two dimensions. Firstly, an application should be able to adapt to the context within which it is
being used. This includes making use of information such as time of day, weather, GPS
location, and internet connectivity. Secondly, an application should be able to adapt to users
preferences, including user configurations, display options, and sound and vibration. (Al Bar et
al. 2011; Ali et al. 2010; Fjellheim et al. 2007; Kangas & Kinnunen 2005; Kao et al. 2009; Kao et
al. 2012; Omari et al. 2008; Peker & Can 2011; Unhelkar & Murugesan 2010; Verkasalo et al.
2010)
1.2.9. Compatibility
In the last few years there was a great increase in the amount of different mobile operating
system platforms which created a big problem for mobile application developers. The problem
was mainly when they wanted to develop for multiple platforms and this became very time
consuming. This is where they searched for compatibility links where they could develop one
mobile application and deploy them to multiple platforms (Duarte & Afonso 2011; Viana &
Andrade 2008).
They have found techniques that allow multi-platform compatibility. By using web applicationsas the medium they are able to use a specific service on multiple devices, but connectivity to
the internet is usually required (Kao, Y. et al., 2012). An Application Programming Interface
(API) is an interface used to develop multi-platform applications (Duarte & Afonso 2011). An
example of such an interface would be the Joint Innovation Lab (JIL) API (JIL 1.2.2 API
Overview; Duarte &Afonso 2011).The downside of using these APIs are that certain features
are lost in the process because of the limitations of the API. A feature that is lost in terms of
android would be that the JIL framework has no support for connecting to the file system
(Duarte & Afonso 2011).
Mobile device screen sizes arent all the same and neither are the resources that are available
in a mobile device (Heo, J. et al., 2009; Cho, H. & Yang, J., 2008). It is important that the
adaptability of a mobile application is taken into consideration (Cho & Yang, 2008). This also
increases the reusability of an application.
Along with screen size another element that will have to be looked into is the input methods for
a mobile application. There are different methods of input such as touch screen or physical
keyboard built in to device and there are also different kinds of keyboard layouts for instance the
10
7/30/2019 The Development and Evaluation of a Mobile development methodology
19/194
QWERTY (QWERTY - Wikipedia, the free encyclopedia. 2012) or the QWERTZ (QWERTZ -
Wikipedia, the free encyclopedia. 2012.). When a mobile application is developed, the market
which the application needs to reach has to be studied to know what input methods you will use
in the mobile application.
Web pages are a problem when they werent specifically designed for a mobile device. An
Internet browser application for mobile devices needs to be able to rescale the pages without
making the reading even harder (Kao et al. 2012; Omari et al. 2008). Web pages can contain
visual features that will not be compatible with all devices. Therefore when developing a web
page you need to make it possible for the lower end device to be able to see the necessary
data, but also the higher end devices should be able to view the content which is compatible
with the device (Omari et al. 2008).
When designing mobile games it is also important to keep compatibility in mind because two
mobile devices may be the same in terms of performance but not screen size and therefore the
game should be scalable to fit the smaller mobile and vice versa (Lukashev et al. 2006). This
scalability is achieved, when using 2D animation, by using vector editors like Adobe Illustrator
(Graphic design software | Adobe Illustrator CS5. 2012.) or Adobe - FreeHand (Adobe -
FreeHand MX. 2012). When a game is developed for a specific platform, adaptability is also a
critical factor that needs to be taken into consideration because devices of the same platform
dont always have the same phone specifications (Cho, H. & Yang, J.S., 2008).
1.2.10. Efficiency
Although the resources available in mobile devices have improved dramatically in the last few
years, they are still limited and need to be taken into consideration when developing a mobile
application (Heo, J. et al., 2009; Al Bar, A. et al., 2011.). Resource management becomes a big
factor when designing mobile games which is just another type of mobile application. Mobile
games need graphics processing which, even with todays smartphones, needs to be resource
effective, otherwise the game performance will be greatly reduced (Kao et al., 2009; Lukashev
et al., 2006).
Although the users needs must be satisfied, a developer needs to focus on a balance between
the needs of the user and the performance of the mobile application (Fjellheim et al. 2007).
Although the normal services like voice calling and sending text messages are cornerstone
services provided by mobile devices, the users of mobile devices are calling for more advanced
11
7/30/2019 The Development and Evaluation of a Mobile development methodology
20/194
services like search services and even changing the theme of their phone (Verkasalo et al.
2010). Services like these can also improve the efficiency of a mobile application.
Mobile applications need to connect with the internet more each day and this service will have
to be as seamless as possible. When a mobile application needs the internet then a great way
to improve performance of the application is to enable caching of the data (Kao et al. 2012).
This enables a device to have an online experience even while not connected to the internet.
As previously mentioned, web page sizes are a problem on mobile devices. This also influences
the efficiency of browsing the internet because the user spends so much time scrolling to find
what he is looking for(Kao et al. 2009). To improve the browsing performance techniques like
tailoring the web page before it is sent to your mobile device is used (Kao et al. 2009).
1.2.11. Security & Privacy
Security and privacy has always been a concern for consumers and businesses. For this
reason, these factors need to be considered at length when developing mobile applications in
order to satisfy user needs. Some consider mobile security and privacy to be the first and
foremost concern for any designer in planning an application (Al Bar et al. 2011; Feijoo et al.
2012; Ren & Duan, 2012).
The need for security and privacy becomes most noticeable when applications start functioning
on the basis of cloud computing. Here the need for encrypting transferred data from a mobile
device becomes more apparent (Hung et al., 2012).
Mobile application security comprises of different factors, including information confidentiality,
integrity of information, and availability. Another important security concern for mobile devices is
password protection, but in modern times this is handled by the mobile device itself. However, it
needs to be considered, although in most cases it will be a built in feature of the device for
which the application is being designed (Unhelkar & Murugesan, 2010). These factors of
security for mobile applications correspond to normal computer security principles (Cano &
Domenech-Asensi 2011).
Many applications are becoming increasingly advanced and are starting to resemble computer
applications. Some of these applications may contain banking information or sensitive
information such as PayPal details and functionality, all the more reason to focus a great deal
on securing the information that is handled by mobile devices (Al Bar et al., 2011; Cano &
Domenech-Asensi, 2011).
12
7/30/2019 The Development and Evaluation of a Mobile development methodology
21/194
1.2.12. Closing Statement
The eleven characteristics, as identified above, are shown through literature to be important
influencing factors in the success of mobile applications. They will be used in the evaluation of
SDMs for MAD and form a basis for the development of a new SDM for MAD.
1.3. System Development Methodologies
This section includes a discussion of existing SDMs that can be used for MAD, as well as three
traditional SDMs. These SDMs are later evaluated according to their consideration for the
critical characteristics for mobile application success.
The SDMs designed specifically for MAD that are discussed below include MASAM, Mobile-D,GMA, Process-Based Methodology for Designing Event-Based Mobile Composite Applications,
Generic Framework for Mobile Application Development, Dynamic Channels, and DTMA.
The traditional SDMs included in the discussion are RAD with DSDM Atern, Scrum, and SDLC.
These traditional SDMs were included to determine whether there is a need for the
development of SDMs specifically targeted at MAD.
In order to identify a set of SDMs, one must first understand the definition of SDM. Thereforethe term is defined below.
1.3.1. Defining SDM
According to the British Computer Society (Avison & Fitzgerald, 1995) an SDM is a set of
recommended means for all or part of the development of information systems according to an
underlying philosophy that supports, justifies, and makes coherent to a given context. It
identifies procedures, phases, tools, techniques, rules, guidelines, documentation, and tasks. It
may also provide recommendations for the organization and management of the approach, and
the identification and training of participants.
According to Huisman (2004), a SDM consists of four main components, namely a philosophical
approach, method, process model, and tools and techniques. An SDMs philosophical approach
is the perspective through which it handles information system development. Its development
method is the list of steps that must be followed during the development process. The process
model is the order in which the development steps are executed. Tools and techniques facilitate
the development process.
13
7/30/2019 The Development and Evaluation of a Mobile development methodology
22/194
1.3.2. SDMs in the Context of Mobile Application Development
The mobile application development perspective has radically changed from its conception to
the present day. In the methodologies developed between the 1990s and the early 2000s, a
heavy emphasis was placed on overcoming the performance restrictions presented by early
mobile devices. This resulted in methodologies focusing on the physical framework of mobile
applications and a way to decentralise the applications execution.
Modern-day devices have developed considerably stronger processing power. This has given
rise to methodologies that focused on multi-platform compatibility, with less concern for
minimised resource usage.
There is definite disarray among academic literature as to what the scope of a mobile
application development methodology is. Many articles elaborate on the framework of mobile
applications and the structure required in the coding of these applications (Mayuk, 2006;
Sambasivan et al., 2011). Other articles focus on the tools that must be used for development
(March et al., 2012; Mayuk, 2006). This confusion leads to incomplete methodologies which do
not address all of the critical characteristics for mobile application success. The scope of a SDM
for MAD should thus focus on a complete process of mobile application development, taking
into consideration each of the critical characteristics.
Below, some of the existing SDMs for MAD are discussed. These SDMs were chosen on the
basis of their applicability to MAD. They include: MASAM, Mobile-D, GMA, Process Based
Methodology for Designing Event-Based Mobile Composite Applications, Generic Framework
for Mobile Application Development, Dynamic Channels, and DTMA. Three traditional SDMs
are also discussed, namely Rapid Application Development with DSDM Atern, Scrum Agile
Development Methodology, and the System Development Life Cycle.
1.3.2.1. Mobile Application Software Based on an Agile Methodology
MASAM stands for Mobile Application Software Based on an Agile Methodology, developed
by Jeong et al. (2008). This is an agile mobile application development methodology that
focuses on rapid development, with the key goal being simple development and fast
deployment of new mobile applications. Heavy emphasis is also placed on user (or client)
involvement in the development process, and the use of development teams comprising of
multiple individuals.
14
7/30/2019 The Development and Evaluation of a Mobile development methodology
23/194
The MASAM methodology is divided into four phases, namely Development Preparation,
Embodiment, Product Development, and Commercialisation (Jeong et al., 2008). The first two
phases involve requirements gathering, concept development, design and prototyping. The
Product Development phase is repeated to allow iterative development of the application,
wherein requirements evaluation, testing, and client compliance occur for each development
cycle.
1.3.2.1.1. Development Preparation Phase
The purpose of the Development Preparation phase is to grasp what clients intend to do with
the product (Jeong et al., 2008). It is here that the client is interviewed to gather initial
requirements and big-picture ideas about the potential product.
The activities of the Development Preparation phase are as follows:
Grasping the product
o Product summary this is where the initial idea of the product is formed and general
requirements are collected.
o Pre-planning the ideas and general requirements are organised to provide an initial
vision of the potential product, and to identify the direction in which to gather further
requirements.
Product concept sharingo User definition the client is given the opportunity to present their requirements and
expectations in detail.
o Initial product analysis requirements are analysed and a formal concept for the
product is developed.
Project setup
o Development process coordination the steps needed for the development process
of the product are planned, reviewed, confirmed and organised.
o Project resource coordination the resources required to carry out the development
project are calculated and procured.
o Pre-study initial research is done to provide context for product use, and patterns
and trends in existing products of the same type.
1.3.2.1.2. Embodiment Phase
The purpose of the Embodiment phase is to represent the clients requirements in concrete form
(Jeong et al., 2008). This is done by developing a prototype or simulated user interface and
presenting it to the client. According to Jeong et al. (2008), some users dont know what they
15
7/30/2019 The Development and Evaluation of a Mobile development methodology
24/194
want and developers must make use of Application Patterns to classify the applications type
and follow the algorithmic patterns and user interface trends found in similar applications as a
guideline for design.
Activities in this phase include:
Understanding user needs
o Storycard workshop storycards (representing the main components or
functionalities of a product) are developed using user requirements and presented to
the client, which they use to make suggestions and give critique.
o User interface design and non-functional requirements analysis from the clients
requirements and suggestions, the user interface is designed and moulded to fit their
needs.
Architecturingo Architecture definition from the requirements gathered, the product architecture is
planned and the overall product design is finalised.
o Pattern management patterns found in similar products are incorporated and
utilised.
1.3.2.1.3. Product Development Phase
During the Product Development phase, the product is constructed iteratively and released tothe client after every cycle. The number of cycles must be decided on in the beginning of this
phase, before development is started..
Using iterative development cycles means that requirements are systematically worked into the
application, adding more functionality components with each development iteration. After each
iteration, the client is consulted to ensure the application aligns with their requirements and
expectations, and to allow the client to change their mind about their requirements. This leads to
the possibility of new user requirements being presented after each release.
The activities of the Product Development phase include:
Implementation preparation
o Environment setup the development environment is set up and the required team
allocations and development tools are determined.
o Development and release planning the storycards are divided between teams and
broken down into task cards for development, and the number of iterations and
releases is determined.
Release cycle
16
7/30/2019 The Development and Evaluation of a Mobile development methodology
25/194
o Iteration cycle
Iteration planning the storycards for the iteration are determined, and the
necessary planning for the development of these components is done.
Implementation cycle
Face-to-face meeting the teams meet to ensure coordination
between the various tasks and storycards to de developed.
Incremental design the overall design of the components is created
or modified according to user requirements
TDD performance testing is done
Refactoring
Pair programming task cards are implemented into code using a
pair programming approach where two people programme together.
Continuous integration newly developed components are integratedinto the product
Feedback teams meet again to give feedback on their development
o Release
Acceptance test the product is released to the client for their testing and
evaluation.
Feedback client feedback is gathered and changes in the product
requirements are recorded.
1.3.2.1.4. Commercialisation Phase
The purpose of the Commercialisation phase is to get the product ready and usable for the
market. This also includes conforming the product to international policies.
The activities of the Commercialisation phase are as follows:
System test
o Acceptance tests and user tests the product is tested by the client to ensure
usability and acceptance of the product.
Product sales
o Launching test the product is released to a small portion of the market to test its
success.
o Product launching the final product is released to the client.
1.3.2.1.5. MASAM as a SDM
17
7/30/2019 The Development and Evaluation of a Mobile development methodology
26/194
The philosophical approach of MASAM focuses on the simple development and fast
deployment of mobile applications, taking an agile development perspective. The method used
consists of Phases, namely the Development Preparation Phase, Embodiment Phase, Product
Development Phase, and Commercialisation Phase. The process model is sequential,
completing one step after the other until completion of the development process. The Release
phase contains iterative steps that are to be repeated until the system is finished. Tools and
techniques used by MASAM include product summary, story cards, and pair programming.
MASAM can thus be seen as a complete methodology, containing all the necessary
components to be defined as a SDM according to the definitions used for the purposes of this
research.
1.3.2.2. Mobile-D
The Mobile-D Approach to Mobile Application development, developed by Abrahamsson et al.
(2004), is based on Extreme Programming, Crystal methodologies and Rational Unified Process
and it is considered to be an agile approach to development.
The approach requires a team of less than 10 people in a single room with the sole purpose of
rolling out a fully functional mobile application in the shortest possible time, no more than 10
weeks. The whole methodology is centred around 5 iteration phases, namely: Set-up
Core
Core2
Stabilise
Wrap-up.
Each of the previously mentioned phases then are divided into three different development
days, namely:
Planning day
Working day
Release day
There is an additional day that is added when multiple teams are working on different parts of
the application and this day is called the integration day.
Each phase also involves 9 principal elements, namely
Phasing and pacing
18
7/30/2019 The Development and Evaluation of a Mobile development methodology
27/194
Architecture line
Mobile test-driven development
Continuous integration
Pair programming
Metrics Agile software process improvement
Off-site customer
User-centred focus.
Most of these 9 principle elements are well known agile procedures that where adapted for
mobile applications (Abrahamsson et al., 2004).
The Mobile-D approach to mobile application development is a very solid methodology in terms
of getting a team to develop an application with all the steps and structure needed, but it lacks
more specific guidelines for the physical development of the application. There is little said
about the tools to be used and it seems as though it will depend on what platform is chosen to
develop on and it assumes prior knowledge of development on this platform. The architecture,
the physical technology needed, is not mentioned either. There also seems to be very little
description for the steps that are mentioned, not really explaining exactly to the letter what every
phase entails.
1.3.2.2.1. Mobile-D as a SDM
The philosophical approach of Mobile-D is focused on agile development to produce
applications quickly. Its method consists of five phases, namely setup, core, core2, stabilise,
and wrap-up. These phases are divided into development days. The process model is iterative,
with small releases of system parts being produced. Tools and techniques used in Mobile-D
include phasing and pacing, architectural line, and pair programming.
Mobile-D therefore consists of all the elements necessary to be defined as a complete SDM.
However, the level of detail available in the literature regarding this methodology is minimal.
1.3.2.3. GMA
In 2007, a methodology called GMA (Generic Mobile Application) framework was released by
Cheng et al. As previously mentioned, this framework was also concerned and centred on
mobile device performance, and much like the development framework there is also a very strict
physical architecture that has to be adhered to. GMA architecture states that an application can
19
7/30/2019 The Development and Evaluation of a Mobile development methodology
28/194
be executed and used in one of three ways, namely BROWSE mode equivalent to thin-client
applications where the device itself is only responsible for the rendering and management of the
user interface - , STANDALONE mode equivalent to fat-client applications where all the code,
interface, execution and processing is performed on the device itself and MASTER-SLAVE
mode equivalent to distributed computing where the end device is powerful enough to be able
to handle the entire application but it does not support all the functionalities required to execute
the application code successfully. When this happens those non-supported functionalities are
executed on the server and the rest on the device.
GMA uses a three-tier architecture in order to meet this most pressing issue of device
performance. The front-tier contains the GMAClient of which there are four types (in order to
accommodate all levels of performance in devices): built-in Browser, GMABrowser,
GMAppSlave and GMAppStandalone. The middle tier contains the application server and the
backend-tier is the internet or intranet.
Concerning the methodology for developing mobile applications around this architecture, it is to
be expected that it would be very dependent on this stringent architecture. The only difference
between this SDM and traditional SDMs is in the deployment and the slight modification of the
classes in order to support mobile devices. See Fig. 1.3.2.3.1. for GMApp Development Flow
(Cheng et al., 2007).
1.3.2.3.1. GMA as a SDM
The philosophical approach of GMA focuses on the delivery of high-performance mobile
applications. The GMA framework does not provide a method or list of steps for development.
Its process model is sequential, working through the components of a framework. No tools and
techniques are recommended within for GMA.
Figure 1.3.2.3.1. GMA Process Model
20
7/30/2019 The Development and Evaluation of a Mobile development methodology
29/194
Because GMA does not include a set method or tools and techniques to be used, it cannot be
seen as a complete SDM according to the definitions used for the purposes of this research. It
will therefore be referred to as an incomplete SDM.
1.3.2.4. Process Based Methodology for Designing Event-Based Mobile Composite
Applications
Also from 2007, is the process-based methodology for designing event-based mobile composite
applications, presented by Fjellheim et al. The main focus here is to help developers create
more adaptive applications. In short, this methodology is about creating various processes that
either handle communication between other processes, migration of components, or distribution
of data. Processes can also be component based and furthermore event set-off the appropriate
processes during execution. The same type of idea as in GMApp development is followed in
that the application is also either thin-client based or fat-client based with the server providing
additional support if needed. (Fjellheim et al., 2007).
The methodology focuses on a few important aspects to be analysed and considered when
developing a new mobile application. The first of these is the design dependencies which
include the environmental model and the execution model. The environmental model includes a
specification of the entities in the system and their individual contexts, preferences and policies.
Changes in the environmental model prompt adaptation. The environmental model, in otherwords, is a set of variables which are referred to in the execution model in order to specify how
adaption will occur. The execution model consists of various static and dynamic (contains the
procedure for adaptation with reference to the environmental model) aspects of the application.
The execution model, in short, tells the programmers what components to create, how they
interact with other components and how data and behaviour is distributed. The execution model
has four main parts (Fjellheim et al., 2007), namely:
Component activities providing a breakdown of the features to be included within the
application.
Interactions defining how the components communicate with one another.
Deployment packaging of components and interactions with the purpose of distribution.
Data distribution distribution of deployed product to vendors and customers.
This methodology is very insistent on developers considering the above mentioned steps very
carefully as it will determine if the rest of the development goes well or not. When writing the
code for an application, great care must be taken to get the data flow right and making sure that
execution happens in the manner in which it is supposed to happen (Fjellheim et al., 2007).
21
7/30/2019 The Development and Evaluation of a Mobile development methodology
30/194
This methodology is solid enough to ensure a quality application, but the problem with this
methodology is that it focuses on composite applications. Composite applications are
applications that are built by combining different functions previously written together to create a
new application. Furthermore, no attempt is made at creating new components that might be
better or add previously unknown functionality.
1.3.2.4.1. Process Based Methodology for Designing Event-Based Mobile Composite
Applications as a SDM
The philosophical approach focuses on event-based development of mobile applications. The
method consists of four parts, namely component activities, interactions, deployment, and data
distribution. The process model is sequential, running though the method from beginning to end
to deliver a working application. No tools and techniques were recommended within the
methodology.
The Process Based Methodology for Designing Event-Based Mobile Composite Applications
can therefore not be seen as a complete SDM according to the definitions of a SDM used for
the purposes of this research. It will be referred to as an incomplete SDM.
1.3.2.5. Generic Framework for Mobile Application Development
The generic framework for mobile application development, presented by Sambasivan et al. in
2011, is a more modern approach to mobile application development. Whereas older
methodologies were concerned with device performance and processing power, this modern
approach is concerned and focuses more on the multi-platform dilemma developers are faced
with today. The methodology focuses on the development of one application that is compatible
with devices running the Android, BlackBerry and iOS operating systems. It is considered more
important for the developer to focus on business rules than to be worried about how to
implement these business rules.
This methodology starts with a custom JavaScript API, which is a common cross-platform
engine, to build the framework of any given application. The business logic that is required by
the application is then written in HTML, JavaScript and CSS in combination with the features
provided with the framework such as User Interface, device features, storage and device
information which in turn again calls the native features of the applicable operating system. This
application is then built using the native interfaces (APIs) of Android, BlackBerry and iOS to
make the once developed application available to all three operating systems. The JavaScript
API provides an array of common phone features (graphing, accelerometer, camera, contacts,
22
7/30/2019 The Development and Evaluation of a Mobile development methodology
31/194
location, mail, orientation, SMS, File I/O, SQLite and device information (Sambasivan et al.,
2011).
1.3.2.5.1. Generic Framework for Mobile Application Development as a SDM
The philosophical approach focuses on the definition business rules rather than methods to
implement these rules. There is no method proposed for development, and no process model is
given. Tools and techniques that are suggested are the use of a Java API, HTML, Javascript,
and CSS.
Because no method or process model are proposed, the Generic Framework for Mobile
Application Development cannot be seen as a complete SDM according to the definitions of a
SDM for the purposes of this research. The literature available on this framework is limited, and
fails to provide sufficient detail on the framework. It will be referred to as an incomplete SDM.
1.3.2.6. Dynamic Channels
According to Afonso et al. (1998), Dynamic channels can be described as follows.
Dynamic channels are based on the Object Modelling Technique (OMT) and unified modelling
language (UML). Dynamic channels start by creating a model of the application. This model isthen further developed as the design progresses. The three phases in Dynamic channels are
analysis, object design, and implementation. The phases are shown in figure 1.3.2.6.1 below.
In the analysis phase, all the system requirements are captured and used to define the
important domain classes in the system. First the functional requirements of the system is
identified and described and secondly a channel meta-model is customized to define the key
domain classes. The term meta-model is used to described a model which can represent any
particular channel.
In the object design phase elaborate on a solution to the problem stated in the analysis phase.
Dynamic channels use object-oriented design.
In the implementation phase the classes are programmed. The code is created by using the
diagrams that were entered during the analysis phase.
23
7/30/2019 The Development and Evaluation of a Mobile development methodology
32/194
1.3.2.6.1. Dynamic Channels as a SDM
The philosophical approach of Dynamic Channels is based on object oriented design. The
method includes three phases, namely analysis, object design, and implementation. Theprocess model is sequential. Tools and techniques used are Use-Cases, Channel Modelling,
UML diagrams, and the Object Modelling Technique.
Dynamic Channels thus includes all the components of a SDM according to the definitions of a
SDM used for the purposes of this research, and can be seen as a complete SDM.
1.3.2.7. DTMA
DTMA stands for a Disruption-Tolerant Mobile Application Model. This model is proposed by
Yusof et al. (2010) for developing mobile applications that are able to use remote data access
and overcome the constraints presented by dysfunctional telecommunication connections.
However, this model is a layout for the physical design of such an application and does not
include the steps and methods required for mobile application development. Thus, it cannot be
seen as a mobile application development methodology, but rather as a design structure for
mobile applications which allows an application to tolerate telecommunication connection
disruption.
1.3.2.7.1. DTMA as a SDM
The DTMA models philosophical approach is focused on designing mobile applications that are
minimally affected by poor telecommunications connections. It does not propose a method or
process model for MAD. The tools and techniques used in the model are interviewing and
prototyping.
Figure 1.3.2.6.1. Dynamic Channels Process Model
(Afonso, A.P., Regateiro, F.S. & Silva, M.J.)
24
7/30/2019 The Development and Evaluation of a Mobile development methodology
33/194
Because the DTMA model does not propose a method or process model, it cannot be seen as a
SDM according to the definitions of a SDM used for the purposes of this research. It with
therefore be referred to as a design structure and not be discussed further in the research.
1.3.2.8. Rapid Application Development with DSDM Atern
Rapid Application development (RAD) has been used since 1992 when it was introduced by
James Martin. The goal of RAD is to develop and deliver a high-quality system, in a short time
with low costs (Beynon-Davies, 2002).
A methodology that implements RAD is the Dynamic Systems Development Method (DSDM
Consortium, 1995). With the use of DSDM Atern, which is a framework based on the best
practices and lessons learned by DSDM Consortium members, software can be developed in
an agile environment. Because of the vendor-independent design of the Atern framework, it can
be applied not only to the development of traditional software, but also to mobile application
development.
According to Beynon-Davies (2002), DSDM Atern recognises seven key phases for software
development projects, namely pre-project, feasibility, foundations, exploration, engineering,
deployment, and post-project. The rest of the discussion will be based on these phases.
1.3.2.8.1. Pre-Project Phase
The goal of the pre-project phase is to formalise a project proposal and place it in perspective of
other projects to be executed in the organisation. The phase thus has four main activities:
Describe the business problem
Identify a business sponsor and visionary
Confirm that the project aligns with the business strategies
Scope, plan and resource the feasibility phase
1.3.2.8.2. Feasibility Phase
The feasibility phase exists to allow decisions to be made regarding the viability of a proposed
project from business and technical perspectives. This occurs via a high-level investigation of
the potential solutions, costs, and timeframes.
This phase comprises of six main activities:
25
7/30/2019 The Development and Evaluation of a Mobile development methodology
34/194
Determine whether a feasible solution for the project exists
Determine what benefits will likely be presented by delivery of the solution
Identify the possible delivery approaches
Illustrate the projects organisational features and governance facets
Provide preliminary projections of project timelines and costs Plan and identify the resources required for the foundations phase
1.3.2.8.3. Foundations Phase
The foundations phase focuses on combining the business, solution and management
perspectives of a project to provide a clear, robust, and flexible project focus. This is where
modelling and prototyping are used to assist in requirements gathering. The main activities of
this phase are as follows: Outline the high-level project requirements, describing their priority and relevance to
business needs
Identify which business processes are supported by the project solution
Indicate which data is used, created, or changed by the proposed project solution
Describe the deployment strategies for the solution
Develop a business case
Initial design of solution architecture
Define technical implementation standards
Describe quality assurance methods
Establish project governance and organisation
Describe the development lifecycle and project management approach
Draw up an initial development and deployment schedule
Identify, asses, and manage project risk
1.3.2.8.4. Exploration Phase
The exploration phase involves investigating the business requirements and translating them
into a viable solution, in an iterative, incremental cycle. The solution developed during this
phase is an initial idea and does not yet have to be perfect or include all requirements. The
phase has five main activities:
Discuss the requirements gathered during the foundations phase
Describe the business need in detail and present a detailed list of solution requirements
Develop a functional solution that demonstrates that the business needs are met
26
7/30/2019 The Development and Evaluation of a Mobile development methodology
35/194
Provide the organisation with an early view of the solution which will ultimately be operated,
supported, and maintained by them
Elaborate on the products of the foundations phase and produce them into models
describing how the solution works.
1.3.2.8.5. Engineering Phase
The goal of the engineering phase is to evolve the preliminary solution from the exploration
phase into full operation. Development efforts should be focused mostly on meeting non-
functional requirements such as performance and security.
The engineering phase consists of two main activities:
Refine the exploration phase solution to meet the solution requirements Expand and refine any products required for live operation and support
1.3.2.8.6. Deployment Phase
The goal of the deployment phase is to implement the solution into live operation. For mobile
applications, this may include submitting the application to application markets for sales. The
phase may be iterated if it is feasible to deploy the product in increments, each time providing
an updated version of the product.
The deployment phase consists of the following activities:
Confirm whether the performance and viability of the project are still in check
Deploy the solution into the market
Train end-users if applicable and provide supporting documentation
Train or provide documentation for support staff or operators
Assess the solution on the likelihood that it will meet the initial requirements and provide the
intended business benefits
After the final deployment
o Close the project
o Review project performance
From a business perspective
From a performance perspective
27
7/30/2019 The Development and Evaluation of a Mobile development methodology
36/194
1.3.2.8.7. Post-Project Phase
The goal of the post-project phase is to evaluate the project performance and determine how
well the solution ended up meeting the business needs. It has one main activity:
Evaluate whether the intended business benefits have been achieved by the solution
1.3.2.8.8. DSDM with Atern as a SDM
The philosophical approach of DSDM with Atern is based on rapid application development. It
proposes a method consisting of phases, namely pre-project, feasibility, foundations,
exploration, engineering, deployment, and post-project. Its process model follows the phases
sequentially, but the deployment phase may be executed iteratively if it is deemed feasible to
release the product in increments. The tools and techniques used are a business case and
prototyping.
DSDM with Atern can be seen as a complete SDM, because it includes all components
necessary to constitute a SDM according to the definitions of a SDM used for the purposes of
this research.
1.3.2.9. Scrum Agile Development Methodology
The Scrum framework for application development, formally described by Schwaber and Beedle
in 2002, is part of the agile development methodology family, along with Extreme Programming
and Feature Driven Development. These are said to be the exact opposite of traditional
development methodologies. For instance, Scrum focuses on practical applicability and
Figure 1.3.2.8.7.1 Atern Lifecycle Process (DSDM Consortium, 2008)
28
7/30/2019 The Development and Evaluation of a Mobile development methodology
37/194
flexibility. The vision for Scrum, from the beginning, was that it should be a management and
control tool to bypass complexity and focus on building software applications that satisfy
business requirements.
Scrum takes the initial stance that a development process cannot be planned from start to
finish, because the scope of the application or project will most likely expand and evolve over
time (Overhage & Schlauderer, 2012, Anon, 2012). Scrum starts off with the customer creating
a prioritized list of features that he/she wants in the application and this list is called the product
backlog. Scrum is divided into 3 levels of planning, namely release planning, sprint planning and
the daily scrum. Figure 1.3.2.9.1 below demonstrates the process model of Scrum.
During the release planning the project cost and general functionality of the proposed
application is discussed. Operational details are planned in an iterative fashion as the project
moves forward. These iterations are called sprints and take about a month on average to
complete. These planning sessions are known as the sprint planning session in which the
following sprint is planned. The tasks assigned during this meeting are called the Sprint
Backlog. The third and final planning takes place on a daily basis and is called the daily scrum.
This last planning phase is the most detailed and each member involved in the development of
the application reports on their progress and is assigned new tasks. These sessions should last
no longer than 15 minutes.
The cycle as explained above is repeated enough times that one of the following milestones is
reached, namely most or the entire product backlog has been completed, the budget is finished
or the deadline is reached. Which one of these determines the end of the project is entirely up
to the specific project (Overhage & Schlauderer, 2012, Anon, 2012).
Figure 1.3.2.9.1. Scrum Process Model
29
7/30/2019 The Development and Evaluation of a Mobile development methodology
38/194
1.3.2.9.1. Scrum Agile Development Methodology as a SDM
The philosophical approach of Scrum is based on agile development, focusing on practical
applicability and flexibility to satisfy business requirements. The method consists of three levels
of planning, namely release planning, sprint planning, and daily scrum. The process model is
iterative and incremental. Two tools and techniques that are used are product backlog and
sprint backlog.
Scrum Agile Development can therefore be seen as a complete SDM according to the
definitions of a SDM used for the purposes of this research. It contains all the components of a
SDM according to these definitions.
1.3.2.10. System Development Life Cycle (SDLC)
The SDLC (Waterfall-model, 2012) is used for developing information systems and consists of
ten phases. The ten phases are initiation, System Concept Development, Planning,
Requirements Analysis, Design, Development, integration, implementation, Operations and
Maintenance and Dis