The research paper published by IJSER journal is about Agile Software Engineering Framework for Evaluating Mobile Application Development 1

ISSN 2229-5518

Agile Software Engineering Framework for

Evaluating Mobile Application Development

Ridi Ferdiana

Abstract— The development of mobile applications is becoming one of the growth sectors of the local software economy. In addition to a lot of mobile users, developers also have a lot of choices in developing mobile applications. A large selection resulted in the development technology makes developer team need to invest the time to learn each platform. This was definite by the competition of mobile application development which should always be fast, efficient, and also includes as many targeted platform. This paper will focus for the beginner developer teams who want to develop or evaluate mobile applications in more nimble. In this paper, it is shown a software engineering approach called MASEF ("Mobile Application Software Engineering Framework"). MASEF will guide novice developers to develop and evaluate a mobile application development in agile way. This paper also recounts the successes and challenges in adopting MASEF at four kinds of mobile applications projects.

Index Terms— Mobile, Application Development, Software Engineering, Agile, Framework, Tourism, Mobile Platform

—————————— ——————————

1 INTRODUCTION

oing mobile is a jargon that simply said that whether in- dividual or company will move and use mobile technol- ogy for their daily activities. Esposito (2012) argues that
the “Going Mobile” is a strategic plan where more conceptual that operational. The strategic plan happens because several reason such as provide a service through multiple channels, a new opportunities to provide a services, and making customer more productive.
Based on the “going mobile” strategic, many organizations do resource and development in mobile application. Facebook, twitter, and many vendors provide the multi-channel applica- tion. For example, Facebook has four mobile applications in each mobile platform beside their web application. It is shown that mobile users grow makes many mobile platforms can sustain. Windows phone, IOS, Android, and Symbian is just several platforms that still exist today and grow based on the new smartphone that sold in the market.
The multi-channel application provides several challenges in the development which are:

The diversity of platform makes the development team should invest to learn each platform.

The complexity of business makes the development team to create solution that cover many business scenar- io as soon as possible

The concept of BYOD (Bring your own device) makes an organization should prepare multi-channel application without sacrificing the business productivity.

These challenges are already solved with many new technol- ogy and approaches. Rodger (2011) categorizes the mobile ap- plication development on three categories which are mobile web app, native app, and hybrid app. Mobile web app is a web-

————————————————

Ridi Ferdiana is a researcher and lecturer at Universities Gadjah Mada, he focuses in software engineering, line of business application development, and also human computer interaction applied. He can be reach at ridi@acm.org or http://ridilabs.net

site that designed just like an app. Native app is an app that developed using specific device programming interface. The last model is hybrid app. It is an app that build with a runtime standard and put the application on a container that can be run in many devices.
In a simply way a team of developers choose one category from the existing mobile applications category. The difficulty generally experienced by a team of developers who are new. They have difficulty when developing mobile applications mul- ti-channel application. Some of the difficulties are:

Choosing the right application type. For example will this app build with X, Y, or Z technology.

The development team is distracted by the technology selection rather than focusing in business problem.

The mobile application is done but the user doesn’t like

the application.
This research make an effort to recommend quick guide for
mobile application development team to choose and develop a
mobile application using a proposed software engineering
framework called MASEF (mobile application software engi-
neering framework). It is shown in the case studies that
MASEF increase the developer productivity as a lesson
learned for the developer team who want to develop mobile application

2 PREVIOUS RESEARCH

2.1 Mobile Application Development

As mentioned by the Rodger (2012). There are three mobile application categories which are native application, mobile web application, and hybrid application. Each category has a benefit and disadvantages that will be described as follows.
The native application development depends on the device specific programming language. For example, Windows Phone use Silverlight as programming framework, Android using Java technology, and IOS uses objective C library to build their native apps. This development approach will give the developer the highest access to use the device specific fea- tures. The issue on the native application is the specific of the

IJSER © 2012

http://www.ijser.org

The research paper published by IJSER journal is about Agile Software Engineering Framework for Evaluating Mobile Application Development 2

ISSN 2229-5518

