SOFTWARE ENGINEERING PROCESSES FOR MOBILE APPLICATION DEVELOPMENT

Size: px
Start display at page:

Download "SOFTWARE ENGINEERING PROCESSES FOR MOBILE APPLICATION DEVELOPMENT"

Transcription

1 TECHNICAL REPORT SOFTWARE ENGINEERING PROCESSES FOR MOBILE APPLICATION DEVELOPMENT William McIver, Jr., Ph.D. NSERC Industrial Research Chair in Mobile First Technology Office of Applied Research and Innovation New Brunswick Community College 26 Duffie Drive Fredericton, NB E3B 0R6 Canada Version: :20:35 New Brunswick Community College 26 Duffie Drive, Fredericton, NB E3B 0R6 Canada tel: +1 (506) fax: +1 (506) nbcc.ca

2 Software Engineering Processes for Mobile Application Development 2 ABSTRACT Mobile platforms are now among the most important targets for software development. The use of mobile platforms by consumers has surpassed that of desktop and laptop computers over the past decade by a number of measures. Mobile platforms have also become prevalent within many enterprise architectures. The term mobile platform refers in this report to a mobile hardware device, its associated operating system, software development framework, and service frameworks. Smartphones, tablets, and wearable devices, such as smart watches and fitness trackers, are currently the most prevalent types of mobile devices. The evolution of mobile platforms has introduced form factors, approaches to user interaction, usage contexts, and other characteristics that are significantly different from desktop and mainframe platforms. Such differences have translated into significant challenges for software engineering teams. This technical report presents a survey of research on software engineering challenges, heuristics, and methods for mobile platforms. This survey draws mainly from the academic and industrial research literatures. It also incorporates input from industrial software engineers. Unique software engineering challenges are presented along with associated considerations for the software engineering team. Open research questions are identified. This report concludes with a discussion of a general approach to configuring a software engineering process to a given mobile application development effort. 2

3 Software Engineering Processes for Mobile Application Development 3 Table of Contents 1 EXECUTIVE SUMMARY 5 2 PREFACE ACKNOWLEDGEMENTS 11 3 INTRODUCTION 12 4 FRAMEWORK FOR ANALYSIS 14 5 OVERVIEW OF UNIQUE CHALLENGES 17 6 ELEMENTS, CHALLENGES, PRINCIPLES, AND HEURISTICS BUSINESS MODELING WORKFLOWS MOBILE BUSINESS CASES AND MODELS CUSTOMER SATISFACTION PROJECT COST ESTIMATION REQUIREMENTS WORKFLOWS VOLATILE REQUIREMENTS FEATURE INTERACTIONS USER- DRIVEN REQUIREMENTS GATHERING CROSSCUTTING REQUIREMENT CATEGORIES ANALYSIS & DESIGN WORKFLOWS DISCOVERING POSSIBLE ACTIONS: AFFORDANCE PERCEPTION USAGE CONTEXTS CONTEXT- AWARENESS ACCESSIBILITY USER INTERFACE DESIGN DATA STORAGE DATA COMMUNICATIONS DEVICE POWER CHARACTERISTICS SECURITY DESIGN PATTERNS THIRD PARTY RESOURCE DEPENDENCY RISKS PRODUCT LINE ENGINEERING MOBILE DEEP LINKING SELF- ADAPTIVE APPLICATIONS IMPLEMENTATION WORKFLOWS FRAGMENTATION AND HETEROGENEITY CROSS- PLATFORM DEVELOPMENT CROSS- PLATFORM SOFTWARE REUSE OR CODE SHARING CROSS- PLATFORM DEVELOPMENT FRAMEWORKS TEST WORKFLOWS TESTING METHODS DEPLOYMENT WORKFLOWS DISTRIBUTION MARKETING PROJECT MANAGEMENT WORKFLOWS AGILE PROJECT MANAGEMENT WORKFLOWS CONSIDERATIONS IN USING AGILE APPROACHES WITHIN THE PROJECT MANAGEMENT WORKFLOW CONFIGURATION & CHANGE MANAGEMENT WORKFLOWS 51 3

4 Software Engineering Processes for Mobile Application Development LIFECYCLE MANAGEMENT USER FEEDBACK ENVIRONMENT WORKFLOWS 52 7 OPEN RESEARCH ISSUES IN MOBILE SOFTWARE ENGINEERING PROJECT MANAGEMENT WORKFLOWS ENVIRONMENT WORKFLOWS ACCESSIBILITY AND UNIVERSAL DESIGN SOFTWARE METRICS SOFTWARE PRODUCT LINE ENGINEERING FEATURE INTERACTION SOFTWARE PROJECT COSTING 54 8 CONCLUSIONS: TOWARD AN ADAPTIVE MOBILE SOFTWARE ENGINEERING PROCESS THE BADA MOBILE SOFTWARE ENGINEERING PROCESS A COMPREHENSIVE MOBILE SOFTWARE ENGINEERING PROCESS DECISION- ORIENTED PROCESS FOR ADAPTING THE MOBILE SOFTWARE ENGINEERING PROCESS 58 9 BIBLIOGRAPHY NOTES 67 4

5 Software Engineering Processes for Mobile Application Development 5 1 EXECUTIVE SUMMARY SOFTWARE ENGINEERING PROCESSES FOR MOBILE APPLICATION DEVELOPMENT William McIver, Jr., Ph.D. NSERC Industrial Research Chair in Mobile First Technology Office of Applied Research and Innovation New Brunswick Community College 26 Duffie Drive Fredericton, NB E3B 0R6 Canada Version: :20:35 PREFACE PG. 10 Mobile platforms are now among the most important targets for software development, whether for product development or projects within the enterprise. The term mobile platform refers in this report to a mobile hardware device, its associated operating system, software development framework, and service frameworks. The term mobile device is used in this paper to refer to the spectrum of hardware platforms that are in Gartner s taxonomy glanceable, pocketable, grab and go, or portable, the most common of which are smartphones, tablets, and smart watches. Mobile- specific software engineering processes are warranted for two major reasons: Unique software engineering challenges: Mobile platforms present software engineering teams with unique challenges relative to other types of targets, such as desktop software. Brittle relationships between users and mobile apps: The burden of responsibility on the software engineering team for producing and implementing good designs is arguably higher in certain ways than it is for other types of targets because the relationship between a user and a mobile app is more brittle than it has been with desktop software. The onus is on the designers and software engineers who develop applications for mobile devices to account for the technical, cognitive, environmental, quality of service, and other issues that might impact user experience. Most users will be unaware of such factors and will, therefore, blame the design of the mobile application rather than the underlying technologies and services. INTRODUCTION PG. 12 This report identifies critical issues in the engineering of software for mobile platforms, commonly referred to as mobile apps; and it identifies software engineering principles and methods, and design heuristics that have been adapted to the development of mobile apps. This report is designed for those who manage or engage software engineers, and software engineers themselves. Accordingly, the coverage of topics is hierarchical, with overviews followed by expanded discussions. 5

6 Software Engineering Processes for Mobile Application Development 6 This report is based primarily on a survey of academic research and industrial literature. The study also incorporated extensive input from industrial software engineers. FRAMEWORK FOR ANALYSIS PG. 14 To identify the scope of software engineering topics to cover in this study, a generic, comprehensive framework for analysis was synthesized from current software engineering methods, including main software engineering workflows and supporting workflows. Many current software engineering approaches, such as Agile, can be mapped into the topics represented in the framework presented here. The relationships between the main and supporting software engineering workflows, as well as the relationships between phases and iterations are depicted in Figure 1. All of the workflows are iterative in the sense that they be revisited within or even across phases. The main workflows are more specific to the phases of a project, while the supporting workflows provide foundational services throughout the project. OVERVIEW OF UNIQUE CHALLENGES Figure 1. Framework for Analysis in this Study PG. 17 The literature surveyed for this study strongly suggests that there are unique challenges in mobile software engineering arising from several sources: new technologies or affordances offered by mobile platforms; and the tight coupling between user experience and device capabilities. Overall, mobile apps are more sensitive to the impacts of processing power, screen space available to 6

