You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/271460333

Risk Analysis in Mobile Application Development

Conference Paper · January 2013


DOI: 10.1049/cp.2013.2351

CITATIONS READS

9 40,100

3 authors, including:

Misha Kakkar
Amity University
19 PUBLICATIONS   163 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Software Defect Prediction View project

All content following this page was uploaded by Misha Kakkar on 03 November 2016.

The user has requested enhancement of the downloaded file.


Risk Analysis in Mobile Application Development
Kushagr Kakkar1, Raj Shah2, Misha Kakkar3
1,2
Software Engineers SNMC, India
3
Assistant Professor, Amity School of Engineering &Technology, Amity University

been an exponential growth in mobile application


ABSTRACT
development since the launch of iPhone Appstore followed
With constantly evolving mobile platforms & associated
by Android, BlackBerry, NokiaOvi and Windows phones.
opportunities, numerous developers have entered the
Market estimations suggest that there are more than 2,
domain of mobile application development, leading to
50,000 applications available for various purposes.
spaghetti code and various defects. This paper focuses on
evolving area of risk analysis w.r.t. software engineering,
Recently, a small survey [2], using available mobile
provides insight in development of applications for mobile
developer forums, was conducted of mobile developers.
devices, and deals with issues related to associated risks.
The main aim of the survey was to gain a better
The paper also describes the different environments in
understanding of development practices of mobile
which a mobile application operates, factors which affect
applications. The survey allows us to conclude that:
its performance and best practices for mobile application
development
• Most mobile applications have source code of several
thousand lines with code written by 1-2 developers.
KEYWORDS
Mobile application development, Software Development • There is a huge difference between native applications,
Toolkit, Risk analysis, Risk Classification. which run on the mobile device, and web based
applications, which run on remote server.
1. INTRODUCTION
The world of Mobile Application has amazed one and all. • Most of the applications are based on recommended
Be it a favorite mobile game or a business tablet utility standard rules for coding.
applications, Applications today have become a necessity Nowadays, Powerful application tools are available in the
in the ever growing market of Smart phones. A brief flash industry such as Apple’s iOSDevCenter , ADT plugins for
on the current statistics (Fig 1) [1] on mobile time spend by Android, and so on. Similar application development tools
mobile phone user shows that 80 % time is spend on for Blackberry, Symbian and other platforms are also
application such as games, entertainment, social available. In addition the advancements in the development
networking, etc. of cross platform development tools such as RhoMobile’s.
Rhodes and other open source Phone Gap have created
native applications on various smart phones.

The above mentioned application development tools and


frameworks ease the task of the developer, however there
still are different risks are associated with each application.
Mobile apps have moved beyond inexpensive recreational
applications to more business oriented features and hence it
has become a necessity to ensure the development of
secure, high quality mobile applications. In this paper we
identify and provide insights of the risks associated with
the mobile application development.

The paper is divided into different sections, wherein


Section 2 provides an overview on previous work in the
Fig. 1. Mobile phone usage Statistics field of risk analysis and mobile application development.
In Section 3 the risks have been identified and categorized
With only half a dozen mobile operating system (OS) into different categories to provide a proper insight and
platforms, the success or failure of an application has been understanding. Section 4 gives the conclusion of the
put in the hands of the developer community. There has research.