device itself. For example building Android app need a Java technology that specifically used for Android. Although Sym- bian also use java, both of them are different thing. The issue happens when migrating from one platform into another one. Although the hardware similar the development technology quite different.
A mobile web application works great when the solution is targeting to more than one platform. The mobile web applica- tion works through web standard like HTML5 and CSS3. Mikkonen and Taivalsaari (2008) show two types of experi- ment to develop mobile web application. The first type is de- velopment model based on the regular web application. This type usually happens in organization that already has web application on their organization. The second type is using capability of the device to render the casual mobile web appli- cation through their rendering capability. The first type needs more effort than the second type, but it will give better result than a second type especially in term of different mobile browser.
The hybrid approach currently works as a new option to
build mobile application. The idea is done by providing a spe-
cial runtime that can be run in many mobile platforms. The
hybrid application is a HTML or custom based application
that can only run through special container or runtime. The
application usually communicates with the backend like web services, cloud service, or any other middleware. This kind application can also be generated on the fly. Ranabahu, et al (2011) shows a model driven mobile hybrid application that
generated by using domain specific language (DSL). Miravet, et al (2009) also creates a framework to generate mobile appli- cation using a custom system called DIMAG. Both references show that the mobile development can be done through a framework that be able to generate standard code that can be run in multiple mobile platform. Currently, there are many vendors that provide a framework to create multi-channel application such as DXtreme (Devexpress), Kendo UI (Tele- rik), Mono (Xamarin), Cordova (Apache), and many more. The growth of the company that developed the hybrid frame- work indicates that the hybrid mobile application is promis- ing.

Figure 1 shows the three categories of mobile application has advantages and challenges (Seven, 2012).

Figure 1. Native, Hybrid, and Mobile Web (Seven, 2012)

The good question is when choosing a hybrid compared with native and mobile App. Several researches (Bagrodia et al,
2003; Varshney and Vetter, 2002; Saroiu and Wolman, 2009; Olsson et al 2007) shows that the decision is about what kind of business problem that want to be solved by mobile applica- tion

Many of the mobile game application using native appli- cation to provide more flexibility access to the hardware resources.

Line of business application uses mobile web or hybrid application in order to provide access flexibility between devices.

Consumer application or productivity application uses hybrid application in order to get many users for the ap- plication.

Findings from previous research helped the development team to select the type of application in a technical vision. However, the application development in multi-channel ap- plication has not been much discussed, especially on the side of software engineering. Based on that assumption, the re- search discuss the software engineering aspect in mobile ap- plication development

2.2 Software Engineering in Mobile Application

Development.

Application development is a part of software engineering activity (McConnell, 1996). In software engineering it is shown that the target platform is not a big deal. Software method like Scrum, XP, or RUP doesn’t discuss about specific implementa- tion in mobile application development. According to the pre- vious research by Wasserman (2010), the casual software en- gineering processes whether agile or conventional requires adjustment. Wasserman (2010) shows several issues and chal- lenges in the development processes, tools, user interface de- sign, application portability, quality, and security. The re- search shows that the need of mobile software engineering is urgently needed more just than development techniques.
The main focus in mobile software engineering is to devel- op code that cover mobile application characteristics such as usage patterns, form factor, reliability, battery life, and its ar- chitecture. Salmre (2005) shows the mobile software engineer- ing focus is addressing the main problem of the application. In his research, it is shown that the component based model, state model, and iterative development will create sufficient mobile application. Salmre proposes six steps to develop mo- bile application which are
1) Decide the scope of the mobile application
2) Starting with performance issues and challenges.
3) Design the right user interface
4) Get the data model for mobile application.
5) Get the communication model for the mobile application
6) Packaging and deploying a mobile application.
The most complete mobile software engineering approach
is discussed by Alencar and Cowan (2011), the handbook
shows the complete references in the design Implementation
and emergent applications. The research result offers a com- pendium of state-of-the-art research on the key issues sur- rounding current and future challenges for the software engi- neering of mobile systems and related emergent applications.

IJSER © 2012

http://www.ijser.org

The research paper published by IJSER journal is about Agile Software Engineering Framework for Evaluating Mobile Application Development 3

ISSN 2229-5518

2.3 This Research and the Previous Research

