Agile software development has been embraced increasingly in the last two decades. Process customisation is required to any selected method for satisfying the objectives. For achieving project success, software process must be tailored according to customer requirements. Although agile methodologies have best practices in themselves, to create a distinctive process for a project and accumulating various practices is difficult. There is a need for the framework and guidelines, which can benefit the tailoring process accessible and understandable. This paper proposes a framework, which can guide the teams to choose among different agile practices and create a process, which best suits the project and the organisation. The decision is based on environmental factors, customer requirements, project goals and project tailoring strategies. Through empirical study, it is observed that the organisations support agile as part of the development, but practitioners feel more improvements are required in methodology processes.
Mobile applications (i.e., mobile apps) are dynamic from the user point of view, it is complex in some situations, and it is being developed in competitive and strict time frames. Therefore, the developers are required to pay attention to choose an appropriate software development process to cater these needs. Over the last decade, agile approaches have become very popular for software development in general, but there has only been limited research performed in the applicability of agile methods in the area of mobile app development. In this paper, a detailed review on mobile app development approaches with their best practices is prepared to explore the suitability of agile approaches. We have also conducted an online survey to know the current mobile app development trends in industries. It is observed that the agile approaches are the most suited approaches for mobile app development due to its flexibility in making changes, scalability, usability, etc. This crucial survey contributes towards a better comprehension of development trends in mobile app development industries.
For conventional software development, generic software engineering lifecycle model has proven to be very important.Though, with the evolution of Web-based applications and internet, conventional software engineering models have limited support for developing Web-based applications.In recent years Web-based applications have become more complex and new technologies are emerging at a rapid pace.Therefore, the conventional software engineering lifecycle models need to be reformed in such a way that handling the change requirements and complexity of Web-based development becomes convenient for conventional developers.However, there is a lack of any generic process model available for Web-based applications.The paper identifies and analyzes various aspects of conventional and Web-based development and proposes a lifecycle model, which incorporates the aspects of agile and plan-driven development to develop a Web-based application successfully.
Service Oriented Computing (SOC) is an emerging distributed computing technology that is set to replace the existing ways of building software.Dissatisfactory performance of SOA projects has stimulated the developers to analyze the SOA worst practices or antipatterns.Our research aimed at identifying these wrong practices in implementation of SOA, i.e. antipatterns.In this paper, four antipatterns SOA==SOAP, using plain WSDL, web service discovery only through UDDI, and service for an application have been identified and presented in SOA antipattern template.These antipatterns are related to the use of SOAP, WSDL, UDDI and basic service definition, which initially seemed to be correct but later resulted into reduced performance benefits.
Software architecture evaluation in software systems is an important practice to develop quality software. Evaluation is performed to analyze software architecture to reduce the possibility of risks and verify quality requirements, which are addressed during software design. Several methods and techniques have been proposed to evaluate software architecture based on quality attributes. This paper presents the comparative analysis of scenario-based software architecture evaluation methods using taxonomy. The observations will be useful to design an effective architecture evaluation method.
Global software development (GSD) is a software development setting in which practitioners residing in different countries work together as a team to accomplish a software project.This paradigm is rapidly adopted by numerous software companies in order to reduce cost and time.However, these cost savings are seldom achieved due to geographical, temporal, socio-cultural and linguistic distances.These distances often cause misinterpretations and conflicting perceptions about the product to be built and often induce lots of rework.Excessive rework significantly increases risk of project failure.However, little research has been conducted on the aspects of rework in GSD.In order to reduce rework in GSD, aspects of rework need to be conceptualized.Also, cost associated with rework need to be measured.Thus, in this paper rework cycle and its associated drivers are proposed for GSD setting.A metric is also proposed to calculate cost of rework in GSD.The research work has also been validated through industrial survey.
Objectives: To propose a suitable model for RDBMS SQL to NoSQL query translation, which works as a middleware between legacy applications and the NoSQL database. This model is expected to translate the SQL queries into NoSQL queries, and forward them to the NoSQL database for execution, and after the execution, the result received from NoSQL should be transferred to the legacy application. Methods: The proposed model is implemented in Java programming language for MySQL (RDBMS) to MongoDB document database query translation. The prototype translates the insert, update, delete, and select SQL queries into equivalent NoSQL query format for MongoDB document database. The middleware transforms the SQL queries to NoSQL query format, and returns the result to the legacy application, which they are expecting from the database. Performance of our model has been evaluated by executing SQL queries such as select, insert, update, delete (with simple and join queries) in Studio 3T, UnityJDBC driver for MongoDB, and our model SQLNo- QT. Findings: The study shows that the proposed model SQL to NoSQL Query Translation Model (SQL-No-QT) performs better in some cases. This model takes 7.5% less time compared to Studio3T, and 38.19% less time compared to UnityJDBC driver in executing select queries, and 78.82% less time compared to Studio3T in executing delete queries in big size database. This model also can execute the join SQL queries for insert, update and delete, which are not available in UnityJDBC driver for MongoDB. Novelty: This model works as a middleware between a legacy application and a NoSQL database, and it removes the need of developing whole new software for legacy application. Keywords: Database reengineering; database; Query translation; NoSQL; RDBMS