Episode: Introduction to SCM - Interview with SteveBerczuk?
- Background Steve:
- What is the work that you do (ie, you're not an SCM Person per se)
- My current job a an Agile Software Development consultancy.
- SCM is something every developer needs to be concerned with and it's something many people shy away from like.
- How did you get interested in SCM?
- First SW Dev job where we had a good SCM Process
- Patterns
- why he wrote the SCM Patterns book.
- Typical introduction of SCM:
- why?
- challenges?
- myths?
- products that most know: CVS, Clearcase, Subversion, Perforce
- Agile and SCM: Agile (and other) teams are starting to pay attention to SCM (what? On the contrary: the concern for SCM has never been so low! Agile is most often understood as /main/LATEST, synchronous process, and throwing away any kind of management).
- SCM, Build, Release are often treated as oftens, and build scripts not given the same attention as code.
- SCM as part of the Development Process -- so the context in which you work affects the "best" way to do SCM.
- SCM/Version Management —Version control is one of the prehistories of SCM: the source of one tradition (the other one being paper based accounting of parts in the automobile industry); Linus Torvalds speaking of Source Code Management (meaning Control) is just throwing away 30 years of development (or lack thereof): can this kind of ignorance be called a "best" practice?
- Architecture
- People/Process/Location
- (SCM is about identification/Verification hence there are processes that are closely tied to SCM such as testing, and requirements process and build) -- does this go somewhere else? - MK: I don't know, maybe discuss it below under "SCM as part of the Development Process"?
- Tools vs processes - which needs to be first? Is it wrong to select a tool first, then the process?
- The role of tools. (Why people tend to think about tools before the problem and why that isn't useful—and vice versa: why people believe what they ignore [tools in particular] cannot be very important, and what's wrong with that)
- Different approaches to SCM - MK: I do not fully understand this. Isn't this about how the project is organized?
- Versioning Models: copy-edit-merge vs. lock-edit-unlock.
- Explanation of locking models:
- Exclusive Locking
- Non-Exclusive Locking
- Optimistic Locking (locking at commit time only)
- Benefits and drawbacks of each method.
- Usage of them in the different tools. [MK: As Marc noted the comparisons between the tools are not so easy for a podcast, a table or some reading is better suited—Please note that I do not believe that comparison tables are well suited to anything]
- Branches in general - working independently for a while ...
- Outlook to advanced topics, but don't go into detail:
- Agile SCM
- Distributed SCM?
Reference important links, books, and web resources:
- CM crossroads
- SCM patterns book
Episode: Agile SCM
If the Introduction is no interview, we could have this topic as interview with Steve.
What is different?
Along the lines of:
http://www.berczuk.com/pubs/BetterSoftwareFeb2006-8-2.pdf
Episode: SCM for platform development
Along the lines of:
http://www.lsi.upc.edu/events/aple/Kurmann.pdf
Further topics
Distributed SCM
TBD
this is a list of some interesting topics I think the series should include, although I'm not sure where they could fit.
Key features of different SCM tools (I'm not sure about this one, I don't particulary like to hear about tools in podcasts): Dynamic Views (
ClearCase), Changeset Management (Perforce), Version tree visualization (
PlasticSCM), etc.
[
Sorry, I added some pointers to pages explicitly showing my bias, and begging for similar exposition of opinions. I believe there was an implicit bias already --
MarcGirod - 13 Nov 2007]
-- CM.kirchermichael - 07 Jan 2008
Edit •
Attach •
Print version •
History: r18 < r17 < r16 < r15 < r14 •
Backlinks •
Raw View •
Raw edit •
More topic actions