Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This is a fairly subjective question, so I wouldn't be opposed to TPTB closing it. However, I'll happily share my opinions on this. Keep in mind that I come from a background working in small/medium (10-50 developers) enterprise contexts, so my opinions are tailored to that environment.</p> <ol> <li><strong>Your developers should understand subversion</strong>. Have them read the <a href="http://svnbook.red-bean.com/" rel="nofollow noreferrer">subversion book</a>, especially the <a href="http://svnbook.red-bean.com/en/1.8/svn.tour.cycle.html" rel="nofollow noreferrer">"basic work cycle"</a> bit. Many of my other suggestions come from the svn book.</li> <li><strong>Commit early and often</strong>. Developers should strive to do work in small chunks that are not breaking or destabilizing. If you aren't checking in your work at least once a day, something is probably wrong.</li> <li><strong>Update extremely often</strong>. You want to pull the latest work the rest of your team has been doing multiple times a day. This also helps ease the pain of merging changes in the event that another developer is working on the same files.</li> <li><strong>Always provide a useful comment</strong>. Developers should write check-in comments that describe the work done in a way that is helpful to the rest of the team. Comments like "fixed build", "more changes", or "x" (true story, I worked with a developer whose comment was always "x") are not useful.</li> </ol> <p>The following are more "admin" guidelines (in your taxonomy), but are still relevant to developers. Also, these are much more subjective, so take with an even larger grain of salt.</p> <ol> <li><strong>Maintain a stable, releasable trunk</strong>. If your developers are following guideline (2) above, you should be able to keep your trunk stable and releasable. Avoid making large, cross-cutting, destabilizing changes -- figure out a way to make those changes in small chunks that are less risky. Maintaining a stable trunk allows you to deploy more frequently, and therefore deliver value to your users faster.</li> <li><strong>Use the <a href="http://svnbook.red-bean.com/en/1.8/svn.branchmerge.commonpatterns.html#svn.branchmerge.commonpatterns.release" rel="nofollow noreferrer">branch-per-release</a> workflow</strong>. Create a new branch for each release in the event that you need to fix bugs. Avoid releasing from trunk or "promoting" from trunk into a static release branch.</li> <li><strong>Avoid feature branches</strong>. Feature branches encourage the kind of destabilizing, cross-cutting changes you want to avoid. Instead, try to make large-scale changes in trunk, but keep them "deactivated" in the production software via configuration switches or the like. You want to strive for an architecture that allows you to implement "big" features without the need to destabilize and isolate the code line. Using Inversion of Control is a big help here.</li> </ol>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload