Methodology Approaches Regarding Classic versus Mobile Enterprise Application Development

In the nowadays enterprise computerized context, there is a trend that shifts the business applications to the new mobile environments. In the light of this information, it is highly important to be knowledgeable about the software development methodologies available in order to make the right choice when it comes to developing a mobile application. The current research aims to presenting the methodological approaches regarding the development cycle of classic enterprise software versus mobile apps. In the first part of the paper a brief literature review regarding the mobile apps is made, for the purpose of justifying the current research theme. The most consistent part of the article puts face-to-face the “classical” and the new development methodologies adapted to the requirements of the new mobile environment trends. The paper also presents the challenges and limitations of mobile applications as well as few of the future trends in the researched domain.


Introduction to Mobile Applications
Mobile applications, also referred to as mobile apps, are software applications that are usually designed to be ran on smart phones and tablet computers [1].The term "apps" had become extremely popular and, as a consequence, in 2010 was listed as "Word of the Year" by the American Dialect Society.Mobile applications are available through application distribution platforms, which are managed by mobile operating system developer.There are several major trends that we believe it contributes to the boost of using the today mobile applications:  the increased availability and options to Internet connection for mobile devices;  the shift to the new mobile environments for the business applications;  cloud application's development;  the newest research findings that identifies new technologies which increased the performance of mobile device while the price remained at the same level, allowed mobile devices to became available for a wider variety of users.Another important aspect, when it comes to mobile application development, is the num-ber of users.Thus, the number of mobile worldwide workers in 2013 is over 1 billion and accounts for about 35% of the worldwide workforce.The structure of the above ratio shows that Asia/Pacific (including Japan) have the largest total number of mobile workers, 785 million, while the second place is taken by Western Europe whose mobile workforce reached 129.5 million in 2013 and accounts for about half of the Western European workforce population.The study [2] also highlights that US has the highest percentage of mobile workers in its workforce, with 75.5% by the end 2013 accounting to 119.7 million mobile workers.A quick glimpse to the future is displayed in the two most recent studies which predict that mobile worker population will reach 1.2 billion by 2014 (a VDC study [3]) and 1.3 billion by 2015 (an IDC study [4]).Every day, hundred thousands of mobile devices are sold and about the same number of applications is downloaded.By 2015, International Data Corporation (IDC) predicts [5] that 182.7 billion mobile apps will be downloaded.That's a 1600 % increase from the 10.7 billion apps downloaded in 2010.This information highlights the mobile user's ap-1 DOI: 10.12948/issn14531305/17.2.2013.05petite for a wide range of software applications.Cloud application development brings innovation [6] to mobile computing as mobile devices use clouds for a wide range of purposes, from data processing and data storage to other intensive data and information transactions.So far, there are few mobile cloud applications (like Google Maps, Gmail for iPhone and Cisco's WebEx on iPad and several others that use Software as a Service model) but the trend is highly increasing.The main purpose of the paper is to present the methodologies for developing classic enterprise application versus mobile applications.Also, the current research will present several news and trends related to mobile applications.
A study [7] performed in 2012 by Keynote entitled Mobile User Survey investigates the Mobile User Preferences, Habits, and Expectations.The study was performed on 5,388 panelists and the study focused mobile user habits and preferences designed to understand usage patterns and expectations.The results are presented in Table 1.The study is important for our paper as it displays important information for a developer, namely the type of mobile device mostly used, the type of operating systems preferred and others.A research [8] conducted in 2010 investigates, among other aspects, the number and percentage of papers type published within the area of mobile applications.booking, check-ins, the use of maps, place deals, etc;  Education system have accepted the use of tablets and mobile software applications in classrooms;  Healthcare system is using mobile devices and applications for patient records, physician notes, etc. Finance area uses specific software for realtime trading, portfolio analysis Furthermore, the study analyzes more thoroughly the state of application in the B2B environment and declares that within this sector of activity, the mobile applications are running rampant as well, especially for area as:  Business Applications throughout CRM, ERP, HR systems;  Productivity by the use of documents, spreadsheets, presentations;  Collaboration throughout the intensive use of Emailing, InstantMessaging, Document publishing.Strictly related to the Enterprise mobile applications, the specialized literature reveals several researches that we refer to as milestones that set the framework for such specialized software.Accordingly, Al Bar, et all [10] elaborated in 2011 a comprehensive study regarding the preliminary review of implementing EMA (Enterprise Mobile Application) within the ERP environment.The research focused on the groundwork assessment of EMA in ERP environment by illustrating the implementation challenges to mobile application development framework.The authors present the five layers of enterprise taxonomies for mobile application, namely: mobile broadcast, information, transaction, operation and collaboration specifying that a new more layer is required.The missing layer should offer mobile devices administration roles allowing it to pursue control and to monitor the users and the other mobile devices within the enterprise which are remotely monitored and controlled by administrators.The authors concluded that the mobile technologies and applications offer many new opportunities for the business environment, together with new development and implementation challenges.Dospinescu et all [11], also foresee the inevitable entrance of ERP within the mobile application portfolio.The research highlights that ERP, as a significant step forward made by companies, will inevitably pursue to provisioning its main services through mobile technologies.The originality of the research mainly resides in the fact that, besides exploring the landscape of mobile applications, it proposes an architectural model for the mobile services beginning with the necessary functionalities required by a portal of mobile services.The article presents both the general architecture of the portal and the minimal set of functionalities required for implementation in order to ensure the promotion and use of services.Nevertheless, Unhelkar and Murugesan [12] in 2010, perform a thoroughly study, starting from the idea that enterprises today are facing several challenges in terms of deploying mobile applications.The above mentioned challenges are generated by features like location independence, contextualization, and personalization.The authors propose MADF, a six-layer enterprise Mobile Applications Development Framework which offers a systematic and highly comprehensive solution to mobile application development and maintenance.Thus, within the research, the authors design a new taxonomy for enterprise mobile applications, based on an earlier work done at MethodScience.com.The above articles illustrate few of the research endeavors related to enterprise mobile applications and justify the current study which will present next the software development methodologies in a comparison manner: classical versus new ones, designated for DOI: 10.12948/issn14531305/17.2.2013.05particularities of the new mobile environments.