In general, previous research has adequately addressed the challenges of developing mobile applications. However, this study focuses on the development of mobile applications more agile by bringing simplicity and attention to current mobile technology. Simplicity is not easily presented by removing the various steps and look sophisticated approach. Agility is not merely adopting agile methods such as eXtreme Program- ming. Attention to the latest technology is not done by merely adopting the latest technology in this research.
Table 1 provides a vision of this research compared to the
previous research that already discussed on previous Section.
TABLE 1. THIS RESEARCH AND THE PREVIOUS RESEARCH

Research

Objective

Alencar and Cowan

(2012)

Provides the most complete reference in mobile software engineering field. Provide insight for current and future emerging application

Wasserman (2010)

Focusing on the essential aspects of software engineering issues that happen in development team and how to take care the issues.

Salmre (2005)

Providing the simple step to tackle tech- nical issues that happen when building mobile application

This research

(2012)

Providing simple framework that adopt an agile method to tackle management and technical issues on small and medium size mobile application development

3 RESEARCH METHOD TO BUILD MASEF

As mentioned in Section 2.3, the focus of this research is to construct a lightweight framework that tackles technical and non-technical aspect in mobile software development. This research targets the SMB (Small Medium Business). Therefore, the research should consider the limitation of resources, time, and budget to develop sufficient. In order to fulfill these crite- ria this research will practice several things which are.

In order to provide lightweight framework, the research

will adopt an Agile method eXtreme Programming (XP).
XP is chosen since it has proven as lightweight frame-
work to develop application (McBreen, 2002; Ferdiana
and Santosa, 2012).

In order to get lesson learned about the limitation con-

sideration from the mobile application development.
The research executes four mobile application develop-
ments with the same topic but in different platform.
MASEF simply be defined as a framework to adopt XP in
the scope of mobile application development. MASEF de-
signed to combine aspects of software engineering, project management, and technical development of mobile phone applications. In an effort to prove MASEF, this study conduct- ed experiments with four mobile application development
projects.
The application development projects designed to have the
same complexity even running on different platforms. In this
research, tourism topic is chosen for several reasons which are.

Tourism topic focuses on locations and information. This

will give a good project simulation that use of sensors
such as GPS and accelerometer on the mobile device.

Tourism application has simple business process. This

model is sufficient to simulate the SMB model develop-
ment.

Tourism application is “going mobile” essential. It

means that tourism is really close with mobility. There-
fore, by using this topic, it will give a good simulation of
the mobile application development.
Based on these considerations, the research will be executed
as follows.
1) Combining the mobile application development issues
and solution with XP method. The combination result is
called unadjusted MASEF
2) The unadjusted MASEF is used in the case studies. This
experiment will evaluate MASEF in three key perfor-
mance indicators which are technical decision, manage-
ment, and risk management and control.
3) The result of the case studies will give lesson learned
that will revise the MASEF. This step will create adjusted
MASEF

4 MASEF EXPLAINED


Mobile Application Software Engineering Framework is a combination between processes, method, tool that are used to develop mobile application. As a mentioned before the pro- cess will use the Agile, the method will use the eXtreme Pro- gramming and the tool will use several tools that related with mobile application development. Figure 2 shows the MASEF architecture layer.

Mobile Tools

Application Store Quality Check Customer Verification

Figure 2. MASEF Architecture Layer

As shown in Figure 2, MASEF contains four main layers which are quality focus, process, method, and tools. Each layer has it owns responsibility just like casual framework in soft- ware engineering. The distinctive value between the casual software engineering framework and MASEF is how the quali- ty focus is defined by a different way. In MASEF, quality is defined by the application store quality check (for product) or customer verification (for mobile project). In many type of hybrid or native application the quality check is done by the

IJSER © 2012

http://www.ijser.org

The research paper published by IJSER journal is about Agile Software Engineering Framework for Evaluating Mobile Application Development 4

ISSN 2229-5518

application store. However, mobile web quality is defined by the customer satisfaction.
The process and method adopts the Agile and XP. There- fore, the execution of MASEF will follow XP discipline such as planning game session, pair programming, test driven devel- opment, and others XP practices. Figure 3 shows the execution MASEF based on XP model.
bile device in the several platforms. The case study is named Alpha, Beta, Charlie, and Delta. Each case study has one de- signer, one coach, and one developer.
TABLE 2. MASEF CASE STUDIES

Exploration

Phase

Planning

Phase

Iteration

Phase

Maintenance

Phase

