When it comes to developing scientific software, the most prominent trait of scientists gathered around a specific project is their varied approach to computer science: they're not employed as developers, and they're often self-taught programmers. This article discusses that larger efforts require an organized, structured community to keep pace with the growth of software and related activities.
Pouillon, Y., Beuken, J.-M., Deutsch, T., Torrent, M., & Gonze, X. (2011). Organizing Software Growth and Distributed Development: The Case of Abinit. Computing in Science & Engineering : the bimonthly magazine of computational tools and method, 13(1), 62-69. https://doi.org/10.1109/MCSE.2011.13 (Original work published 2011)