Software Development Methodologies
According to the particularities of the domain that is to be computerized, different methodologies and programming language can be used [13].Therefore, according to the domain, different approaches will be taken as projects from different domains ask for different work efforts and risks.Thus, we consider important to review the most important methodologies so that a correct decision to be made when is necessary to computerize the field of financial analysis.

Defining the Relevant Terms
A working methodology for a software product represents how the development process is structured, planned and controlled.The methodology to develop a system is a standard process, used by an enterprise in order to cover all the necessary stages for the analysis, design, implementation and maintenance of information systems.
In what follows we shall present some terms that are associated to the concept of working methodology:  Methodology (or method) represents a collection of principles and/or practices;  Family of methodologies constitutes the set of coexisting alternative methods;  Framework can be likened to a frame (for methods) that must be developed and personalized before being used;  Model is o description (for methods) that must be implemented by a method, family or framework.
Methodology can be likened to a class that can be instantiated for a certain project.A frameworkworking framecan be considered an abstract class that must first be inherited and extended.The model can be compared to an interface that represents only a description which, later, must be implemented via classes.

Classical Models Specific to Software Development
The models specific to the development of systems represent a set of specifications that are necessary for the management of the stages in the development of information systems.In general, these models have at least four stages: Planning and selection, Analysis, Design, Implementation and maintenance [14] to which others can be added, depending on the model.In our opinion, is it worth mentioning that: stages must not necessarily be sequential; each stage has certain results and deliverables, and each organization personalizes the model of the life cycle according to the specific profile of its operations.Table no 2 features a comparative overview of the consecrated models intended for software product development, also known in literature as system development life cycle models [15].Apart from this overview, the table captures the advantages and disadvantages of the models, according to their specific features mentioned in literature.We could add to the models in the Table 3 the evolutionary model, the threedimensional model, the X model, the fountain model, the pinball model, the baseball ball Model (it facilitates concurrent development), and the pyramid model.