Figure 3. MASEF Execution Phase

Production

Phase





As shown in Table 2, the case studies have same application features and team size. The different is on their platform. Al- pha and Beta uses native application, Charlie uses mobile web app, and Delta use hybrid application. Each team get two months maximum to deliver the application by adopting the MASEF. Table 3 shows the issues for each team when adop- tion MASEF in their daily development.
TABLE 3. MASEF ADOPTION ISSUES FROM THE CASE STUDIES
As shown in figure 3, the MASEF contains three phases which are exploration, planning, iteration, production, and maintenance. The exploration phase focuses in three main ac- tivities which are defining the scope, selecting mobile type application, and composing the team. The planning phase exe- cutes three main activities which are creating the user story, executing planning game, and delivering resource-budget- time planning. The iteration phase focuses in three main activ- ities which are designing the application, test first design, and building the module with a pair programming technique. The production phase focuses in delivering certification or finaliz- ing the mobile product. The last but not least is maintenance phase. In this phase, team creates a further plan to create a future vision and update plan.
In order to execute MASEF, the development team should have a basic knowledge in three main areas which are:

Understanding the technology selection on mobile ap-

plication development. As mentioned before, the team
should have prior knowledge in native, mobile web, or
hybrid application. Simply by looking Figure 1 will
make them have a prior knowledge to choose the right
technology.

Understanding Agile and XP. The development team

should be able to understand the XP values, principles,
and practices. Learning about XP in several books will
help the team to adopt the MASEF

Understanding the tools and certification requirement.

The team should aware about tools like multi-channel application development tools. Furthermore, they have knowledge how to submit the application in application store and fulfill the application requirement.

5 MASEF CASE STUDIES

As mentioned before, the research chooses four case studies. The case studies focus is to build tourism application on a mo-
Table 3 implicitly shows that the productivity issues major- ly come from the platform. The proposed MASEF gives a bet- ter view of the difficulties in the mobile application develop- ment. In order to give better insight in productivity, Table 4 shows the productivity result on each case study. The research ranks the case study in each phase. The lower of the rank the better productivity happen in the case study.
TABLE 4. CASE STUDIES PRODUCTIVITY

MASEF Phases

Alpha

Beta

Charlie

Delta

Exploration

3

2

1

4

Planning

2

3

1

4

Iteration

1

2

4

3

Production

4

3

2

1

Maintenance

N.A

N.A

1

N.A

Table 4 explicitly shows that platform still a main cause the productivity. For example, Charlie case study (mobile web) gives a better productivity in many aspect but struggle to ful- fill the development need. Another example, Alpha case has a good iteration productivity since Windows Phone has many good productivity tools in top of Visual Studio platform. In this step we see that MASEF only gives a better approach to

IJSER © 2012

http://www.ijser.org

The research paper published by IJSER journal is about Agile Software Engineering Framework for Evaluating Mobile Application Development 5

ISSN 2229-5518

do the development process lighter but have a limitation to make the development more productive during the limitation of the platform.

6 CONCLUSION

In this research, it is shown a framework called MASEF. MASEF is a composition between mobile application devel- opments with agile XP approach. MASEF has the architecture layer, execution phase, and also requirement adoption. The adoption of MASEF is done through four case studies that give several lesson learned which are.
1) 1 of 4 case studies (25%) consume the most of the time in exploration phase to choose and to analyze the mobile technology selection.
2) 4 of 4 case studies (100%) feels productive to create a us- er story and have no difficulties to create planning game based on navigation or card model.
3) 2 of 4 case studies (50%) feel the difficulties when create
a building block module. Many of them stuck with the
limitation of current mobile operating system capabili-
ties and API.
4) 3 of 4 case studies (75%) feel the difficulties in submit-
ting their app into the application store. The administra-
tive task such creates an icon; flexibility in screen size,
and also code behavior make the team should refactor their application.
5) 1 of 4 case studies (25%) has a good plan in future re- lease. The rest of case studies struggle in production phase and some of them don’t do the maintenance or update plan
By adopting the case studies, it is shown that MASEF can analyzed the technology bottleneck of the mobile application development and give the team a workflow process to devel- op mobile application in software engineering manner. In the future MASEF can be used to compare and adopt several hy- brid application development framework.

