
AEGAEUM JOURNAL ISSN NO: 0776-3808 IMPLEMENTATION PROCESS OF CONTINUOUS INTEGRATION AND CONTINUOUS DEPLOYMENT USING AGILE TECHNOLOGY Prabhu Thangavelu 1, Research Scholar, HITS University, Chennai, Tamil Nadu, India. Dr. M. Rajeswari 2, Associate Professor, HITS University, Chennai, Tamil Nadu, India. ABSTRACT: The software industry operates based onbreaking down larger projects into smaller and simpler bits and assigning each bit to individual teams that integrate, test, and collaborate the results. For several years, software development has followed the waterfall approach which has been found to be more coherent and much free of bugs. But, in a rapidly changing scenario such as this smartphone era where customers demand new features and bug fixes frequently, the software developers find the previous approaches slower and inadequate to meet the ever- growing demands. Agile methodologies such as continuous integration, automated testing and continuous deployment are relatively new strategies that have found a place of prominence among software developers. These techniques focus on rapidly integrating new changes into the software using iterative methods and achieve frequent delivery of functional parts of a software or an application. Numerous studies have indicated that iterative agile techniques have resulted in faster delivery rates and continuous improvement of the quality of software. But as much as the advantages, agile methodologies are relatively new to the scenario and are still ridden with numerous challenges. One of the major challenges for any developer is the implementation strategy that needs to be used for agile techniques as CI and CD are processes in the pipeline for software delivery and proper implementation will ensure the success rate of such methods. Keywords: CI, CD, Agile, Deployment, Testing, Software development INTRODUCTION: In a rapidly developing software industry, the requirement for adaptive techniques is increasing parallelly. Continuous integration is one such software development technique where the work is integrated continuously daily and tested for integration errors leading to better cohesiveness in teamwork and software development.Agile techniques offer great flexibility and Volume 8, Issue 8, 2020 http://aegaeum.com/ Page No: 1641 AEGAEUM JOURNAL ISSN NO: 0776-3808 adaptability in software development that requires frequent changes based on the customer expectations. These techniques have been found to be greatly successful as the work of team members is continuously integrated and tested to avoid irrelevance and functional pieces of the software or application are regularly deployed as soon as they are ready. Continuous integration and deployment are iterative and people centric approaches and make software development much adaptive and simple in comparison to its predecessor known as the waterfall approach. These agile methodologies have been found to be a great support mechanism in an everchanging software environment (Euro Laukkanen, 2015) and is important for prompt delivery of new features. Agile methodologies are quite relatable and practically applicable in a software industry which has greatly moved towards rapid development of mobile applications which requires frequent updates and security patches on a day to day basis. Agile techniques emphasize on the four core values of interaction over the development process, deployment of working models, rapid responses to changes and encouraging customer collaboration in the development process. Any industry grows on the simple factor of satisfying customer needs. The software industry is no different and needs to adapt continuously. Studies conducted on open source software development have proven that continuous integration greatly influences and improves the product quality and benefits developers greatly (Barbara Russo, 2009). Continuous integration(CI) and Continuous deployment (CD) are mostly perceived as separate processes but both CI and CD are phases in a software delivery process where customers get access to new features and bug fixes at a faster rate. Though agile techniques have been found to be successful, a well-defined implementation process is still under question as these methodologies are iterative and hence arriving at a finish line is not possible. These methods are highly exploratory in nature and hence extensive studies need to be done on the most beneficial methods of implementation strategies. STATEMENT OF THE PROBLEM: Continuous integration and continuous deployment arebased on a set of rules for operation and certain strategies and practices to be followed that help a developer or a team to deliver changes in the code more frequently and also increasing reliability on the code integrity. The implementation process of CI and CD is known as the CI/CD pipeline and is one of the best agile methodologies in practice. The objective of using such methods is based on business Volume 8, Issue 8, 2020 http://aegaeum.com/ Page No: 1642 AEGAEUM JOURNAL ISSN NO: 0776-3808 requirements, Code integrity and quality and security. Technically CI establishes an automated approach to building and testing applications with consistency leading to better collaboration.CD is the continuation of CI and delivers applications to selected environments. CI/CD automation tools follow the necessary procedures that are imperative in deploying the applications. The Study aims at understanding the agile process and the practices that are beneficial to developers in the CI/CD pipeline as continuous delivery is not the only solution for every application used in business. Objectives of the study: • Understand the CI/CD pipeline • Understand various control tools, integration servers and deployment tools • Analyze problems faced by developers while using agile techniques • Discern beneficial strategies for implementation REVIEW OF LITERATURE: Eero Laukkanen (2015) attempted to study the adoption of continuous integration in research and development. Continuous integration is a support mechanism which is important for delivering new features promptly in an everchanging software environment. But studies have revealed that social challenges make adoption of CI in industries exceedingly difficult. The study was conducted in a R&D program inside Ericsson and attempts to understand the stakeholder’s perception on the need for adoption of continuous integration. The author was able to deduce that the product architecture had a considerable impact on the adoption of CI. Training the team for CI was also imperative and needed sufficient learning space and time and most importantly cross site communication was necessary instead of centralizing. Likoebe M. Maruping (2009) attempted to understand the use of agile techniques under various conditions by using the control theory. The author tries to analyze the effectiveness of agile methodology in improving the quality of software projects.Deployment of agile techniques offers immense potential in improving the outcome of a software development project.Extremely limited studies have been conducted on methods to maximize the effectiveness of agile methodology resulting in ambiguity to the project managers. 862 developers were studied based Volume 8, Issue 8, 2020 http://aegaeum.com/ Page No: 1643 AEGAEUM JOURNAL ISSN NO: 0776-3808 on four objectives that influence the project quality.Use of agile methodology proved more useful in occasions where project control was imperative in a changing environment. Barbara Russo (2009) conducted a study on the common factors between open source software development and use of advanced approaches such as agile methodology. The author attempted to understand the how developers benefitted in terms of quality and client satisfaction. The study analyses the strategies that may be used in implementing agile techniques in open source software development for software advancement. Studies such as this will benefit project managers and developers greatly. Yunfang Guo (2019) states that continuous integration is indispensable in a software industry where prompt delivery of new features and bug fixes is imperative. The author builds his research on the findings of Bernardo, da Costa &Kulesza (2018) and attempted to recreate the research conceptually using a adaptive technique of regression discontinuity design and attempted to analyse how many open source projects were successfully able to deliver pull requests (PR) faster by adapting a continuous integration technique. Hilton et al. (2016) conducted a study on 34,544 open source projects and conducted a survey on 442 developers who were known to use continuous integration and deployment techniques in their projects. The author analyzed the effectiveness of the projects based on delivery speed of pull requests and concluded that continuous integration techniques led to faster release and frequently as much as twice in comparison to projects that did not use CI. Also, the acceptance rate of PRs was faster in the median. Vasilescu et al., (2014) argues in his study that continuous integration techniques provide several benefits such as quick delivery of new features and functionalities and at the same time reduces problems that arise in collaborative environment such as incoherence and lack of code integrity. This also improves the stability of the entire software in the mainline. SUGGESTIONS: Extensive study of literature has led to a few suggestions that have been at the core of every successful implementation of agile techniques.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages8 Page
-
File Size-