7 Software Engineering Processes for Mobile Application Development 7 display information, user interaction methods, and battery life on users than in software engineering efforts for traditional desktop applications. Software engineering challenges that were identified as unique to the development of software applications for mobile devices in the literature survey are summarized as follows: Business Modeling workflows: Challenges within Business Modeling workflows that are unique to mobile software engineering involve the tight coupling that often exists between mobile applications, business models, and application distribution models on customer satisfaction. Requirements workflows: Research suggests that requirements gathering in mobile software engineering projects may be more episodic and frequent, and the requirements themselves may be more volatile than in other types of software engineering projects. Analysis & Design workflows: Unique challenges within Analysis and Design workflows for the engineering of mobile software, include (but are not limited to) the following: o A greater need to ensure that the actions made possible by the mobile application called affordances - - can be perceived correctly by the user; o The need to design for a wide range of conditions in which the app will be used; and, o The need to adapt traditional user interface design heuristics to mobile platforms; Implementation workflows: A challenge within Implementation workflows that is somewhat unique to mobile software engineering is the frequent fragmentation of a given mobile platform into multiple models and versions, thereby introducing various forms of heterogeneity. Test workflows: A mobile software engineering team must consider a wider range of testing methods and real- world conditions than would be used for other types of software engineering projects according to the literature surveyed for this study. Deployment workflows: A mobile software engineering team must take into account distribution methods that may be unique to mobile applications. This is an area that may be overlooked by a team that is new to mobile application development. Oversights here can add significant time and cost to a project. Project Management workflows: Agile software engineering methods are advocated by many researchers for mobile app development; however, some prominent software engineering researchers have cautioned against the use of certain aspects of common Agile approaches. Configuration & Change Management workflows: Mobile software engineering teams need to accommodate the short lifecycles that many mobile applications have. ELEMENTS, CHALLENGES, PRINCIPLES, AND HEURISTICS PG. 19 A mobile software engineering methodology must be adaptive, allowing constraints to be balanced along several dimensions: Scalability of the theoretical process vs. requirements, budget, and time. Abstract software engineering processes versus the real- world requirements, budget, time, and other constraints; 7

8 Software Engineering Processes for Mobile Application Development 8 Device constraints and capabilities versus project objectives; and Requirements for the mobile platform versus requirements for an overall system of which the mobile software is only a part. The key principles of mobile software engineering according to the literature surveyed for this study emphasize the following: Attention to user interface design, Attention to context awareness, Attention to uncertainty in usage contexts, and Software reuse throughout the software engineering process. OPEN RESEARCH ISSUES IN MOBILE SOFTWARE ENGINEERING PG. 53 There were some workflows and topics that did not appear in the research literature on mobile software engineering surveyed for this report. All of these remain open research topics: Project management workflows: The management of mobile software engineering projects did not appear in the literature survey performed for this report. Environment workflows: The definition and construction of software development processes and tool chains specific to mobile software engineering did not appear in the literature survey performed for this report. Accessibility and universal design: The design of mobile software to address accessibility and universal design principles did not appear in the literature survey performed for this report. Over 15% of the world s population requires some form of accessibility. Software metrics: Software metrics are quantitative measures of a software engineering process or the software that it produces. It is felt by proponents that software metrics enable teams to improve the effectiveness of processes and the quality of code. Software product line engineering: A study of approaches to reusing software tailored to mobile software engineering projects using product line engineering is warranted. Product line engineering would enable mobile apps to be factored into manageable sets of features. Feature interaction: Feature interaction occurs when a feature or features modify or influence another feature in defining overall system behaviour. Potential interdependencies between features intentional or otherwise and their incremental implementation lead to the feature- interaction problem. The study of feature- interaction in mobile software engineering appears to be nascent in the literature survey performed for this report. Software project costing: The study of software project costing in mobile software engineering appears to be nascent in the literature survey performed for this report. An in- depth study of the application of principles and methods of software project costing in mobile software engineering projects should be performed. 8

9 Software Engineering Processes for Mobile Application Development 9 CONCLUSIONS: TOWARD AN ADAPTIVE MOBILE SOFTWARE ENGINEERING PROCESS PG. 55 The literature collectively suggests that the mobile software engineering processes have the following characteristics: Adaptive processes to manage rapidly changing requirements; Use of Agile- Scrum or similar types of processes; Use of early and frequent prototyping; Involvement of authentic users; Involvement with marketing, business models, and distribution plans early in the project; Use of Stage- Gate processes to shut down bad projects early; Multi- stage testing: emulation, in- lab, and in situ with authentic users; and Iteration of all of the above. We propose a decision- oriented process for adapting the comprehensive mobile software engineering process using the principles, heuristics, and other issues surveyed in this study as inputs. The resulting software engineering process would be adapted to the specific needs and constraints of the team for the given project. 9

10 Software Engineering Processes for Mobile Application Development 10 2 PREFACE This study was initiated at the request of an industrial partner of the New Brunswick Community College Mobile First Technology Initiative. Their goal was to understand how existing software engineering methods should be adapted to support software development for mobile platforms. Mobile platforms are now among the most important targets for software development, whether for product development or projects within the enterprise. The term mobile platform refers in this report to a mobile hardware device, its associated operating system, software development framework, and service frameworks. The term mobile device is used in this paper to refer to the spectrum of hardware platforms that are in Gartner s taxonomy glanceable, pocketable, grab and go, or portable, the most common of which are smartphones, tablets, and smart watches. 1 Mobile- specific software engineering processes are warranted for two major reasons: Unique software engineering challenges: Mobile platforms present software engineering teams with unique challenges relative to other types of targets, such as desktop software. The evolution of mobile platforms has introduced form factors, approaches to user interaction, usage contexts, and other characteristics that are significantly different from desktop and mainframe platforms. Such differences have translated into significant challenges for software engineering teams. Software engineering teams should, therefore, have mobile- specific principles, heuristics, and methods for responding to these challenges well in hand if they are to be effective. Brittle relationships between users and mobile apps: The burden of responsibility on the software engineering team for producing and implementing good designs is arguably higher in certain ways than it is for other types of targets because the relationship between a user and a mobile app is more brittle than it has been with desktop software. The easy- to- use distribution channels, low costs, and numbers of mobile apps available make it challenging for software developers to cultivate loyal customers. If a customer becomes unhappy with a mobile app, they can likely find an alternate one very easily through the associated app store for a given platform. The mobile software engineering team should, therefore, be motivated to adapt their processes to address the unique challenges presented by mobile platforms if they are to produce successful mobile apps. Mobile platforms have become important software development targets, in part, because the use of mobile platforms by consumers has surpassed that of desktop and laptop computers over the past decade by a number of measures. The Internet analytics firm comscore, Inc. reported the following in its review of the Canadian digital market place for 2014: 2 As of December 2014, approximately 81% of Canadian mobile subscribers were using smartphones, an increase of 6% since December Canadians who own smartphones reported using mobile Web apps on their devices more frequently than native apps for almost every category of retail activities, including purchasing goods and services (14% vs. 8%) and found store location (28% vs. 10%). Canadians owners of smartphones or tablets spend more than 80% of their time on their devices using mobile apps as opposed to mobile Web browsers. Mary Meeker reported the following on mobile usage characteristics in her 2015 Internet Trends presentation: 3 10