ACKNOWLEDGMENT

The authors wish to thank for the support of author family, MIC, and UGM electrical engineering and information tech- nology department. This work was supported in part by a program from LPPM UGM.

REFERENCES

[1] Ajith H. Ranabahu, Eugene Michael Maximilien, Amit P. Sheth, and Krishnaprasad Thirunarayan. 2011. A domain specific language for enterprise grade cloud-mobile hybrid applications. In Proceedings of the compilation of the co-located workshops on DSM'11, TMC'11, AGERE!'11, AOOPES'11, NEAT'11, & VMIL'11 (SPLASH '11 Wor k- shops). ACM, New York, NY, USA, 77-84. (Journal Publication)

[2] Anthony I. Wasserman. 2010. Software engineering issues for mobile

application development. In Proceedings of the FSE/SDP workshop on Future of software engineering research (FoSER '10). ACM, New York, NY, USA, 397-400. (Journal Publication)

[3] Dino Esposito. Architecting Mobile Solutions for the Enterprise. Mi-

crosoft Press. 2012. (Book)

[4] Doug Seven. 2012. What is a hybrid mobile App? Icenium. Blog pub- lication at http://bit.ly/OMVQVN accessed 23/9/2012. (Un- published article)

[5] Ivo Salmre. 2005. Writing Mobile Code: Essential Software Engineer- ing for Building Mobile Applications. Addison-Wesley. USA. (Book)

[6] Patricia Miravet, Ignacio Marin, Francisco Orin, and Abel Rionda.

2009. DIMAG: a framework for automatic generation of mobile a p- plications for multiple platforms. In Proceedings of the 6th Interna- tional Conference on Mobile Technology, Application \&\#38; Sys- tems (Mobility '09). ACM, New York, NY, USA, Article 23, 8 pages. (Journal Publication)

[7] Paulo Alencar and Donald Cowan. 2011. Handbook of Research on Mobile Software Engineering: Design Implementation and Emergent Applications (2 Volumes) (1st Ed.). Engineering Science Reference. (Book)

[8] Pete McBreen. 2002. Questioning Extreme Programming. Addison - Wesley. New York. (Book)

[9] R. Bagrodia, S. Bhattacharyya, F. Cheng, S. Gerding, G. Glazer, R.

Guy, Z. Ji, J. Lin, T. Phan, E. Skow, M. Varshney, and G. Zorpas.

2003. iMASH: interactive mobile application session handoff. In Pro- ceedings of the 1st international conference on Mobile systems, ap- plications and services (MobiSys '03). ACM, New York, NY, USA,

259-272. (Journal Publication)

[10] Richard Rodger. Beginning Mobile Application Development in the

Cloud. Wrox. 2011. (Book)

[11] Ridi Ferdiana, and Paulus Insap Santosa. 2012. Improving Mobility in eXtreme Programming Method through Computer Support Coop- erative Work. IJCSIS. Vol 10. No. 02. (Journal Publication)

[12] Stefan Saroiu and Alec Wolman. 2009. Enabling new mobile applic a-

tions with location proofs. In Proceedings of the 10th workshop on Mobile Computing Systems and Applications (HotMobile '09). ACM, New York, NY, USA, , Article 3 , 6 pages. (Journal Publication)

[13] Steve McConnell. 1996. Rapid Development. Microsoft Press. (Book) [14] Thomas Olsson, Marika Lehtonen, Dana Pavel, and Kaisa Väänänen -

Vainio-Mattila. 2007. User-centered design of a mobile application for sharing life memories. In Proceedings of the 4th international con- ference on mobile technology, applications, and systems and the 1st international symposium on Computer human interaction in mobile technology (Mobility '07). ACM, New York, NY, USA, 524 -531. (Journal Publication)

[15] Tommi Mikkonen and Antero Taivalsaari. 2008. Towards a Uniform Web Application Platform for Desktop Computers and Mobile D e- vices. Technical Report. Sun Microsystems, Inc., Mountain View, CA, USA. (Journal Publication)

[16] Upkar Varshney and Ron Vetter. 2002. Mobile commerce: frame-

work, applications and networking support. Mob. Netw. Appl. 7, 3 (June 2002), 185-198. (Journal Publication)

IJSER © 2012

http://www.ijser.org