Ƈ 429 Ƈ
2. BACKGROUND AND RELATED WORK A lot of research has already been done for software risk
Risk identification & analysis are the foundation of risk management and many models (such as SPAEM) have
management in software project development. The been proposed, but risk analysis in mobile application
complex nature of software development process makes the development is still an evolving area of research. We
risk analysis a difficult process, which needs detailed and define “mobile application development” as a process by
thorough assessment. Ying Qu et al [3] used interpretative which an individual or team organizes and manages the
structural model for this purpose. They studied and creation of a mobile software-intensive system.
classified 26 risk factors into 7 categories and provided a
risk management framework. Xiangnan Lu and Yali Ge [4] 2.1. How do mobile applications differ from traditional
studied project management for IT enterprises of China. A applications?
two view aspect study was conducted one for project Development of mobile applications is more or less similar
development team and other for end users i.e for the team to the making of softwares for other embedded systems.
that is going to use the software product. The above paper The prime issues handled in Mobile application
identified risks for both type of user with AHP method. development are security, performance, reliability and
Khatavakhotan et al [5] proposed verifier core technique memory storage. Some of the additional issues that come
that is embedded in the software development life cycle along with mobile applications are:
and that identifies the deviations in the process, hence 1) Interaction with other applications: Mobile devices have
improving the risk management process. They provided a numerous applications from varied sources with possible
mechanism through which there can be an interaction interactions amongst them.
between old and new development teams. Khuankrue et al
[6] researched risk problems for software project in which 2) Sensor handling: Most of the smart phones have sensors
team members are of cross culture. Mathematical model (such as the accelerometer) that respond to the movements
Bayesian belief network was used to predict risk factors for of the device and the gestures for the touch screen.
the project. Language, communication style, attitude and 3) Native and Hybrid applications: Mobile applications can
development techniques were identified as major factors by be pre-installed in the device or can invoke services from
the network. the internet, affecting the data, the display, or even the
performance of the device.
Benaroch et al [7] tried to monetize risk management 4) Software and Hardware compatibility: A mobile
process. Their model gave cost drivers for risk factors application should be written in such a way that it can
based on 2 parameters, i.e., cost per exposed unit and support a wide range of operating systems as well as
project sensitivity. The model can be benchmarked with updates of a particular OS. For example it is important for
classic cost estimator models such as Cocomo for real Android applications to support different versions of the
world applicability. Jiangping Wan et al [8] studied the OS(JB,ICS,GB).
cause of project failure. They listed risk factors in the 5) Security: Mobile applications come under the roof of
degree of their effect on the project success and 20 most open software system so it also allows the installation of a
critical factors were identified. An interpretive structural malware that can affect the overall performance of the
model was applied on these 20 factors to get the root device.
factors. Lazzerini et al [9] adopted a pessimistic approach 6) User interfaces:In a mobile application, the developer
to calculate the overall risk of software project. must adhere to the user interface guidelines, many of which
are implemented in the software development kits (SDKs).
They proposed Extended Fuzzy Cognitive Maps to map 7) Complexity of testing: Mobile applications are not easy
relationship relationships between risk factors and risks. As to test. They require the mobile environment that is
E-FCMs have nonlinear membership functions, conditional provided in the emulators.
weights, and time delay weights, they are well suited for
8) Power Consumption: Applications can affect the power
risk analysis as all features of E-FCMs are more
consumption of the device and hence cause a serious threat
informative and can fit the needs of Risk Analysis.
to the device’s battery life.
Lazzerini et al gave a framework to analyze risks using E-
FCMs and extend E-FCMs. D Gupta et al [10] proposed a
2.2. Best Practices
Software Risk Assessment and Estimation Model
(SRAEM) predicts the possible results of software projects With recent development in smart phones, mobile
with good accuracy. Their model assesses the risk and also applications market has become overcrowded and
estimates it. They build metric based on mission critical developers are encouraged to develop new applications.
requirements stability risk metrics (MCRSRM). The Plenty of details are available on how to build an
proposed model gives the incremental risk for every phase application but lack of documentation makes understanding
and also the total cumulative risk as the software progress and optimization all the more difficult. At the same time,
from phase to phase. all but the largest and most complicated software and