11 Software Engineering Processes for Mobile Application Development 11 Mobile data traffic increased by 69% in Of the time smartphone owners spend with digital media, 51% is on mobile devices, as compared to 42% on desktops or laptops. Most smartphone owners ages 18 to 34 indicated that their lives were centred on the use of their smartphones. Mobile platforms have become important software development targets for enabling innovation within enterprise architectures. According to Meeker mobile information and communication technologies (ICT) are being used to re- imagine the enterprise. Such re- imaginings are seen as enabling more than efficiency innovations, as in the past. Mobile ICT are now being used to fundamentally restructure existing work processes across a wide range of areas in the enterprise Acknowledgements The study that this report documents was conducted in collaboration with Accreon, Inc. The study was made possible by a grant from the National Sciences and Engineering Research Council (NSERC) Industrial Research Chair for Colleges and financial and in- kind support from IGT, Inc.; Accreon, Inc.; T4G; Technology Ventures Corporation; and Stellar Learning Strategies. The author acknowledges the extensive feedback on various drafts of this report from Mary Goggin, David Drost, and Aaron Scott of Accreon, Inc.; and Tauhira Hoossainy of Milwaukee Electric Tool Corporation. Various discussions with software engineers from Big Nerd Ranch were influential in shaping various sections of this study. The author also acknowledges feedback on excerpts of this report from anonymous reviewers of CASCON. Finally, the author acknowledges the support of the NBCC Office of Applied Research and Innovation and of the students, faculty, and staff involved in the New Brunswick Community College Mobile First Technology initiative. A LIVING DOCUMENT This is a living document. Please send comments to Bill.McIver@nbcc.ca. 11

12 Software Engineering Processes for Mobile Application Development 12 3 INTRODUCTION This report identifies critical issues in the engineering of software for mobile platforms, commonly referred to as mobile apps; and it identifies software engineering principles and methods, and design heuristics that have been adapted to the development of mobile apps. The study on which this report is based was motivated by the real- world experiences and needs of industrial partners of the New Brunswick Community College Mobile First Technology Initiative. The field of software engineering covers a broad range of issues and techniques. The following is a useful definition of software engineering drawn from the literature: 5 [Software engineering is] a systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineering of software, that is, the application of engineering to software. In the software engineering approach, several models for the software life cycle are defined, and many methodologies for the definition and assessment of the different phases of a life- cycle model. The following is a useful definition of mobile software engineering drawn from the literature: 6 Mobile software engineering is the adaptive process of designing, implementing, and maintaining a software product for a mobile platform. By this, the process must take into account the specific characteristics of mobile usage to deliver the required quality. This report is designed for those who manage or engage software engineers, and software engineers themselves. Accordingly, the coverage of topics is hierarchical, with overviews followed by expanded discussions. Information is presented in the form of considerations rather than prescriptions. The objective through this type of presentation is to aid the mobile software engineering team in adapting the perspectives presented in this report to their own needs. It is recognized that software engineering methodologies must be adaptive, in general, to the software requirements and constraints of each project. No one collection of methods or way of structuring workflows will be suitable for all projects. The results of this study suggest that this is particularly true for mobile software engineering. This report is based primarily on a survey of academic research and industrial literature. The study also incorporated extensive input from industrial software engineers. A framework of software engineering topics was developed to guide the analysis the academic and industrial literature identified in the study. This framework of topics draws on a comprehensive set of software engineering workflows that are represented in various ways within current software engineering processes, such as the Unified Process and the various Agile/SCRUM processes. High quality articles were then sought that addressed each aspect of this framework. Articles were identified primarily through searches of the ACM Digital Library and IEEE Xplore Digital Library, the two primary bibliographic and full- text databases of articles for computer science. Conjunctive keyword searches were performed in these databases using various combinations of the terms software engineering, mobile app, mobile app development, and methodology. Analysis of the resulting articles lead to identification of keywords and citations from a number of established sub- areas of software engineering, such as software testing, software cost estimation, and software reusability. Further analysis within the growing collection identified additional keywords and citations in other areas of computer science, software engineering, and telecommunications systems design, such as user interface design, user- centered design, and feature interaction. Some industrial literature was identified through the searches described above. Other industrial 12

13 Software Engineering Processes for Mobile Application Development 13 literature was identified through authoritative sources for the major mobile device and platform vendors, including the developer Web sites for Apple, Google, Microsoft, and Samsung. Software engineers and project managers in Accreon, Inc., an international consultancy with established lines of business in enterprise software development and mobile app development, reviewed various drafts of this report. Additional feedback was received from mobile software engineers in other organizations. Section 4 discusses the framework of software engineering topics that guided the analysis of literature identified for this study. Section 5 provides an overview of challenges that are unique to mobile software engineering. Section 6 presents the main results of the study. Each sub- section covers one element of the framework for analysis, providing an in- depth discussion of mobile software engineering challenges with respect to that element of the framework, and then providing an in- depth discussion of principles, heuristics, and other issues that the mobile software engineering team should consider in tackling that element of the framework. Section 7 discusses a number of issues that existing research has not addressed adequately, if at all. This report concludes in section 8 with a discussion of how mobile software engineering processes can be adapted to the specific needs of a given project. 13

14 Software Engineering Processes for Mobile Application Development 14 4 FRAMEWORK FOR ANALYSIS To identify the scope of software engineering topics to cover in this study, a generic, comprehensive framework for analysis was synthesized from current software engineering methods, in particular the Unified Process and some of its variations. 7 Note: This study is not advocating (or recommending against) the use of the Unified Process. It is using it only as a basis for identifying the scope of software engineering topics to cover in this study. Many current software engineering approaches, such as Agile, can be mapped into the topics represented in the framework presented here. 8 The framework for analysis used in this study is organized into two categories of workflows: those that are directly involved in the production of the software deliverable, and those that offer support to the overall software engineering process. In this framework, the former category is called main software engineering process workflows, and the latter category is called supporting software engineering workflows. The following are the main software engineering workflows: 9 Business Modeling workflows: A Business Modeling workflow is used to identify the business objectives that must be met by the system that is being engineered and to select or design a business model that can meet those objectives. The resulting business model should identify processes and roles that are required to meet the business objectives. Requirements workflows: A Requirements workflow is used to enumerate detailed functional and non- functional requirements that the system must satisfy, taking into account the input of all stakeholders. Analysis & Design workflows: An Analysis and Design workflow is used to produce a design that demonstrates the architecture and functions that will be necessary to satisfy the requirements produced in the previous workflow. Implementation workflows: An Implementation workflow is used to produce the software and hardware components that are required to satisfy the outputs of the requirements, and analysis and design workflows. Test workflows: A Test workflow is used verify that the outputs of the Implementation workflow to identify defects in the implementation relative to the requirements and design; and identify defects in the requirements, design, or analysis. The former objective is often referred to as verification and the latter objective is often referred to as validation. Deployment workflows: A Deployment workflow is used to release the software product and deliver it to end- users. The following are the supporting software engineering workflows: Project Management workflows: A Project Management workflow is used to administer an iterative software development process, including planning, staffing, and monitoring project status. Configuration & Change Management workflows: A Configuration and Change Management workflow is used to manage software builds, manage software versioning, and to track and implement change requests and bug reports. 14

15 Software Engineering Processes for Mobile Application Development 15 Environment workflows: An Environment workflow is used to define and build the software development processes and tool chains that are required to support the software engineering project. The workflows, described above, are organized into the following units of work: Cycles: Each cycle is a unit of work that produces a new version of the system being engineered. A software engineering project may have multiple cycles. Phases: Each phase is a unit of work within a cycle that focuses on achieving a specific type of milestone by performing tasks in one or more workflows. The Unified Process defines the following types of phases: o Inception phase: Create or refine on a project charter specifying the initial problem statement, objectives, project scope, requirements, plan, and business model of the system to be implemented. o Elaboration phase: Create or refine designs, requirements, business rules, and other specifications that can collectively guide the construction of a system that satisfies the project charter. o Construction phase: Use the outputs of the Elaboration phase to implement or refine a system that satisfies the project charter. o Transition phase: Deliver the system implemented in the Construction phase to those who will use it. Iterations: Each iteration is a repetition of tasks within a workflow or phase that seeks to change or refine a milestone and the system overall. A new iteration is triggered by new knowledge. A new requirement from a key stakeholder would trigger a new iteration within the Implementation workflow, and likely within other workflows to check dependencies related to the new requirement. The dissatisfaction of users with a prototype would signal the need for iterations on any workflows required to address their concerns. Milestones: A milestone represents the end of a phase, the outputs of that phase, the achievement of objectives for the phase, and a review point. The review point is a place in the process for the software engineering team to decide on the next activities in the process, whether, for example, to proceed to the next phase or to iterate on the current one. The relationships between the main and supporting software engineering workflows, as well as the relationships between phases and iterations are depicted in Figure 2. All of the workflows are iterative in the sense that they be revisited within or even across phases. The main workflows are more specific to the phases of a project, while the supporting workflows provide foundational services throughout the project. The effort of work may vary within each workflow across phases depending on the nature of the software deliverable. The Requirements Workflow, for example, usually requires greater effort during the inception phase of the project; however, it may be necessary to perform multiple iterations of requirements gathering throughout the other phases of the process depending various factors, such as the results of usability or performance testing. Each type of workflow can conceivably have multiple iterations, both within a given phase and throughout the software engineering process. 15

