{"title":"利用最佳行业实践为学术研究开发软件","authors":"Levi T. Connelly, Melody L. Hammel, Lan Lin","doi":"10.1109/ICMSS56787.2023.10117776","DOIUrl":null,"url":null,"abstract":"Best industry practices in software development are vital to the success of a project. When these practices are not well-applied, the development process can be severely hindered, and the final product can be of poor quality as a result. Implementing techniques for managing source code: version control, issue tracking, a branching strategy, a pull request strategy, a coding standard, unit testing, CI/CD, and automated testing, are not just widely-used industry practices for no reason. Thus, we took to applying these practices to a development project for research designed to reduce user time and effort in hydrologic modeling studies, CyberWater. The software package is built on legacy software and the development team is made up of a wide variety of people from various backgrounds, not all computer science. Applying these best industry practices to their development project has made their lives easier and the final product better. We report our experience in this paper and hope it provides some useful suggestions to domain scientists in an academic setting regarding how to develop high-quality research software.","PeriodicalId":115225,"journal":{"name":"2023 7th International Conference on Management Engineering, Software Engineering and Service Sciences (ICMSS)","volume":"145 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-01-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Leveraging Best Industry Practices to Developing Software for Academic Research\",\"authors\":\"Levi T. Connelly, Melody L. Hammel, Lan Lin\",\"doi\":\"10.1109/ICMSS56787.2023.10117776\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Best industry practices in software development are vital to the success of a project. When these practices are not well-applied, the development process can be severely hindered, and the final product can be of poor quality as a result. Implementing techniques for managing source code: version control, issue tracking, a branching strategy, a pull request strategy, a coding standard, unit testing, CI/CD, and automated testing, are not just widely-used industry practices for no reason. Thus, we took to applying these practices to a development project for research designed to reduce user time and effort in hydrologic modeling studies, CyberWater. The software package is built on legacy software and the development team is made up of a wide variety of people from various backgrounds, not all computer science. Applying these best industry practices to their development project has made their lives easier and the final product better. We report our experience in this paper and hope it provides some useful suggestions to domain scientists in an academic setting regarding how to develop high-quality research software.\",\"PeriodicalId\":115225,\"journal\":{\"name\":\"2023 7th International Conference on Management Engineering, Software Engineering and Service Sciences (ICMSS)\",\"volume\":\"145 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-01-06\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2023 7th International Conference on Management Engineering, Software Engineering and Service Sciences (ICMSS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICMSS56787.2023.10117776\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 7th International Conference on Management Engineering, Software Engineering and Service Sciences (ICMSS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICMSS56787.2023.10117776","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Leveraging Best Industry Practices to Developing Software for Academic Research
Best industry practices in software development are vital to the success of a project. When these practices are not well-applied, the development process can be severely hindered, and the final product can be of poor quality as a result. Implementing techniques for managing source code: version control, issue tracking, a branching strategy, a pull request strategy, a coding standard, unit testing, CI/CD, and automated testing, are not just widely-used industry practices for no reason. Thus, we took to applying these practices to a development project for research designed to reduce user time and effort in hydrologic modeling studies, CyberWater. The software package is built on legacy software and the development team is made up of a wide variety of people from various backgrounds, not all computer science. Applying these best industry practices to their development project has made their lives easier and the final product better. We report our experience in this paper and hope it provides some useful suggestions to domain scientists in an academic setting regarding how to develop high-quality research software.