Ƈ 430 Ƈ
system development projects have moved away from a 3.1. Customer related Risks
process-intensive approach towards a more agile approach, Requirement analysis is the most important task in
with the Scrum approach [11] and other agile techniques, developing a mobile application because it includes an in
e.g., test driven development, finding widespread depth market research along with client interaction. Risk
acceptance. The above is particularly true for applications factor is very high if any requirement is misinterpreted by
developed for the Web, where the development model design team or developer. Below are broad description
relies on many successive releases of the evolving product. related to requirement analysis risk.
The Scrum development process is a sequence of short (2-4
weeks) “sprints” where a team addresses a set of tasks as a Specification related Risks: Customer plays a crucial role
product increment, with each sprint addressing a “backlog” in any software engineering process. Customer
of requirements. requirements need a proper understanding and
documentation prior to the advent of the project
Above and beyond the process, though, is the systematic development. Many times it so happens that the customer
codification of knowledge about the best practices to needs are not clearly specified due to lack of technical
follow for application development. The World Wide Web knowledge of the customer. There have been cases when
Consortium has issued a candidate set of recommendations the client needs get misinterpreted and the end product
for mobile web (not native) applications [12]. Apple has obtained is not as per the requirements of the customer.
published an iPhone Application Programming Guide [13] Improper analysis of the customer requirements results into
with guidelines for various aspects of iPhone development. loss of time and also affects the quality of software
The Developer’s Guide for Android includes a Best delivered. It has been noticed that frequent changes in the
Practices section that addresses application compatibility, software design lead to buggy effect. Sometimes the
user interface guidelines, and designing for performance customer demands are unreasonable (e.g speedy
and responsiveness, among other things [14]. development to get the first mover advantage in a particular
feature), this might lead to poor quality and cause a risk to
In short, with increasing availability of guidance, the overall project
developers can program their application easily. Platform
developers have spent years in developing software 3.2. Communication related Risks
engineering knowledge and using it to create architectures There needs to be a streamline communication between the
and mobile SDKs that would help developers to interact client and developer to come up with the software product
with existing resources. However, these technical aspects that meets up all the needs. The developer should have a
don’t address the larger issues that we come across while clear picture of the end product and his targeted audience
developing large-scale mobile application with varied otherwise it would lead to fatal design errors. Design errors
support. in mobile software often prove to be very risky and
expensive on the long run. To avoid this type of risk we
2.3. Scaling Up should invest adequate time in explaining the vision of the
The major long term challenge in mobile application application , leading to greater enthusiasm and greater team
engineering is “scaling up” i.e, to look for appropriate coordination.
techniques for managing complex projects. Complex
projects require attention towards changing requirements, 3.3. Market Risks
product architectures and testing. Prior to the implementation of new mobile software, a in-
depth research of the market needs to be carried out. It is
The specialized qualities of the mobile environment make risky to come out with a software product that doesn’t not
it important for us to treat mobile applications development cater to the market needs or suffice the customer needs. It’s
as an independent task with its own software engineering also important to come up with something new or
process and set of requirements. something that would add value to existing available
options.
3. RISK CLASSIFICATION
Despite of development of 1.5million+ mobile application The research should be based on the following criteria:
[15] on various platforms, there is limited formal research • Is there an existing market or new market needs to be
done for its engineering process or risks that should be created?
taken care of while developing applications. In this section • What are the competitive products present in the
we will discuss various the risks associated with market?
development of mobile application and the scope for
• What is the purchasing power of the customer?
research in software engineering related to mobile
application. • Any specific issues related to the user interface.

