10 Aug 2005CSE403, Summer'05, Lecture 15 Lecture 15: Configuration Management, Software Maintenance, and Code Reviews (Part I) Valentin Razmov.

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Let Use SVN(Subversion) Interaction Lab. Hyo-Geun Ahn
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Software Configuration Management Donna Albino LIS489, December 3, 2014.
12 Aug 2005CSE403, Summer'05, Lecture 15 Updated Schedule of Remaining Class-Related Deliverables Fri, Aug 10pm: hw#4 responses due Sun, Aug
Source Control in MATLAB A tool for tracking changes in software development projects. Stuart Nelis & Rachel Sheldon.
CSE 331 SOFTWARE DESIGN & IMPLEMENTATION VERSION CONTROL UW Autumn 2011.
Concepts of Version Control A Technology-Independent View.
2/6/2008Prof. Hilfinger CS164 Lecture 71 Version Control Lecture 7.
Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student Connect->Classroom 2.
SWE Introduction to Software Engineering
29 Jul 2005CSE403, Summer'05 Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student.
CVS II: Parallelizing Software Development Author: Brian Berliner John Tully.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
15 Jul 2005CSE403, Summer'05, Lecture 10 Lecture 10: Incremental Releases Valentin Razmov.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Software Configuration Management
1 CMPT 275 Software Engineering Revision Control.
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
Michael Solomon Tugboat Software Managing the Software Development Process.
13 Jul 2006CSE403, Summer'06, Lecture10 Lifecycle Architecture Review: Preliminary Feedback Valentin Razmov.
Source Code Revision Control Software CVS and Subversion (svn)
Prof. Aiken CS 169 Lecture 71 Version Control CS169 Lecture 7.
RMsis – v Simplify Requirement Management for JIRA
1 Topics for this Lecture Software maintenance in general Source control systems (intro to svn)
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
علیرضا فراهانی استاد درس: جعفری نژاد مهر Version Control ▪Version control is a system that records changes to a file or set of files over time so.
Software Configuration Management (SCM)
Understand Application Lifecycle Management
With Mercurial and Progress.   Introduction  What is version control ?  Why use version control ?  Centralised vs. Distributed  Why Mercurial ?
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
1 Lecture 19 Configuration Management Software Engineering.
22 Jul 2005CSE403, Summer'05, Lecture 12 Lecture 12: Scheduling, Estimation, and Prioritization (Part II) Valentin Razmov.
吳仲理 Using Lean in Application Development to achieve competitive advantage and customer delight N. Balaji Ganesh, WIPRO Technologies 20/12/2013.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Version control Using Git Version control, using Git1.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
1 Brief Introduction to Revision Control Ric Holt.
Version Control with SVN Images from TortoiseSVN documentation
06 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Requirements Gathering Techniques (Part II) Valentin Razmov “The goal of requirements engineering is.
05 Jul 2006CSE403, Summer'06, Lecture07 Administrivia Informal feedback meetings with LCO groups FantasySportsLeague: still to come today Individual assignment.
CPSC 871 John D. McGregor Change management Module 2 Session 3.
18 Aug 2006CSE403, Summer'06, Lecture 25b Lecture 25: Lessons from the History of Software Development (Part III) Valentin Razmov.
11 Aug 2006CSE403, Summer'06, Lecture 22 Lecture 22: Configuration Management Valentin Razmov.
Community Codes Free and shared resource Ongoing distributed development by both research and operational communities – Maintained under version control.
11 Jul 2005CSE403, Summer'05, Lecture 08 Lecture 08: Best Practices for Software Design (Part I) Valentin Razmov.
Source Control Saves Lives. Lorna Mitchell Source Control Saves Lives BarCamp Leeds What is Source Control? Central filestore Change history Audit trail.
Developer Best Practices R.SANTHANA GOPALAN. Developer Best Practices What is Workspace ? The directory where the developer edit the source files, compile,
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
SECTION 1: CODE REASONING + VERSION CONTROL slides borrowed and adapted from Alex Mariakis and CSE 390a Justin Bare & Deric Pang.
07 Jul 2006CSE403, Summer'06, Lecture10 Lecture 10: Core Principles and Best Practices for Software Design (Part I) “Treat design as a wicked, sloppy,
05 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Techniques for Gathering Requirements Valentin Razmov “The goal of requirements engineering is to develop.
Deliverables: Beta Release Installation package Application sources and binaries One-step build for all sources Latest specification & design documents.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
27 Jul 2006CSE403, Summer'06, Lecture 15 Midterm Exam Statistics Other statistics: Average: 40.6 Median: 42.3 Std Dev: 6.2 Max: 46.5 Min: 28 Easiest Problems:
Configuration Management
Managing the Project Lifecycle
LECTURE 2: Software Configuration Management
Subversion Reasons to use How it works Subversion important commands
Configuration Management
Lecture 11: Scheduling, Estimation, and Prioritization
LECTURE 3: Software Configuration Management
SECTION 1: CODE REASONING + VERSION CONTROL
Design and Programming
Estimation, Revision Control, Rose, and More?
Lecture 07: Team Environment Issues (Part I)
Presentation transcript:

