|
|
|
|
|
Computational scientists often delve into the world of
code development out of necessity. It often happens when
they become interested in problems that can't be solved
by the methods readily available to them. If the required
software is not commercially available, or if the cost
of acquiring the programs is prohibitive, a sometimes viable
alternative is writing your own. And while the beginnings are
often this humble, the scope of the project can sometimes
grow beyond the bounds of the planned development. It's not
uncommon for several people working in geographically-
distributed research groups to have their hands in a simulation
code at any one time. With this "extended-family" approach
to software engineering, it can quickly become difficult to
keep track of what is going on in all the different regions of
a reasonably large code. When researchers find themselves in
this situation, they often take a cue from industry and employ
some sort of configuration management tool.
Large scientific codes often have multiple functionalities, so it's not uncommon for development work to be split along these functional lines and divided among groups of people. This invariably leads to situations where one group works faster than the others, so that one piece of the code changes more often. It can often be frustrating for everyone to try to keep the most current version of the software when all developers are drawing from the same version of the source code. It can be even more of a hassle if everyone is working on the SAME part of the code. There can be duplication of work, a real difficulty in keeping the code current, and even the occasional power struggle! The proper use of a configuration management tool, though, can help everyone keep track of which versions work, which don't, and which need to be integrated with each other. In the setting described above, in which there are many hands in a code development project, security also becomes an issue. With an "open-code" policy, there is no real accountability for one's actions with a piece of code since there is no record of who accessed the code when. Also, accidental deletion or Go To Page: 1 2
The copyright of the article Shelf-Control : How to Manage Those Development Projects in Scientific Computing is owned by . Permission to republish Shelf-Control : How to Manage Those Development Projects in print or online must be granted by the author in writing.
|
|
|
|