{"title":"Enhancing the Developer Experience (DX) in Docker Supported Projects","authors":"Masitah Ghazali, Alfian Naufal Ravi Hidayat","doi":"10.11113/ijic.v13n1.393","DOIUrl":null,"url":null,"abstract":"Docker is undeniably powerful and revolutionary in how containerized system development is developed today, but it is apparent that the learning curve for it should be addressed, as it typically is complex at times, especially for beginners. One of the fundamental tasks in a Docker workflow is Dockerfile configurations, which at times require ample time to study and observe for attaining the best practices, even the appropriate result. This issue undeniably affects the developer experience. Developer Experience (DX), being a derived field from User Experience (UX) that has been getting traction for the past few years concerns developers’ innate ability to perceive tasks as enjoyable, painful, or perhaps some other sets of emotions. The goal of DX is to evaluate all those factors in order to improve the software development experience, which consequently affects how the project is delivered. In resonance with that, this work aims to enhance the DX by way of proposing and incorporating supporting interaction tools, both based on CLI and GUI as the interface type, with two different permutations: CLI and GUI. The DX of both has to be evaluated by the experts, who are of experienced developers, regardless of whether they have knowledge of Docker or not. The method to test and evaluate two different solutions is conducted qualitatively, with each respondent having a different order of evaluating the two solutions. The qualitative data is thematically analyzed, resulting in GUI being the best option among the two. The contribution of this research is the design guidelines for GUI and CLI-based tools development that enhance the Developer Experience (DX) in the scaffolding of Dockerfile and docker-compose.yml for projects that use Docker.","PeriodicalId":50314,"journal":{"name":"International Journal of Innovative Computing Information and Control","volume":null,"pages":null},"PeriodicalIF":1.3000,"publicationDate":"2023-05-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Innovative Computing Information and Control","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.11113/ijic.v13n1.393","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE","Score":null,"Total":0}
引用次数: 0
Abstract
Docker is undeniably powerful and revolutionary in how containerized system development is developed today, but it is apparent that the learning curve for it should be addressed, as it typically is complex at times, especially for beginners. One of the fundamental tasks in a Docker workflow is Dockerfile configurations, which at times require ample time to study and observe for attaining the best practices, even the appropriate result. This issue undeniably affects the developer experience. Developer Experience (DX), being a derived field from User Experience (UX) that has been getting traction for the past few years concerns developers’ innate ability to perceive tasks as enjoyable, painful, or perhaps some other sets of emotions. The goal of DX is to evaluate all those factors in order to improve the software development experience, which consequently affects how the project is delivered. In resonance with that, this work aims to enhance the DX by way of proposing and incorporating supporting interaction tools, both based on CLI and GUI as the interface type, with two different permutations: CLI and GUI. The DX of both has to be evaluated by the experts, who are of experienced developers, regardless of whether they have knowledge of Docker or not. The method to test and evaluate two different solutions is conducted qualitatively, with each respondent having a different order of evaluating the two solutions. The qualitative data is thematically analyzed, resulting in GUI being the best option among the two. The contribution of this research is the design guidelines for GUI and CLI-based tools development that enhance the Developer Experience (DX) in the scaffolding of Dockerfile and docker-compose.yml for projects that use Docker.
期刊介绍:
The primary aim of the International Journal of Innovative Computing, Information and Control (IJICIC) is to publish high-quality papers of new developments and trends, novel techniques and approaches, innovative methodologies and technologies on the theory and applications of intelligent systems, information and control. The IJICIC is a peer-reviewed English language journal and is published bimonthly