Ƈ 431 Ƈ
3.4. Resource risks for a mobile application. A complex unappealing GUI
The dependencies encountered in developing a mobile can be risky as it fails in providing ease of usage to the
application can be of the following types: customers. The application GUI should be user
friendly along with certain enhanced features which
• Resource dependency: The mobile application is make it stand apart from the rest of the applications
sometimes dependent on other shared resources of the already available in the market.
memory, servers and skilled staff. The availability of • Testing Strategies: There are various testing strategies
those resources only facilitate in proper functioning of that are available to test the proper functioning of
the application. mobile software. To be on safe side and as a
• Platform dependency: When an application is built, it precaution different testing strategies should be
is dependent on features provided by the platform and employed. The faults encountered in mobile software
should not breach platform security. For example after the device is launched in the market are difficult
certain features are supported in one platform while and expensive to tackle. In general test cases should be
not on another (e.g. music files can’t be shared in iOS prepared for essential functionality. The application
while in other platform this can be done). To avoid this should be tested on various available models so proper
we should focus on developing applications in which functioning is done on all models as same platform has
the GUI is separate from the core logic, so that we various independent models (i.e. various dimensions a
need only change the GUI part for different OS and the particular application should be able to work on
logic parts remains the same. devices with varied screen size and resolution as well
as varied vendors). Network related testing should also
• Stakeholders Investment: The development and launch be done as all network have some change in their
of a mobile application largely depends upon the protocols. For example an application might give
support gathered from the stakeholders. Stakeholders unsatisfactory behavior on slow speeds (2G).
play a crucial role in finance and the budgeting and
promotion of the product. The amount invested and the In order to stay safely away from such risks it is suggested
policies used for campaigning of the mobile to carry out testing on field testing on field includes giving
application are of prime importance. the beta version of the application to the clients for usage
for a pre-determined time period and taking their reviews
3.5. Financial Risks of the product. The suggestions and feedbacks of the users
Budget and cost estimation plays a vital role in the should be carefully noted down and taken into
development of any mobile software application. It should consideration.
be made clear with the clients before taking over the Another way of testing is to perform Stress and Load
project about the estimated expenses and other costs that testing, these help us to avoid DOS attacks (due to
can be incurred in the manufacturing of the software. excessive loads), some crashes that occur in unthought-of
Buffer amount is always appreciated as it would decrease of scenarios, and also help us to point out whether there is
risk of financial crisis during multiple stages of the project any memory leak or any performances issue causing the
and ultimately increases profit at the end. device to slow up or hang.

3.6. Technical Risks 3.7. Managerial Risk


A correct application design is half the work done. But a In this highly competitive software evolving market first
faulty application design consumes a lot of time and money mover always has extra benefits. Every organization wishes
and often proves to be risky in the long run. Application to release their product first in market so they can attract
design includes the following: customers easily and acquire market share from very
• Algorithm: The algorithm used for the application beginning. Even there are deadlines to be followed for
should be cost optimal as well as space optimal. The projects. Mobile platform updates are rolled out rapidly,
application should not occupy a lot of memory in the mobile applications should be updated simultaneously to
system. improve efficiency and proper utilization of platform
features. Due to pressure, various scenarios are not
• Platform: The platform on which the application is considered and software is exposed to instability and
going to run should be feasible in nature and should be security risks.
one that is relatively stable and secure. The most
popular mobile software application platforms are 3.8. Performance Risks
Android, iOS and Windows.
A good application is one which is capable of dealing with
• Graphical User Interface (GUI): The application GUI the security attacks from the external environment. High
proves to be major factor in attracting more audience risks are involved in running insecure mobile software and

