The current trends towards globalisation, together with the exponential growth of the number of mobile devices led the markets to a boom in the demand for the development of mobile applications. ...Moreover, with the expansion and heterogeneity of the mobile devices and platforms, software companies need to search for faster and cheaper ways to develop applications that are able to span as many devices as possible in order to capture the market. Currently, Android and iOS Operating Systems roughly share and dominate the mobile market, with timid expressions of other competitors. Each of these mobile operating systems was developed using their own languages and strategy and offer SDKs for development of applications using their libraries - known as native apps. On the other hand, the evolution of HTML5, CSS and JavaScript created generic alternatives to create mobile apps that run on devices on all operating systems, however lacking some capabilities to access the device's full potential. Alongside came the novel hybrid cross-platform development frameworks, which try to take the best of both worlds. Native versus hybrid platforms the trend in mobile app development using hybrid platforms and their advantage. It would not be great with just one language to develop mobile applications for all mobile devicesƒ
This article details the design and implementation of the manager application for the controller OpenDayLight under the software-defined network architecture. In an actual SDN network, it may be ...necessary to monitor multiple controllers or even multiple SDN networks. In this scenario, it is relatively inefficient to connect the controllers one by one. The OpenDayLight manager application described in this article realizes that it can record the connection information of multiple OpenDayLight controller instances, and can switch to other instances to connect and control at any time. The basic information of the controller can be obtained through the developed REST API and the topology map can be generated, and allows users to call the REST API of the instance on the graphical interface and filter and reorganize the returned data.
Selecting a suitable development method for a specific project context is one of the most challenging activities in process design. Every project is unique and, thus, many context factors have to be ...considered. Recent research took some initial steps towards statistically constructing hybrid development methods, yet, paid little attention to the peculiarities of context factors influencing method and practice selection. In this paper, we utilize exploratory factor analysis and logistic regression analysis to learn such context factors and to identify methods that are correlated with these factors. Our analysis is based on 829 data points from the HELENA dataset. We provide five base clusters of methods consisting of up to 10 methods that lay the foundation for devising hybrid development methods. The analysis of the five clusters using trained models reveals only a few context factors, e.g., project/product size and target application domain, that seem to significantly influence the selection of methods. An extended descriptive analysis of these practices in the context of the identified method clusters also suggests a consolidation of the relevant practice sets used in specific project contexts.
As the software industry transitions from a license-based model to a subscription-based Software-as-a-Service (SaaS) model, many software development organizations are transforming to a hybrid ...development model using agile and CI/CD practices for some products while continuing to use waterfall methods for other products. The traditional metrics used for measuring software quality in the waterfall or agile paradigms do not apply to this hybrid organization. Our paper presents a framework for defining a comprehensive set of quality metrics for hybrid organizations. The metrics we define are for all major milestones during the software development life cycle and are effective for all development methodologies. This framework has been implemented by all on-prem products in Cisco Systems, Inc.
At the IBM Almaden Research Center, we have been working with other divisions of IBM, offering Software Development as a Service (SDaaS). We work with our colleagues to understand their business and ...pain points, and then leverage that knowledge to build an application that at least meets, but ideally exceeds their needs. In our experience, applications built in the mode of Software Development as a Service have the following characteristics. There is a single client that owns the program requirements, the requirements are not fully formed, and, the software is at least partly, if not completely, custom. With many decades of software development experience in our group, we have used many different techniques for conducting software projects. In SDaaS, the style of interaction between the client team and the development team is a natural fit for Agile Software Development methods. Although our conditions do not fit the ideal Agile Software Development project profile, we have consistently experienced significant gains from taking the approach of iterative and incremental development. We have used the Waterfall, or plan-based, method many times for past projects, and we have consistently paid a significant price for the "Big Design Up Front" problems that go with that type of schedule. Although agile methods have consistently outperformed other methods in the early stages of a project, they do less well as the application program grows and the project matures. Once an application is in production and has an established user base, the emphasis of the client and development teams change from fast, easy and elegant feature additions to stability, release planning and maintenance. The imposition of a fixed schedule naturally transitions the overall project management into a plan-based model. However, we came to realize that agile methods still play an essential role, even when the overall project has matured to a steady state and is managed in a plan-based fashion. When developing a new program requirement, unless it is completely understood (i.e. all aspects and expected results documented), then it must go through an agile prototyping phase in order for it to be properly developed and scheduled. That agile prototyping phase is still bound inside a plan-based schedule, but that leaves room for iteration and innovation that we would not otherwise have in a fixed schedule. In this paper, we examine the various forces that influence both the client and development organizations that are engaged in Software Development as a Service. Using several projects from our past as examples, we show that the level of program technology and requirement understanding determines which development method will be more successful. Plan-based methods will work if all aspects of the project are known and there are minimal variables. Otherwise, our experience shows that an Agile Development model is likely to be the best choice for the beginning of a project. Once a project reaches steady state, with production releases, then a hybrid model works best, where agile methods are used to prototype new features, but bounded inside of a plan-based schedule.
Content-Based Multi-platform App Forge Rogai, Davide; Bisconti, Claudio; Faye, Salif Omar
2015 2nd ACM International Conference on Mobile Software Engineering and Systems,
05/2015
Conference Proceeding
Mobile App development arises new dynamism for both device platform and device equipment. New solution projects and solution maintenance sustainability is at risk due to this variability. Some ...entry-level and build-by-template solutions are emerging. This experience demonstrates the solution we found when working together with market leaders in cultural-heritage video-guide: new digital editorial artifacts. We used an open-source CMS system to manage different type of contents and to generate complete software package for various mobile platforms. The client-side App is based on Phone Gap/Cordova framework and java script frameworks selection and optimization. This system completely covers digital mobile publishing product life-cycle from digital asset management to App (web or mobile) deploy or updates management systems, including in-App purchase content and incremental update.