16 Software Engineering Processes for Mobile Application Development 16 Figure 2. Framework for Analysis in this Study 16

17 Software Engineering Processes for Mobile Application Development 17 5 OVERVIEW OF UNIQUE CHALLENGES The literature surveyed for this study strongly suggests that there are unique challenges in mobile software engineering arising from several sources. One subset of challenges arises from efforts to effectively leverage specific new technologies or affordances offered by mobile platforms. The literature suggests that a significant subset of challenges in mobile software engineering arises from the tight coupling between user experience and device capabilities. This coupling is more sensitive to the impacts of processing power, screen space available to display information, user interaction methods, and battery life on users than in software engineering efforts for traditional desktop applications. 10 The onus is on the designers and software engineers who develop applications for mobile devices to account for the technical, cognitive, environmental, quality of service, and other issues that might impact user experience. Most users will be unaware of such factors and will, therefore, blame the design of the mobile application rather than the underlying technologies and services. Software engineering challenges that were identified as unique to the development of software applications for mobile devices in the literature survey are mapped into the framework in Table 1. The industrial collaborators in this research identified several additional challenges that they have faced in their work that are also included in the table. Section 6 discusses the challenges identified in the literature survey for each of the areas identified in Table 1. 17

18 Software Engineering Processes for Mobile Application Development 18 Table 1. Unique challenge areas in mobile software engineering. Software Engineering Workflows Areas 1. Business Modeling 1.1. Business models 1.2. Customer satisfaction 2. Requirements 2.1. Volatile requirements 3. Analysis & Design 3.1. Affordance perception 3.2. Usage contexts 3.3. User interface design 3.4. Location- dependent information retrieval 3.5. Data storage 3.6. Connection quality and bandwidth issues 3.7. Device power characteristics 3.8. Security issues 4. Implementation 4.1. Heterogeneity and fragmentation 5. Test 5.1. Testing methods 6. Deployment 6.1. Distribution 6.2. Marketing 7. Project Management 7.1. Mobile device evolution 7.2. Scope management 7.3. Skilled human resources 8. Configuration & Change Management 8.1. Lifecycle management 9. Environment No specific challenges unique to mobile software engineering were found. 18

19 Software Engineering Processes for Mobile Application Development 19 6 ELEMENTS, CHALLENGES, PRINCIPLES, AND HEURISTICS A mobile software engineering methodology must be adaptive, allowing constraints to be balanced along several dimensions: 11 Scalability of the theoretical process vs. requirements, budget, and time. Abstract software engineering processes versus the real- world requirements, budget, time, and other constraints; Device constraints and capabilities versus project objectives; and Requirements for the mobile platform versus requirements for an overall system of which the mobile software is only a part. The key principles of mobile software engineering according to the literature surveyed for this study emphasize the following: Attention to user interface design, Attention to context awareness, Attention to uncertainty in usage contexts, and Software reuse throughout the software engineering process. 6.1 Business Modeling workflows Challenges within Business Modeling workflows that are unique to mobile software engineering involve the tight coupling that often exists between mobile applications, business models, and application distribution models on customer satisfaction Mobile business cases and models CHALLENGES The fundamental challenges here are to increase demand by leveraging the unique capabilities of mobile platforms to create new revenue streams or enhancing existing ones. Mobile applications are often tightly coupled with a business model, requiring new considerations and approaches for business case analysis than in previous types of software engineering projects. Mobile application lifecycles are also often shorter than other types of software, which may need to be factored into the business case development and the associated business model that is chosen. CONSIDERATIONS A mobile software engineering team should consider a range of mobile- specific business models in building the business case for the project; and, ultimately, in designing a business model associated with the mobile application that will meet the business objectives of a project. Mobile- specific business models have been developed and continue to evolve through the unique capabilities made possible by the synthesis of mobility, efficient mobile computing platforms, and complementary network elements and services. These capabilities include, but are not limited to, mobile Web technologies, the collection of mobile usage and social networking data in real- time, dynamic analyses of those data, and real- time location- awareness. 19

20 Software Engineering Processes for Mobile Application Development 20 Information and communication technology (ICT) business models include following categories: 12 Business- to- consumer (B2C), Business- to- business (B2B), Consumer- to- consumer (C2C), Government- to- citizen (G2C), Business- to- government (B2G), and Government- to- government (G2G). B2C models seek revenue through the delivery of products or services to consumers. B2B models seek revenue through the delivery of products or services to other businesses. Most of the other business model types can be applied in B2C or B2B contexts. The following is a taxonomy of business models for mobile applications synthesized from several sources: 13 Free app: This is a special case: a retail app that does not derive revenue directly or indirectly. It is free to download and use in perpetuity. Freemium app: This type of app is free to download and use, but is designed to entice the buyer into purchasing premium features that enhance the functionality of the free app. Paid app: This type of app is obtained for a price. No freemium entry point is offered. Paid enhancements may also be available. App as an advertising platform: The primary revenue strategy for this type of app is to collect payments for advertisements delivered to the consumer within the app. It is common to entice consumers to download such apps by offering them for free. App as a service platform: The primary revenue strategy for this type of app is to collect payments for services delivered via the app. It is common to entice consumers to download such apps by offering them for free. Subscription- based app: These are paid apps that have expiry dates, after which a new version of the app must be purchased. App as a paid content delivery platform: The primary revenue strategy for this type of app is to collect payments for content that can be used within the app. Examples include audio books. It is common to entice consumers to download such apps by offering them for free. App development for hire: Many organizations commission apps from third party software development firms. The objectives of such apps are usually to enhance the value of an existing business line by adding a mobile channel. Common app development strategies include converting an existing Web presence into a mobile- friendly site and leveraging the social- local- mobile capabilities of mobile ICT to create new consumer experiences. Data marketing (consumer- to- business- to- business): The revenue strategy for this type of app is to collect payments for the use of data that are generated by consumers through use of an app. This revenue strategy may not be exclusive of other techniques, such as advertising or services. It is the context in which the data are generated that gives them value. Correlating a consumer s location, activities, and social relationships can help a company analyze their behavior and, thereby, tailor its marketing to that person. This business model depends on distributing an app to a wide range of users; thus, they are often free. 20