Proto-type Model
The model aims to counter certain limitations of the Waterfall model and it is developed starting from currently known requests.With the help of the prototype, the customer perceives more easily how the application functions because he or she can interact with it during the development cycle.The model is used in the case of large and complex systems.
-Users are directly involved in development and they can better understand how the application functions by means of the prototype; -Errors can be detected in time' -The user's feedback is fast, which leads to better solutions; -Less time and lower costs.
-The model leads to an increase in the system's complexity, and it goes beyond the conditions established at first; -The project's analysis is insufficient; -developers may become attached to a prototype, out of subjective reasons, running the risk to transform the prototype into a final product even though the basic architecture is not correct; -It takes an excessive amount of time to implement a prototype.

Incremental model
The model is an evolved form of the Waterfall model.With its help, the application can be delivered incrementally.The latter should have a small scale, so that there could be an interval ranging from a few weeks to maximum two months between launches.The model is recommended for projects that evolve in time.
-The highest priorities are the first to be delivered; -Deliveries are done once in a few weeks; -The feedback on delivered increments offers the specifications for subsequent increments; -The model ensures a low risk of total failure of the project; -Higher priority increments undergo an ampler testing process.
-it may be necessary to create temporary solutions so as to deliver an increment in time; -in some situations, a significant part of the code can be erased; -under the circumstances, planning is difficult.

V Model
This is a variant of the Waterfall model which introduces new concepts such as system and subsystems.The model highlights the demarcation between the user's participation, the architectural model and the implementation model.
-It can also be used in object-oriented programming as it favors the turning of higher structures into prototypes and their reuse; -It provides a strong control over the system, which allows it to be used in the case of complex systems as well; -It encourages one to approach the system according to its constitutive parts.
-The major reproach that has been brought to this model is connected to the fact that the validation stage is launched late, which makes the system suffer from the point of view of efficiency.

Spiral model
The model is based on the convictions that: -development and the need to plan are iterative in nature; -it eliminates the deficiency of the V model in which validation is done late; this model does it earlier, and it does it several times even.
-It allows one to assess risks at several moments; -The model is characterized by high flexibility (both in fund allocation and in defining activities).
-The allocated time and the costs involved are hard to estimate from the beginning.

Agile Models
Apart from the classical models used in software product development, we ought to mention the group of methods termed agile methods.They are based on incremental and iterative development and they are mostly applied in cases that require project specifications and solution be the product of the collaboration between teams organized individually but which aim towards the same common purpose.-It is difficult to accomplish because it requires large teams of programmers and much discipline is needed for the project to be completed; -The incremental design proposed by XP does not favor the current software requirements; -XP emphasizes the refactoring, in time, of the implementation process, which can diminish the productivity of other aspects; -The method imposes development based on code and not on design; -Consequently, there is no design documentation.

SCRUM
The method can be visualized as a skeleton that contains sets of practices and roles.The main SCRUM roles are: -"Scrum Master" -maintains processes; -"product holder"represents investors and the business;-"Team"-7 employees who are in charge with analysis, design and implementation.During every "sprint" (which can last from 2 to 4 weeks), the team creates an increment that can be delivered to the beneficiary.
-It allows time and money to be saved; -It favors quick error correction; -It offers good visibility of the project's implementation; -It offers permanent feedback from partners; -Possible problems can be solved promptly because they are identified in the early stages; -It leads to the delivery of quality products within the planned delivery schedule.
-The lack of a deadline allows customers to ask for more functionalities; -If the team is not seriously selfinvolved in the project, the latter may fail; -Requests must be well defined in order to draw a fair estimate of the costs and time needed to complete the project; -The model is recommended to be used only for small and fast projects; -If a member leaves the team, this can massively damage the project.
During the process of system development, enterprises must consider the various existing approaches and options.Thus, agile models will be opted for only when the project involves [16]: (1) requirements that are dynamic or hard to foresee; (2) responsible and motivated developers; (3) customers who are willing to get involved in the completion of the project.The advocates of the agile methodology characterize it by the fact that it is grounded in three key principles of operation, as follows: (1) it is focused more on adaptive methodologies and not on predictive methodologies, (2) it complies with employees' requirements and not with their roles, (3) it supposes a self-adjusting process.Source: adapted after [16]

Mobile Application Methodologies
The specialized literature is not abundant in presenting references related to the methodologies for the development of enterprise mobile applications.Yet, a study from 2008 performed by Shiratuddin, illustrates the mobile development methodology that were used at that point.The author used four of it in order to develop m d -Matrix, a decision making tool that mainly aims to assisting software developers in the process of choosing the appropriate development methodology for the development project of mobile applications.In Table 6 we present the list of methodologies as well other brief characteristics [17].In the following sections the methodologies identified will be concisely presented by using the guidelines and descriptions offered by its authors.

Chen, M. Methodology for Building Enterprise-Wide Mobile Computing Applications
A pioneer methodology for developing enterprise wide mobile applications was created by Chen [18] in 2004 at George Mason University, School of Management and its main phases are displayed in Fig. 1.
The author specifies that the methodology should be considered as a suggestion and general guideline for the purpose of developing enterprise software for mobile devices.Therefore, the interested companies can plan and develop mobile applications by conducting activities in the various phases of the life cycle iteratively and concurrently in order to facilitate quick prototyping and to receiving feedbacks in due time.The methodology contains five important phases for building mobile enterprise applications are they are briefly presented below: DOI: 10.12948/issn14531305/17.2.2013.05

Fig. 1. A Methodology for Building Enterprise-Wide Mobile Applications
Adaptation after Chen, M., 2004 [18] 1. Develop enterprise wide mobile strategies.Enterprise employs initiatives in mobile applications as they are interested in taking advantages from the emerging mobile computing technologies and to improve their competitive advantages over the market by better serving their customers.The mobile strategy team should be formed out from the top level management and the process of creating enterprise-wide mobile strategies should be based on existing business strategies and objectives, and on high-level understanding of mobile technology's trends and impacts.
2. Analyze the mobility of business processes.Before the rise of mobile environments, enterprise communication and computing support performed exclusively throughout desktop computing tools.Now-a-days, the workers are no longer forced to be static due to mobile technologies that enable organizations to redesign their business processes.In this phase, the mobile analysis team both develops a business process map and identifies mobile projects that bring in more revenues and improve the quality of relationship with the business partners.The first three phases of the methodology proposed by Chen are important for enterprise-wide mobile computing effort while the last phases are more project-specific.

Mobile-D Methodology Overview
Some authors consider that agile methodologies (presented above in current research) offer a reasonably development solution for mobile applications.Yet, Mobile-D is considered more detailed and serves better [19] the purpose of development.
Abrahamsson, et al, [20] affirms that Mobile-D methodology should be used by a team of maximum ten developers working towards a product delivery within ten weeks.The Mobile-D methodology was first proposed by VTT Electronics in 2006 [21] and includes five phases presented in Fig. 2. Each phase has a number of associated stages, tasks and practices.Spataru in 2010 [19] proposes an extent of the methodology by adding a new phase (called Evolve [19]) that deals with continuously integrating end-user feedback on the delivered product into future releases.DOI: 10.12948/issn14531305/17.2.2013.05Fig. 2. Mobile-D with added Evolve phase.Adapted from [19], [21] Since 2006, Mobile-D has been applied in various development projects and some advantages have been identified.For example, an increased progress visibility, earlier discovery and repair of technical issues, low defect density in the final product, and a constant progress in development [20].Other applications of the method are presented in [22] and [23].

