What is the best way to do release management when using SVN for version control?
-
We have a SVN repository to manage the source code (around 12 developers and the number is increasing). The current release process is completely broken with no clear cut process for code review, staging (when QA looks at it) and then finally pushing the changes marked fixed by QA to production. Can any one suggest a methodology/process to take care of this? Please assume we are starting from scratch. (Changing version control is the last thing we want to do)
-
Answer:
There is no correct way or best way of release management but there are few good things one can follow and bad things one can avoid in the process of release management. Here are a few that I follow. Keep Trunk stable at all times I have heard that some do Hot-Fixes on trunk but this should be kept to very minimal code fix. Have active development on branches if you have parallel feature developments have parallel branches Never take branch of a branch. if you do, good luck with merge When you are feature complete, QA verified for that particular branch, reintegrate merge to trunk and delete the branch. QA the branch only after merging trunk into the branch. Freeze trunk from check-in until QA for feature branch is complete and you merge the branch back to trunk. Arguably, do regression QA on this feature branch. Do BVT on trunk. Use release branches for Production release. Use tags for marking milestones and releases. Again, I am still learning and am willing to know if I am wrong on any of these and if there are better practices followed.
Praveen Kannan at Quora Visit the source
Other answers
This is important and is backbone of the product. Establishing a stable, robust and scale able Release Management System backed by Configuration Management system is key. It depend on multiple factors. if you can tell following then i think i can better guide . 1 - is it a web application or desktop ( is it compiled language [java,c# etc) or interpreter (php etc ) based ) ? because versioning and release management is changed altogether. this in fact effect the policy that you have for release. 2 - What is your release frequency ? weekly , daily , fortnightly , monthly or so ? 3 - Who is responsible for the release ? SQA , Senior Lead or else ? 4 - Which version control system you are using ? SVN, VSS, git ? You have to chose some configuration pattern which best suits your development culture / environment or alter any that is closet to you. After doing that you have to develop policy and steps for Implementation ( one time only ) Operations ( check in, sqa , release candidate, staging the release for UAT & final rollout ) Hope that helps. feel free to contact
Muhammad Noman
Related Q & A:
- What is the best way to distribute an audio/video feed from a computer to TVs over existing indoor coax cable?Best solution by Audio-Video Production
- What is the best way to clean LEGO bricks?Best solution by bricks.stackexchange.com
- What is the best way to make UI for an Isometric game in Java?Best solution by Game Development
- What is the best way to control anxiety attacks?Best solution by Yahoo! Answers
- What is the best way to pay a deposit when booking an apartment abroad? Paypal, Moneygram or Bank Transfer?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.