21 Software Engineering Processes for Mobile Application Development 21 Third party service provider (business- to- business- to- consumer): This model involves providing backend services to a business that it integrates into services provided to consumers. An example would be location information services or mapping services that a mobile app vendor obtains from a third party, such as Apple s use of Skyhook. 14 Mobilizing transactions: This involves enabling existing transaction types, such as purchasing or administrative functions, via a mobile channel. This category includes native mobile applications or mobile Web applications that provide a new means of interfacing with a business s operational system. The following are cross- cutting issues found in the literature that a mobile software engineering team might consider in the selection or design of a mobile business case or business model: Balancing mobile services with other forms of delivery: It is important that enterprises adopt mobile technologies; however, they may need to continue to offer traditional service delivery models for those who cannot use mobile technologies. 15 Cultural alignment: More designers are becoming sensitive to the need to take approaches that anticipate alternate markets in other regions and tailor designs accordingly. The evolution of the business model of Ignighter.com provides an example of an initial cultural impedance mismatch and successful correction. 16 Heritage brands: Heritage brands will continue to demand customized designs independent of standardized user interface frameworks Customer satisfaction CHALLENGES The unique nature of app stores with their large inventories of apps makes the dynamic for dissatisfied users of consumer applications significantly different than other software and product domains. Consumers of a non- enterprise mobile applications who become dissatisfied with it can often rapidly locate and acquire an alternate app at little or no cost using the app stores that are available for their platform. In contrast, users who are dissatisfied by a mobile enterprise application mandated by their employer may have little flexibility in switching to an alternate application. Customer satisfaction is, therefore, far more critical to the lifecycle of a mobile application than it might be for other types of software. A mobile software engineering team must, therefore, be more sensitive to the volatile impacts of consumer attitudes toward the mobile application they are developing. This goes beyond the business model design workflow. Any workflow outcome that can impact user experience is implicated in customer satisfaction. CONSIDERATIONS A mobile software engineering team can minimize design choices that engender customer dissatisfaction by employing user- centred design throughout the software engineering process. User- centred design should involve authentic users, which are people who are most representative of the types of end users envisioned for the system. Members of a mobile software engineering team will not normally be ideal authentic users. The design and testing of an auto repair app, for example, should involve the types professionals or hobbyists expected to use the app. An authentic user can serve the following purposes: 21

22 Software Engineering Processes for Mobile Application Development 22 Provide insider perspectives: Authentic users can potentially identify gaps in functionality, constraints, and other issues that may not be obvious from the perspectives of those on the mobile software engineering team who are not intimately familiar with the domain. This purpose is particularly useful during the Business Model and Requirements workflows. Provide unbiased perceptions: Members of a mobile software engineering team will be biased in evaluating their own designs: they are both technically savvy and privy to the actual affordances and user interaction methods offered by the system they are designing. The perspective of an authentic user toward an interface will be relatively unbiased, helping the mobile software engineering team to identify aspects of a design that are likely to present problems for customers. This purpose is particularly useful during the Analysis and Design, and Implementation workflows. Overcoming functional fixedness: Functional fixedness is the inability of a person to imagine ways of using a technology that are different from the ways in which they normally use it. Von Hippel has documented the phenomenon of functional fixedness and shown how it can hinder problem- solving processes. 18 The expert knowledge held within a mobile software engineering team can engender a type of functional fixedness whereby members may not be able to develop novel design patterns when the patterns that are familiar to them will not solve their problems. The outside perspectives of authentic users or designers may help teams overcome this phenomenon. It is recognized that the involvement of authentic users presents challenges in an industrial context. One industrial partner pointed out the following with regard to the involvement of authentic users in their software engineering process: This is potentially challenging, but do- able. The use of authentic users is not often seen from the enterprise application perspective that I've been involved with. One project had focus groups that were organized to give feedback on new products, but I haven't seen this used for a piece of software. Most enterprise apps only have enterprise users and therefore a sample can be engaged. The use of authentic users is an excellent consideration for situations where we extend a new mobile channel to non- enterprise users (e.g., registration systems, sales order systems, claims submission systems, etc.). Mobile apps allow for rating and comments in the app store as a partial means - - though already public - - to obtain feedback. Surveys may help as well, but would be post- deployment. 19 The use of Agile software engineering methods may lend themselves more readily to the use of authentic users. Most of the research literature on mobile software engineering surveyed for this report recommended the use of some form of Agile software engineering process in mobile software engineering. Such processes are inherently user- centred and iterative. They provide many opportunities for the involvement of authentic users throughout the workflows within a software engineering process. Note: There are concerns about so- called Agile approaches, which are discussed in section Project cost estimation CHALLENGES The literature survey performed for this study found little information about project cost estimation specific to mobile application development. Nitze et al present an analogy- based approach to estimating mobile software engineering project costs based on attributes of the 22

23 Software Engineering Processes for Mobile Application Development 23 system to be delivered. 20 Their framework is not significantly different from those used in practice for other types of software engineering deliverables, according to industrial partners consulted for this report. A mobile software engineering project may introduce additional cost categories beyond traditional costing approaches, as suggested by other challenges presented in this report. The approval process to get a mobile app into a given app store may present a somewhat unique cost estimation challenge in mobile software engineering. Anecdotal evidence suggests that teams often find that the approval process is often longer and more complex than they expect. CONSIDERATIONS Analogy- based costing approaches uses existing projects whose costs are known as analogies for estimating the cost of a new project. This is considered a form of case- based reasoning. Analogy- based costing is easy to understand and is comparable in accuracy to conventional algorithmic- based costing approaches. 21 Nitze et al adapted analogy- based costing to mobile software engineering by characterizing the target application in terms of its software type and complexity combined with unit based costing of components that are expected to be required in the software. Software type in this context would include native, Web, and hybrid applications. Complexity would range from simple to complex. One industrial partner sees analogy- based approaches as risky in some contexts. 22 Analogy- based costing may be more complicated when enterprises are first getting into mobile development, as there are no good local analogies to be used. Outside resources, like consultants, will be bringing their own experiences, but how these work out organization- to- organization likely vary. In the consulting world, using analogy- based costing only would bring additional risks, I would think. Using analogy- based costing in conjunction with a parameterized- costing approach would be much more common. Now, for an internal team being tasked with building a mobile app, this might make more sense. Parameterized costing is an alternative approach used by many consultancies, according to one industrial partner. 23 Project costs are estimated using regression techniques applied to the values of parameters based on empirical data from past projects. The COCOMO II model is an example of parameterized costing. 24 Cost categories may be introduced that are associated with the unique mobile software engineering challenges discussed in this report, including, but not be limited to, the variety of testing methods discussed in section 6.5.1, the need to perform cross- platform development as discussed in section 6.4.2, the array of Requirements, Analysis, and Design issues discussed in sections 6.2 and 6.3, and the costs incurred in seeking approval for an app by a given app store. Useful analogs in certain types of technology certification processes might be useful in this latter cost category. One industrial partner described a specific implementation of this approach as follows. 25 Typically, our firm will break up the activities required to build a system into work packages based on functional areas and tasks (e.g., design, development, test, etc.). We will then assign effort estimates to complete each task. Estimates are made using a grid organized into (1) levels of complexity, such as very simple, simple, medium, complex, and very complex; (2) the types of resources needed, their costs, and the possible variance in the number of resources. The result of this approach gives us an estimate of the overall duration and effort required to complete a project. 23

Application of software product quality international standards through software development life cycle

Application of software product quality international standards through software development life cycle Central Page 284 of 296 Application of software product quality international standards through software development life cycle Mladen Hosni, Valentina Kirinić Faculty of Organization and Informatics University

More information

Automated testing for Mobility New age applications require New age Mobility solutions

Automated testing for Mobility New age applications require New age Mobility solutions Automated testing for Mobility New age applications require New age Mobility solutions Executive Summary Today, mobile phone has transformed from its former role as a mere medium of communication to that

More information

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER TABLE OF CONTENTS Market Demand for Enterprise Mobile Mobile App Development Approaches Native Apps Mobile Web Apps Hybrid Apps Mendix Vision for Mobile App

More information

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development Introduction Today s developers are under constant pressure to launch killer apps and release enhancements as

More information

NIST Cloud Computing Program Activities

NIST Cloud Computing Program Activities NIST Cloud Computing Program Overview The NIST Cloud Computing Program includes Strategic and Tactical efforts which were initiated in parallel, and are integrated as shown below: NIST Cloud Computing

More information

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software? System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Chapter 9 Software Evolution

Chapter 9 Software Evolution Chapter 9 Software Evolution Summary 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes

More information

Application Development Best Practices

Application Development Best Practices Application Development Best Practices THE ENTERPRISE MOBILUTION ERA An InfoStretch White Paper August 2014 Elevating confidence 3200 Patrick Henry Drive, Suite 250 Santa Clara, CA 95054 408.727.1100 info@infostretch.com

