We have a pretty small Software Development department and have had very few software version problems. As such, we have never truly utilized version control to its fullest. To us, version control has been a way to get a copy of the software to each developer's workstation.
As time goes on projects become more complex, users' wish lists become more complicated, and software is release more often we have found the need to hold certain updates back from being released that aren't ready while other updates need to be pushed out. In comes version control, particularly branching.
We are now officially utilizing branching in with our version control. We do bug fixes and urgent (short-term) updates to a branch while adding new features to our trunk. We release from our branch merging it into our trunk each time. Once we determine the trunk has reached a new version milestone, we merge the branch into the trunk, tag it with the appropriate version and create a new branch to do bug fixes on again.
A large part of our policy for version control comes from http://www.tldp.org/REF/CVS-BestPractices/html/.
It will be interesting to watch this over time and see how well it works for our group and our dynamics. It is a proven method of software development, we just haven't needed it yet, or at least we haven't realized that we needed it before now. I'm sure that as we use it we will look back wishing we had implemented it earlier.
Subscribe to:
Post Comments (Atom)
Post a Comment