10 Aug 2005CSE403, Summer'05, Lecture 15 Lecture 15: Configuration Management, Software Maintenance, and Code Reviews (Part I) Valentin Razmov

10 Aug 2005CSE403, Summer'05, Lecture 15 Outline Configuration management Motivation Challenges Examples Reality

10 Aug 2005CSE403, Summer'05, Lecture 15 Resources The Pragmatic Programmer, by Andrew Hunt and David Thomas Code Complete, by Steve McConnell Rapid Development, by Steve McConnell

10 Aug 2005CSE403, Summer'05, Lecture 15 Configuration Management – What and Why? What: A technique for simultaneously handling multiple versions (configurations) of a set of documents (code) by multiple people Why: (List the two main reasons that you see.)

10 Aug 2005CSE403, Summer'05, Lecture 15 Reasons for Doing Configuration Management Allows multiple people to collaborate in producing a common piece of work without imposing elaborate or overly strict management rules E.g.: “You can only touch the code between 8am and 10am, then it’s my turn.” Reverting to a previous version of the code Undoing undesirable changes Allowing testers to work independently on a different (not latest) release

10 Aug 2005CSE403, Summer'05, Lecture 15 Reasons for Doing Configuration Management (cont.) Tracking changes and project progress metrics Who makes the largest number of changes? How large/extensive are individual changes? Who changes this line of code? Which modules get changed most often? How much did module X change since the last release? In lines of code (LOC), new methods, etc.

10 Aug 2005CSE403, Summer'05, Lecture 15 Splitting source tree into multiple versions / branches and later merging (some of) them Motivation: different customers need / pay for different updates Challenge: avoid duplication of effort across different branches of the tree Central place / repository that keeps an authoritative version of the work Can be properly protected and managed with fewer human resources Everyone knows where to look for things Can run (repeatable) automatic builds & regression tests Reasons for Doing Configuration Management (cont.)

10 Aug 2005CSE403, Summer'05, Lecture 15 High-level Motivation for Configuration Management Maximizing effectiveness of the team Efficient collaboration on a common body of work People can work on snapshots of the system, created at different points in time Robustness (against mistakes) Accountability (of contributors) Managing complexity (and avoiding nightmares)

10 Aug 2005CSE403, Summer'05, Lecture 15 The Hardest Challenges with Using CMS A human has to keep “in mind” all the different configurations and decide which updates to apply to which branches, and when Gets increasingly error-prone with large projects and many branches (releases, customers) Challenges you’ve experienced?

10 Aug 2005CSE403, Summer'05, Lecture 15 Examples of Configuration Management Systems (CMS) CVS / RCS Perforce Subversion Visual Source Safe Roundtable others Note: Not all CMS are created equal.

10 Aug 2005CSE403, Summer'05, Lecture 15 In Reality... Most companies use some CMS Including all companies where I have worked I have heard of companies that don’t use a CMS It is a huge risk for none / dubious cost savings Management can easily buy into using a CMS to reduce risks

10 Aug 2005CSE403, Summer'05, Lecture 15 Relevance of CMS Applicable to all types of valuable documents, not just source code “You don’t need to floss all your teeth – just the ones you want to keep.”