More information

Middleware- Driven Mobile Applications

Middleware- Driven Mobile Applications Middleware- Driven Mobile Applications A motwin White Paper When Launching New Mobile Services, Middleware Offers the Fastest, Most Flexible Development Path for Sophisticated Apps 1 Executive Summary

More information

Cisco Network Optimization Service

Cisco Network Optimization Service Service Data Sheet Cisco Network Optimization Service Optimize your network for borderless business evolution and innovation using Cisco expertise and leading practices. New Expanded Smart Analytics Offerings

More information

Digital Asset Manager, Digital Curator. Cultural Informatics, Cultural/ Art ICT Manager

Digital Asset Manager, Digital Curator. Cultural Informatics, Cultural/ Art ICT Manager Role title Digital Cultural Asset Manager Also known as Relevant professions Summary statement Mission Digital Asset Manager, Digital Curator Cultural Informatics, Cultural/ Art ICT Manager Deals with

More information

Surveying and evaluating tools for managing processes for software intensive systems

Surveying and evaluating tools for managing processes for software intensive systems Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB

More information

Project Type Guide. Project Planning and Management (PPM) V2.0. Custom Development Version 1.1 January 2014. PPM Project Type Custom Development

Project Type Guide. Project Planning and Management (PPM) V2.0. Custom Development Version 1.1 January 2014. PPM Project Type Custom Development Project Planning and Management (PPM) V2.0 Project Type Guide Custom Development Version 1.1 January 2014 Last Revision: 1/22/2014 Page 1 Project Type Guide Summary: Custom Development Custom software

More information

An Enterprise Framework for Evaluating and Improving Software Quality

An Enterprise Framework for Evaluating and Improving Software Quality An Enterprise Framework for Evaluating and Improving Software Quality Abstract Philip Lew philip.lew@xbosoft.com With the world s economy increasingly driven by software products, there has been a relentless

More information

A Framework for Adaptive Process Modeling and Execution (FAME)

A Framework for Adaptive Process Modeling and Execution (FAME) A Framework for Adaptive Process Modeling and Execution (FAME) Perakath Benjamin pbenjamin@kbsi.com Madhav Erraguntla merraguntla@kbsi.com Richard Mayer rmayer@kbsi.com Abstract This paper describes the

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

Exploratory Testing Dynamics

Exploratory Testing Dynamics Exploratory Testing Dynamics Created by James and Jonathan Bach 1 v1.6 Copyright 2005-2006, Satisfice, Inc. Exploratory testing is the opposite of scripted testing. Both scripted and exploratory testing

More information

Development, Acquisition, Implementation, and Maintenance of Application Systems

Development, Acquisition, Implementation, and Maintenance of Application Systems Development, Acquisition, Implementation, and Maintenance of Application Systems Part of a series of notes to help Centers review their own Center internal management processes from the point of view of

More information

