Source Code Management Systems

Work Products

  • Things produced by people by doing work

    • Source code, documentation, story cards, user interviews, assets (digital and physical), etc
  • All work products have value, and should be managed

  • Because software, source code is often "first among equals"

History of "Source Code" Management (SCM)

  • Olden Times: Source code management is people. "Manual backups." Paper documents. Change Control Board

  • Distant past: Some personal tools for SCM, e.g. SCCS, RCS. Still many manual steps. Source code leaves paper behind

  • Pre-modern: Tools for group SCM, e.g. ClearCase, Perforce, CVS, SVN. Way less paper. CCBs start to exit. Other work products increasingly managed

  • Modern: Tools for distributed SCM; BitKeeper, Mercurial, Git, etc etc etc. Paper is mostly a memory. CCBs are entirely a memory. Most work products managed

Feature Set For SCM

  • Change history

  • Changepoint identification ("version")

  • Concurrent management of related stuff ("version")

  • Parallel development: "Branching" and "merging"

  • Synchronization / change control for team development

Nice-To-Haves For SCM

  • Reliability against accidents and tampering

  • Performance

  • User experience

Web SCM

  • Quality SCM "dashboard"

  • Integrated "affordances" (things to make life easier)

    • Issue Tracking
    • Collaboration tools e.g. wiki
    • Project management tools
  • Github, Gitlab, some pre-modern stuff

Last modified: Sunday, 11 October 2020, 10:19 PM