Ƈ 432 Ƈ
should be handled with top most priority. Different These risks can be classified among customer related risks,
platforms such as communication related risks, financial risks, market risks,
external risks, to name a few. The implication of these risks
Android, iOS, RIM, etc have their own ways on keeping a can vary from low to very high depending on various
check on the software vulnerability and methodologies to factor’s, hence it is imperative for any organization/
deal with external threats. individual to take into account these risks while developing
any new mobile application. Lot of research is still required
Enhanced security check algorithms must be employed in the field in how these risks can be assessed, quantified
within the software application to keep an eye on the and mitigated.
security attacks. Proper validation and authentication of the
users’ credentials along with sound encryption decryption 5. REFERENCES
algorithms can be proved helpful in securing a system. [1] (2013) The mobile war is over and the app has won
80% of mobile time spent in application [Online].
Stability measures: There are some requirements that Available: http://venturebeat.com/2013/04/03/the-
depend on platform and development process and that are mobile-war-is-over- and-the-app-has-won-80-of-
not properly stated by the customer. They are highly mobile-time-spent-in-apps
vulnerable and if not taken into consideration would lead to [2] Agrawal, S. and A.I. Wasserman, "Mobile Application
serious flaws when end product is released. Development: A Developer Survey", submitted for
publication, 2010
3.9. Maintenance Risks [3] Ying Qu; Meng-Jia Yuan; Feng Liu, "The risk factor
The job of a developer does not get over with just the analysis for software project based on the
launch of the application in the market. Providing support interpretative structural modelling method," Machine
after release is most important thing for product success. Learning and Cybernetics (ICMLC), 2012
Regular updates in platforms are rolled out so application International Conference on , vol.3, no., pp.1019,1024,
should adopt new changes in platform and provide support 15-17 July 2012
for that. [4] Xiangnan Lu; Yali Ge, "Risk analysis in project of
software development," Engineering Management
There are risks associated after the launch that have to be Conference, 2003. IEMC '03. Managing
dealt on timely basis. The features of the software need to Technologically Driven Organizations: The Human
be updated regularly. Clients more often than not have Side of Innovation and Change , vol., no., pp.72,75, 2-
customized needs requiring constant updates and needful 4 Nov. 2003
attention. [5] Khatavakhotan, A.S.; Siew Hock Ow, "Improving IT
Risk Management Process by an Embedded Dynamic
3.10. External Risks Verifier Core: Towards Reducing IT Projects Failure,"
Many applications in the market need certain requirements Intelligent Systems, Modelling and Simulation
to be met for their proper functioning. Certain applications (ISMS), 2012 Third International Conference on , vol.,
use GPS services while most of them require internet no., pp.684,687, 8-10 Feb. 2012
facility for their running. Proper testing should be done in [6] Khuankrue, I.; Rivepiboon, W., "Model of cross-
all types of environment. For example, if an application is culture risk prediction base on Bayesian belief
internet dependent, then we should test it on slow as well as networks for software project," Innovation
fast connections to ensure that the application does not Management and Technology Research (ICIMTR),
either hang / crash or cause any unwarranted behavior in 2012 International Conference on , vol., no.,
any situation. Also we should take into account what would pp.560,565, 21-22 May 2012
happen if the data connection drops all of a sudden and the
[7] Benaroch, M.; Appari, A., "Financial Pricing of
amount of battery usage under the above mentioned
Software Development Risk Factors," Software, IEEE,
conditions.
vol.27, no.5, pp.65,73, Sept.-Oct. 2010
The above stated situations are just some scenarios in [8] Jiangping Wan; Shiqing Zhu; Yunfeng Wang,
which one should test and minimize the risk factor for "Empirical Analysis on Risk Factors of IT Service
application. Management Project Implementation," Wireless
Communications, Networking and Mobile Computing,
2008. WiCOM '08. 4th International Conference on ,
4. CONCLUSION
From analysis of this paper it can be found that mobile vol., no., pp.1,4, 12-14 Oct. 2008
application development is a complex process that has [9] Lazzerini, B.; Mkrtchyan, L., "Analyzing Risk Impact
many risks different from traditional software projects. Factors Using Extended Fuzzy Cognitive Maps,"

Ƈ 433 Ƈ
Systems Journal, IEEE , vol.5, no.2, pp.288,297, June July 2010. [Online]. Available: http://
2011 www.w3.org/TR/mwabp/
[10] Gupta, D.; Sadiq, M., "Software Risk Assessment and [13] (2013 )Apple. iPhone Application Programming
Estimation Model," Computer Science and Guide. [Online]. Available:
Information Technology, 2008. ICCSIT '08. https://developer.apple.com/ library /ios/navigation/
International Conference on , vol., no., pp.963,967, [14] (2013) Android Developers. The Developer’s Guide.
Aug. 29 2008-Sept. 2 2008 [Online]. Available: http://developer.
[11] Schwaber, K. 2004. Agile Project Management with android.com/guide /components/ index.html
Scrum.Microsoft Press. [15] (2013)Mobile app [Online]. Available: http://en.
[12] (2013) World Wide Web Consortium, Mobile Web wikipedia.org/ wiki/Mobile_app
Application Best Practices W3C Working Draft, 13 [16] Roger S Pressman, Software Engineering: A
Practitioner's Approach, 6th , McGraw-Hill

Ƈ 434 Ƈ

View publication stats

You might also like