Software Engineering. So(ware Evolu1on

Software Engineering. So(ware Evolu1on Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers

More information

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,

More information

Testing in a Mobile World

Testing in a Mobile World White Paper Testing in a Mobile World April 2014 Share this White Paper Contents Introduction 3 1. Testing in agile projects 4 2. Testing tools 6 3. Testing practices 10 4. Testing as a service 14 Conclusion

More information

for Oil & Gas Industry

for Oil & Gas Industry Wipro s Upstream Storage Solution for Oil & Gas Industry 1 www.wipro.com/industryresearch TABLE OF CONTENTS Executive summary 3 Business Appreciation of Upstream Storage Challenges...4 Wipro s Upstream

More information

An Analysis of the B2B E-Contracting Domain - Paradigms and Required Technology 1

An Analysis of the B2B E-Contracting Domain - Paradigms and Required Technology 1 An Analysis of the B2B E-Contracting Domain - Paradigms and Required Technology 1 Samuil Angelov and Paul Grefen Department of Technology Management, Eindhoven University of Technology, P.O. Box 513, 5600

More information

Extend the value of your core business systems.

Extend the value of your core business systems. Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems

More information

!!!!! White Paper. Understanding The Role of Data Governance To Support A Self-Service Environment. Sponsored by

!!!!! White Paper. Understanding The Role of Data Governance To Support A Self-Service Environment. Sponsored by White Paper Understanding The Role of Data Governance To Support A Self-Service Environment Sponsored by Sponsored by MicroStrategy Incorporated Founded in 1989, MicroStrategy (Nasdaq: MSTR) is a leading

More information

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

MANAGEMENT SUMMARY INTRODUCTION KEY MESSAGES. Written by: Michael Azoff. Published June 2015, Ovum

MANAGEMENT SUMMARY INTRODUCTION KEY MESSAGES. Written by: Michael Azoff. Published June 2015, Ovum App user analytics and performance monitoring for the business, development, and operations teams CA Mobile App Analytics for endto-end visibility CA Mobile App Analytics WWW.OVUM.COM Written by: Michael

More information

Supporting Workflow Overview. CSC532 Fall06

Supporting Workflow Overview. CSC532 Fall06 Supporting Workflow Overview CSC532 Fall06 Objectives: Supporting Workflows Define the supporting workflows Understand how to apply the supporting workflows Understand the activities necessary to configure

More information

The Case for an External Digital Strategy For Payers

The Case for an External Digital Strategy For Payers The Case for an External Digital Strategy For Payers As consumers flock to payers that create a more consumercentric experience, the payers that invest early and heavily in external digital assets will

More information

Develop enterprise mobile applications with IBM Rational software

Develop enterprise mobile applications with IBM Rational software Develop enterprise mobile applications with IBM software Providing comprehensive mobile application development and lifecycle management solutions Highlights Helps streamline and optimize the software

More information

A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement. Systems Engineering. Ali M. Hodroj

A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement. Systems Engineering. Ali M. Hodroj A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement By Ali M. Hodroj Project Report submitted to the Faculty of the Maseeh School of Engineering and Computer Science

More information

TeleScope Digital Asset Management Solution Overview. Campaigns Can Only Move as Fast as Their Content

TeleScope Digital Asset Management Solution Overview. Campaigns Can Only Move as Fast as Their Content TeleScope Digital Asset Management Solution Overview Campaigns Can Only Move as Fast as Their Content TeleScope Digital Asset Management for Marketing Volume and Speed Interactive marketing, social media

More information

A Research Study of US Marketers

A Research Study of US Marketers A Research Study of US Marketers Lisa Peterson, Neustar Vassilis Bakopoulos, MMA October 2013 Background + =? MMA & Neustar have jointly developed a study to understand marketers perceptions about mobile

More information

System/Data Requirements Definition Analysis and Design

System/Data Requirements Definition Analysis and Design EXECUTIVE SUMMARY This document provides an overview of the Systems Development Life-Cycle (SDLC) process of the U.S. House of Representatives. The SDLC process consists of seven tailored phases that help

More information

SOFTWARE TESTING TRAINING COURSES CONTENTS

SOFTWARE TESTING TRAINING COURSES CONTENTS SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 EXAMINERS REPORT Friday 2 nd October 2015 Answer any THREE

More information

WHITE PAPER Analytics for digital retail

WHITE PAPER Analytics for digital retail WHITE PAPER Analytics for digital retail Introduction The advent of organized retail propelled businesses to reach out to a wider spectrum of consumers in an effort to increase market share. This gave

More information

Applying CMMI SM In Information Technology Organizations SEPG 2003

Applying CMMI SM In Information Technology Organizations SEPG 2003 Applying CMMI SM In Information Technology Organizations Mark Servello, Vice President Jim Gibson, Senior Consultant ChangeBridge, Incorporated Page 1 Portions Copyright 2002 Carnegie Mellon University

More information

Mobile Application Development Meets the Mainstream

Mobile Application Development Meets the Mainstream Kony Write Once, Run Everywhere Mobile Technology WHITE PAPER August 2012 Mobile Application Development Meets the Mainstream Fragmentation and Chaos Is the New Normal... 3 Content Consumption versus Content

More information

I D C T E C H N O L O G Y S P O T L I G H T. E n a b l i n g Quality I n n o va t i o n w i t h Servi c e

I D C T E C H N O L O G Y S P O T L I G H T. E n a b l i n g Quality I n n o va t i o n w i t h Servi c e I D C T E C H N O L O G Y S P O T L I G H T E n a b l i n g Quality I n n o va t i o n w i t h Servi c e V i r t u a lization a nd Netw or k Virtualization December 2014 Adapted from Worldwide Automated

More information

Cisco Unified Communications and Collaboration technology is changing the way we go about the business of the University.

Cisco Unified Communications and Collaboration technology is changing the way we go about the business of the University. Data Sheet Cisco Optimization s Optimize Your Solution using Cisco Expertise and Leading Practices Optimizing Your Business Architecture Today, enabling business innovation and agility is about being able

More information

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management International Journal of Soft Computing and Engineering (IJSCE) A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management Jayanthi.R, M Lilly Florence Abstract:

More information

SharePoint 2013 Migration Readiness

SharePoint 2013 Migration Readiness SharePoint 2013 Migration Readiness Decision Points around Migrating to SharePoint 2013 MARK ECKERT Contents Purpose... 1 SharePoint 2013 Implementation Options... 1 On-premise installation... 1 Cloud...

More information

B2B Marketing Automation Vendor Selection Workbook

B2B Marketing Automation Vendor Selection Workbook B2B Marketing Automation Vendor Selection Workbook Visit www.raabguide.com for other marketing automation resources. 345 Millwood Road Chappaqua, NY 10514 www.raabassociatesinc.com B2B Marketing Automation

More information

A guide to enterprise mobile device management.

A guide to enterprise mobile device management. WHITEPAPER A guide to enterprise Beyond expectation. www.azzurricommunications.co.uk Introduction. As smartphones and tablets proliferate in the enterprise, IT leaders are under pressure to implement an

More information

Microsoft Solutions for Security. Delivering the Windows Server 2003 Security Guide

Microsoft Solutions for Security. Delivering the Windows Server 2003 Security Guide Microsoft Solutions for Security Delivering the Windows Server 2003 Security Guide Information in this document, including URL and other Internet Web site references, is subject to change without notice.

More information

Consumerization. Managing the BYOD trend successfully. Harish Krishnan, General Manager, Wipro Mobility Solutions WWW.WIPRO.COM

Consumerization. Managing the BYOD trend successfully. Harish Krishnan, General Manager, Wipro Mobility Solutions WWW.WIPRO.COM Consumerization Managing the BYOD trend successfully WWW.WIPRO.COM Harish Krishnan, General Manager, Wipro Mobility Solutions Employees dictate IT Enterprises across the world are giving in to the Consumerization

More information

Connect Renfrewshire

Connect Renfrewshire How the council will use its information and technology assets to achieve successful change Contents Strategy Context 2 Digital Delivery and Citizen Engagement 4 Operational Excellence and Transformation

More information

Masters in Information Technology

Masters in Information Technology Computer - Information Technology MSc & MPhil - 2015/6 - July 2015 Masters in Information Technology Programme Requirements Taught Element, and PG Diploma in Information Technology: 120 credits: IS5101

More information

SAP White Paper Enterprise Mobility. Best Practices for a Mobility Center of Excellence Keeping Pace with Mobile Technology

SAP White Paper Enterprise Mobility. Best Practices for a Mobility Center of Excellence Keeping Pace with Mobile Technology SAP White Paper Enterprise Mobility Best Practices for a Mobility Center of Excellence Keeping Pace with Mobile Technology Table of Contents 5 Executive Summary 6 Exploring a Mobility Center of Excellence

More information

WEB & MOBILE ANALYTICS. Marketing Software Survey 2014

WEB & MOBILE ANALYTICS. Marketing Software Survey 2014 Marketing Software Survey 2014 WEB & MOBILE ANALYTICS A snapshot of the current software products & platforms made for and used by marketers across industries. CONTENTS Web & Mobile Analytics: Mini Report

More information

MethodAdopt for MBS Partners. MethodAdopt. for. Microsoft Business Solutions Partners. September 2004. RubyTurtle Consulting Page 1 of 17

MethodAdopt for MBS Partners. MethodAdopt. for. Microsoft Business Solutions Partners. September 2004. RubyTurtle Consulting Page 1 of 17 MethodAdopt for Microsoft Business Solutions Partners September 2004 RubyTurtle Consulting Page 1 of 17 Content Executive Summary... 3 Benefits of using MBS methodologies... 3 Risk when not using methodologies...

More information

An Introduction to. Metrics. used during. Software Development

An Introduction to. Metrics. used during. Software Development An Introduction to Metrics used during Software Development Life Cycle www.softwaretestinggenius.com Page 1 of 10 Define the Metric Objectives You can t control what you can t measure. This is a quote

More information

Exploratory Testing Dynamics

Exploratory Testing Dynamics Exploratory Testing Dynamics Created by James Bach, Jonathan Bach, and Michael Bolton 1 v2.2 Copyright 2005-2009, Satisfice, Inc. Exploratory testing is the opposite of scripted testing. Both scripted

More information

Sample Exam Foundation Level Syllabus. Mobile Tester

Sample Exam Foundation Level Syllabus. Mobile Tester Sample Exam Foundation Level Syllabus Mobile Tester September 2015 American Software Testing Qualifications Board Sample Exam Foundation Level Syllabus Mobile Tester MOB-1.2.1 (K2) Explain the expectations

More information

Nova Software Quality Assurance Process

Nova Software Quality Assurance Process Nova Software Quality Assurance Process White Paper Atlantic International Building 15F No.2 Ke Yuan Yi Road, Shiqiaopu, Chongqing, P.R.C. 400039 Tel: 86-23- 68795169 Fax: 86-23- 68795169 Quality Assurance

More information

Master Data Management Architecture

Master Data Management Architecture Master Data Management Architecture Version Draft 1.0 TRIM file number - Short description Relevant to Authority Responsible officer Responsible office Date introduced April 2012 Date(s) modified Describes

More information

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS Lisana Universitas Surabaya (UBAYA), Raya Kalirungkut, Surabaya, Indonesia E-Mail: lisana@ubaya.ac.id

More information

CDC UNIFIED PROCESS JOB AID

CDC UNIFIED PROCESS JOB AID CDC UNIFIED PROCESS JOB AID Independent Verification & Validation Activities Document Purpose This Job Aid is a brief document listing the items to be noted, checked, remembered, and delivered when completing

More information

Review of Mobile Applications Testing with Automated Techniques

Review of Mobile Applications Testing with Automated Techniques Review of Mobile Testing with Automated Techniques Anureet Kaur Asst Prof, Guru Nanak Dev University, Amritsar, Punjab Abstract: As the mobile applications and mobile consumers are rising swiftly, it is

More information

Service Providers and WebRTC

Service Providers and WebRTC Whitepaper Service Providers and WebRTC New Product Opportunities Over- the- Top (OTT) services are those that deliver communications features to customers but are apps running on the data network rather

More information

Bridging the Gap Between Acceptance Criteria and Definition of Done

Bridging the Gap Between Acceptance Criteria and Definition of Done Bridging the Gap Between Acceptance Criteria and Definition of Done Sowmya Purushotham, Amith Pulla sowmya.sudha@gmail.com, amith.pulla@intel.com Abstract With the onset of Scrum and as many organizations

More information

Tablets: Will They Replace PCs?

Tablets: Will They Replace PCs? Tablets: Will They Replace PCs? By Phil Clarke Research Analyst, Nemertes Research Executive Summary As mobility becomes more prevalent within the enterprise, tablets are becoming crucial tools with specific

More information

Understanding the Financial Value of Data Quality Improvement

Understanding the Financial Value of Data Quality Improvement Understanding the Financial Value of Data Quality Improvement Prepared by: David Loshin Knowledge Integrity, Inc. January, 2011 Sponsored by: 2011 Knowledge Integrity, Inc. 1 Introduction Despite the many

More information

Mobile Center of Excellence

Mobile Center of Excellence Mobile Center of Excellence Mobility is fast emerging as a critical component of the enterprise application architecture as smart devices, next generation service provider networks and clouds enable rich

More information

Customer relationship management MB-104. By Mayank Kumar Pandey Assistant Professor at Noida Institute of Engineering and Technology

Customer relationship management MB-104. By Mayank Kumar Pandey Assistant Professor at Noida Institute of Engineering and Technology Customer relationship management MB-104 By Mayank Kumar Pandey Assistant Professor at Noida Institute of Engineering and Technology University Syllabus UNIT-1 Customer Relationship Management- Introduction

More information

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended.

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended. Previews of TDWI course books offer an opportunity to see the quality of our material and help you to select the courses that best fit your needs. The previews cannot be printed. TDWI strives to provide

More information

Classical Software Life Cycle Models

Classical Software Life Cycle Models Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation

More information

top tips to develop a successful enterprise app Industry insights Whitepaper #05

top tips to develop a successful enterprise app Industry insights Whitepaper #05 10 top tips to develop a successful enterprise app Industry insights Whitepaper #05 It is well documented that the app industry has long been dominated by the needs of the consumer. The market that exists

More information

Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire. P3M3 Project Management Self-Assessment

Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire. P3M3 Project Management Self-Assessment Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire P3M3 Project Management Self-Assessment Contents Introduction 3 User Guidance 4 P3M3 Self-Assessment Questionnaire

More information

Mobile Application Test Automation Best Practices for Best Results. A white paper from Mobile Labs, Inc.

Mobile Application Test Automation Best Practices for Best Results. A white paper from Mobile Labs, Inc. Mobile Application Test Automation Best Practices for Best Results A white paper from Mobile Labs and Mobile Labs Trust are trademarks of HP Quality Center and HP QuickTest Professional are registered

More information

Increasing Development Knowledge with EPFC

Increasing Development Knowledge with EPFC The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,

More information

www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se

www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se 1 www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Purpose with the material 2 This material describes the basics of Agile and Lean and the similarities and differences between

More information

HTML5 : carrier grade

HTML5 : carrier grade HTML5 : carrier grade Alex Rutgers / CTO@Momac / February 2013. Introduction Since HTML5 became mainstream media around April 2010 and I decided to create an overview article on HTML5 in the mobile space,

More information

The 9 Pillars of Enterprise Mobility

The 9 Pillars of Enterprise Mobility The 9 Pillars of Enterprise Mobility Building a framework that benefits IT, users and the business An Enterprise Mobility Program (EMP) focuses on policies, processes and enabling technologies that align

More information

Best Practices for Building Mobile Web

Best Practices for Building Mobile Web Best Practices for Building Mobile Web and Hybrid Applications Mobile is the NEXT dominant phase of computing Mobile is different: Transformational business models Faster lifecycles More iterative Mobile/Wireless/Cloud

More information

NSF Workshop: High Priority Research Areas on Integrated Sensor, Control and Platform Modeling for Smart Manufacturing

NSF Workshop: High Priority Research Areas on Integrated Sensor, Control and Platform Modeling for Smart Manufacturing NSF Workshop: High Priority Research Areas on Integrated Sensor, Control and Platform Modeling for Smart Manufacturing Purpose of the Workshop In October 2014, the President s Council of Advisors on Science

More information

Keywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects.

Keywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects. Volume 4, Issue 6, June 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Comparative Analysis

More information

Mobile Testing Automation

Mobile Testing Automation Mobile Testing Automation HARNESS THE MAGIC OF MOBILE TESTING AUTOMATION An InfoStretch White Paper August 2014 Elevating confidence 3200 Patrick Henry Drive, Suite 250 Santa Clara, CA 95054 408.727.1100

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

Accelerating Business Value by

Accelerating Business Value by Accelerating Business Value by Mobilizing Backend Enterprise Applications To find out how GAVS can be engaged as your dedicated co-sourcing partner to improve business outcomes, please write to us at cosource@gavsin.com.

More information

Software Development Process

Software Development Process Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

How To Manage Project And Portfolio Management In Microsoft Office 2010

How To Manage Project And Portfolio Management In Microsoft Office 2010 Enterprise Project Management SOLUTIONS THAT LAST Challenges in PPM What is a Project? Why Project Management? Challenges in Project and Portfolio Management (PPM) Problems for PM and PPM Leaders Presentation

More information

The App Store Model Comes to The Enterprise

The App Store Model Comes to The Enterprise The App Store Model Comes to The Enterprise Reference Code: CYIT0155 Publication Date: May 2011 Author: Tony Baer SUMMARY Catalyst Consumerization of IT is setting end users and enterprise IT on a collision

More information

PARCC TECHNOLOGY ARCHITECTURE ARCHITECTURAL PRINCIPLES AND CONSTRAINTS SUMMARY

PARCC TECHNOLOGY ARCHITECTURE ARCHITECTURAL PRINCIPLES AND CONSTRAINTS SUMMARY PARCC TECHNOLOGY ARCHITECTURE ARCHITECTURAL PRINCIPLES AND CONSTRAINTS SUMMARY Version 1.1 November 5, 2012 Architectural Principles and Constraints Summary REVISION HISTORY The following revision chart

More information

White Paper IT Methodology Overview & Context

White Paper IT Methodology Overview & Context White Paper IT Methodology Overview & Context IT Methodologies - Delivery Models From the inception of Information Technology (IT), organizations and people have been on a constant quest to optimize the

More information

Software Engineering Question Bank

Software Engineering Question Bank Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step

More information

MNLARS Project Audit Checklist

MNLARS Project Audit Checklist Audit Checklist The following provides a detailed checklist to assist the audit team in reviewing the health of a project. Relevance (at this time) How relevant is this attribute to this project or audit?

More information

Technology White Paper Capacity Constrained Smart Grid Design

Technology White Paper Capacity Constrained Smart Grid Design Capacity Constrained Smart Grid Design Smart Devices Smart Networks Smart Planning EDX Wireless Tel: +1-541-345-0019 I Fax: +1-541-345-8145 I info@edx.com I www.edx.com Mark Chapman and Greg Leon EDX Wireless

More information

Building Software in an Agile Manner

Building Software in an Agile Manner Building Software in an Agile Manner Abstract The technology industry continues to evolve with new products and category innovations defining and then redefining this sector's shifting landscape. Over

More information

3C05: Unified Software Development Process

3C05: Unified Software Development Process 3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2

More information

_experience the commitment TM. Seek service, not just servers

_experience the commitment TM. Seek service, not just servers The complete cloud Creating and preserving cloud savings, security and service quality transition planning and service management ABOUT THIS PAPER Creating and preserving cloud infrastructure savings,

More information

P3M3 Portfolio Management Self-Assessment

P3M3 Portfolio Management Self-Assessment Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire P3M3 Portfolio Management Self-Assessment P3M3 is a registered trade mark of AXELOS Limited Contents Introduction

More information

Measurement Information Model

Measurement Information Model mcgarry02.qxd 9/7/01 1:27 PM Page 13 2 Information Model This chapter describes one of the fundamental measurement concepts of Practical Software, the Information Model. The Information Model provides

More information

Five Strategies for Performance Testing Mobile Applications

Five Strategies for Performance Testing Mobile Applications Five Strategies for Performance Testing Mobile Applications Mobile applications are now mainstream business. Businesses ranging from healthcare providers to retailers and airlines are creating applications

More information

Survey of more than 1,500 Auditors Concludes that Audit Professionals are Not Maximizing Use of Available Audit Technology

Survey of more than 1,500 Auditors Concludes that Audit Professionals are Not Maximizing Use of Available Audit Technology Survey of more than 1,500 Auditors Concludes that Audit Professionals are Not Maximizing Use of Available Audit Technology Key findings from the survey include: while audit software tools have been available

More information