Other Development Methodologies For Mobile Applications Mobinex's -The Mobile Application Development Methodology V3
Mobinex, a leading provider of mobile applications and on-device solutions, is committed to increasing revenues of mobile operators, content providers, media companies and enterprises with compelling user experiences [24].The methodology was proposed in 2009 (updated in 2010) for the purpose of develop-ing mobile applications.The main phases of the methodology are presented in Figure 3. 4 Limitations and Challenges of Mobile Applications Though highly popular, the mobile applications have general limitations as the advent and development of new mobile devices present new usability challenges [26] that are difficult to model.Some researchers have highlighted certain limitations [27], [28] that are listed below (we have to mention that some of them already have or may be overcome as the technology evolves rapidly):  Geographic environment and meteorological conditions: the user may access the application from different geographic location and even interact with objects from the environment that can be attention distractive.Also, weather conditions and the range from the nearest signal point can significantly interfere with signal transmission and reception. Display resolution: in comparison with tablets display, the mobile phone's display is reduced which results in lower quality images. Connection issues: the internet connection may be slow or interrupted from time to time.Reception in tunnels, inside buildings with massive walls and rural areas is often poor.Therefore, it will dramatically affect the performance of the mobile application unless it is developed in such way that covers such episodes (by working offline, for instance). Power and processing capability: for portability reasons, the mobile devices are less performing if compared with desktop computers.This will limit the type of application that can be installed and used on mobile devices. Screen size (in the case of phone devices) and data entry: describe the human interface with mobile device.The screens and keyboards are small making it difficult to use for repetitive and fast operations.
Though alternate input methods such as speech or handwriting recognition exists, they require training and are expensive. Security issues: the mobile worker becomes highly dependent on public networks and, thus, it requires careful use of VPN as it can easily be attack through a huge number of networks interconnected through the connecting line.Additional challenges in mobile application development include [29]: customizing mobile functionality, according to the user profile, ensuring access and usability, facilitating optimum user interactions on mobile devices, and dealing with the bandwidth and poor reliability of wireless communication.

Conclusions
The theoretical approach to computerized modeling shows that the enterprise model consists in the computerized representation of an enterprise's structure, activities, processes, information, resources, employees, behaviors, purposes and constraints.Thus, from the point of view of the design stage, the enterprise model must offer a specialized language meant to define the enterprise as explicitly as possible [30].In general, the classical models of the software products life cycle contain four large stages: Planning and selection, Analysis, Design, Implementation and Maintenance, to which other stages can be added if the case may be.Agile models have been developed by programmers out of their wish to be as efficient as possible in successfully completing projects and recently, adapted model based on Agile are also used for designing mobile applications.The Agile models are opposed to the classical models that offer the beneficiary the possibility to test the product only at the end.Instead, agile methods launch new versions weekly and they incorporate the beneficiaries' specifications from one version to another.Under the circumstances, we consider that such an approach could be successful in the development of applications for the new mobile environments.Due to the advent of mobile computing, the way of doing business has changed dramatically.The mobile workers can conduct businesses at any time without been constrained by the availability of physical networking connections or specific computing platforms.This way, the information can be placed in the hands of mobile workers while they are away from their offices.The DOI: 10.12948/issn14531305/17.2.2013.05mobile application developing methodologies that are presented within the current research are meant to assist enterprises in planning and developing enterprise-wide mobile strategies and applications.Voke Inc. analyst Theresa Lanowitz [31] affirms that "Mobile isn't a luxury, it's a necessity" and we can only agree with her and the business trend is for the enterprises to tackle mobile applications higher than ever.In terms of mobile technologies methodologies [32], [33], we may say that due to the particularities of mobile apps, the development cycle gets shorter and, unlike generic enterprise applications, the new mobile environment require more software updates for the mobile projects.

Table 1 .
The main results of Mobile User Survey investigating the Mobile User Preferences, Habits, and Expectations

Table 2 .
Percentage and number of papers by focus of research [9] on allowing users to complete a specific task, while only 6,15% of the papers focus on development methodologies.In our opinion, this information justifies the necessity of the current study.2EnterpriseApplicationsforMobile Environment.A Brief Literature ReviewAccording to the study developed by the UTest[9], entitled The Essential Guide to Mobile App Testing, in the last years there was a blast of software application for mobile user ranging from entertainment to business DOI: 10.12948/issn14531305/17.2.2013.05

Table 4 .
Basic characteristic features, advantages and disadvantages of agile methods

Table 5 .
Factors that differentiate system development: agile models vs. traditional approaches

Table 6 .
[17]ples of mobile development methodologies used for the development of m d -Matrix decision making tools (adapted after Shiratuddin[17]) 3. Develop an enterprise-wide mobile technical architecture.This phase facilitates the