Find White Papers
Home
About Us
List Your Papers
    
> Perforce Software Inc. > High-level Best Practices in Software Configuration Management

High-level Best Practices in Software Configuration Management

White Paper Published By: Perforce Software Inc.

When deploying new software configuration management (SCM) tools, implementers sometimes focus on perfecting fine-grained activities, while unwittingly carrying forward poor, large-scale practices from their previous jobs or previous tools. The result is a well-executed blunder. This paper promotes some high-level best practices that reflect the authors’ experiences in deploying SCM.



Tags : 
perforce, software configuration management, scm, best practices in scm, scm deployment, software development, enterprise applications, best practices

Perforce Software Inc.
Published:  Jan 13, 2009
Type:  White Paper
Length:  12 pages

High-level Best Practices
in Software Configuration
Management
Laura WingerdVice President of Product TechnologyPerforce Software Inc.Christopher SeiwaldPresident & CTOPerforce Software Inc.
Eighth International Workshop onSoftware Configuration ManagementBrussels, July 1998AbstractWhen deploying new software configuration management (SCM) tools, implementers sometimes focus on perfecting fine-grained activities, while unwittingly carrying forward poor, large-scale practices from their previous jobs or previous tools. The result is a well-executed blunder. This paper promotes some high-level best practices that reflect the authors' experiences in deploying SCM.
Introduction"A tool is only as good as you use it," the saying goes. As providers of software configuration management tools and consultants to software companies, we are often asked for sound advice on SCM best practices - that is, how to deploy SCM software to the maximum advantage. In answering these requests we have a bounty of direct and indirect SCM experience from which to draw. The direct experience comes from having been developers and codeline managers ourselves; the indirect experience comes from customer reports of successes and failures with our product (Perforce) and other SCM tools.
The table below lists six general areas of SCM deployment, and some coarse-grained best practices within each of those areas. The following chapters explain each item.
Workspaces . Don't share workspaces.Where developers build, test, and debug. . Don't work outside of managed workspaces.. Don't use jello views.. Stay in sync with the codeline.. Check in often.
Codelines . Give each codeline a policy.The canonical sets of source files. . Give each codeline an owner. 1. Have a mainline.
Branches . Branch only when necessary.Variants of the codeline. . Don't copy when you mean to branch.. Branch on incompatible policy.. Branch late.. Branch, instead of freeze.
Change Propagation . Make original changes in the branch that has evolved the least Getting changes from one codeline to another. since branching.. Propagate early and often.. Get the right person to do the merge.
Builds . Source + tools = product.Turning source files into products. . Check in all original source.. Segregate built objects from original source.. Use common build tools.. Build often.. Keep build logs and build output.
Process . Track change packages.The rules for all of the above. . Track change package propagations.. Distinguish change requests from change packages.. Give everything an owner.. Use living documents.The Workspace changes are caused by external events The workspace is where engineers edit beyond your control. A typical example of a source files, build the software components jello view is a workspace built upon a tree of they're working on, and test and debug what symbolic links to files in another workspace they've built. Most SCM systems have some - when the underlying files are updated, your notion of a workspace; sometimes they are workspace files change. Jello views are a called "sandboxes", as in Source Integrity, source of chaos in software development. or "views", as in ClearCase and Perforce. Debug symbols in executables don't match Changes to managed SCM repository files the source files, mysterious recompilations begin as changes to files in a workspace. occur in supposedly trivial rebuilds, and The best practices for workspaces include: debugging cycles never converge - these are just some of the problems. Keep your Don't share workspaces workspaces firm and stable by setting them A workspace should have a single purpose, up so that users have control over when such as an edit/build/test area for a single their files change.developer, or a build/test/release area for a product release. Sharing workspaces Stay in sync with the codelineconfuses people, just as sharing a desk As a developer, the quality of your work does. Furthermore, sharing workspaces depends on how well it meshes with other compromises the SCM systems ability to peoples' work. In other words, as changes track activity by user or task. Workspaces are checked into the codeline, you should and the disk space they occupy are cheap; update your workspace and integrate those don't waste time trying to conserve them. changes with yours. Don't work outside of managed As an SCM engineer, it behooves you to works... [download for more]

Browse Technology Topics

Data Center

Virtualization, Cloud Computing, Infrastructure, Design and Facilities, Power and Cooling, Green Computing  
    

Data Management

Application Integration, Analytical Applications, Business Intelligence, Configuration Management, Database Development, Data Integration, Data Mining, Data Protection, Data Quality, Data Replication, Database Security, EDI, SOAP, Service Oriented Architecture, Web Service Management, Data Warehousing  
    

Enterprise Applications

Application Integration, Application Performance Management, Best Practices, Business Activity Monitoring, Business Analytics, Business Integration, Business Intelligence, Business Management, Business Metrics, Business Process Automation, Business Process Management, Call Center Management, Call Center Software, Change Management, Corporate Governance, Customer Interaction Service, Customer Relationship Management, Customer Satisfaction, Customer Service, EBusiness, Enterprise Resource Planning, Enterprise Software, EProcurement, Extranets, Groupware Workflow, HIPAA Compliance, IP Faxing, IT Spending, Marketing Automation, Performance Testing, Product Lifecycle Management, Project Management, Return On Investment, Risk Management, Sales & Marketing Software, Sales Automation, Server Virtualization, Simulation Software, Supply Chain Management, System Management Software, Total Cost of Ownership, Video Conferencing, Voice Recognition, Voice Over IP, Workforce Management, Incentive Compensation, Spend Management, Manufacturing Execution Systems, International Computing  

Human Resource Technology

Human Resources Services, Payroll Software, Time and Attendance Software, Workforce Management Software, Financial Management, Employee Monitoring Software, Employee Training Software, Recruiting Software/Services, Employee Performance Management, ELearning, Benefits Management, Expense Management  
    

IT Career Advancement

Cisco Certification, Microsoft Certification, Linux Certification, Network Security Certification, Software Development Certification  

IT Management

Employee Performance, ITIL, Productivity, Project Management, Software Compliance, Sarbanes Oxley Compliance, Service Management, Desktop Management  
    

Knowledge Management

Collaboration, Collaborative Commerce, Contact Management, Content Delivery, Content Integration, Content Management System, Corporate Portals, Customer Experience Management, Document Management, Information Management, Intranets, Messaging, Records Management, Search And Retrieval, Search Engines, Secure Content Management, SLA  

Networking

Active Directory, Bandwidth Management, Convergence, Distributed Computing, Ethernet Networking, Fibre Channel, Gigabit Networking, Governance, Grid Computing, Infrastructure, Internetworking Hardware, Interoperability, IP Networks, IP Telephony, Local Area Networking, Load Balancing, Migration, Monitoring, Network Architecture, Network Management, Network Performance, Network Performance Management, Network Provisioning, Network Security, OLAP, Optical Networking, Quality Of Service, Remote Access, Remote Network Management, Server Hardware, Servers, Small Business Networks, TCP/IP Protocol, Test And Measurement, Traffic Management, Tunneling, Utility Computing, VPN, Wide Area Networks, Green Computing, Cloud Computing, Power and Cooling, Data Center Design and Management, Colocation and Web Hosting  
    

Platforms

AS/400, Domino, Linux, Microsoft Exchange, Oracle, PeopleSoft, SAP, Siebel, Solaris, Tivoli, Unix, Web Sphere, Windows, Windows Server  

Security

Access Control, Anti Spam, Anti Spyware, Anti Virus, Application Security, Auditing, Authentication, Biometrics, Business Continuity, Compliance, DDoS, Disaster Recovery, Email Security, Encryption, Firewalls, Hacker Detection, High Availability, Identity Management, Internet Security, Intrusion Detection, Intrusion Prevention, IPSec, Network Security Appliance, Password Management, Patch Management, Phishing, PKI, Policy Based Management, Security Management, Security Policies, Single Sign On, SSL, Secure Instant Messaging, Web Service Security, PCI Compliance, Vulnerability Management  
    

Software Development

.NET, C++, Database Development, Java, Middleware, Open Source, Software Outsourcing, Quality Assurance, Scripting, SOAP, Software Testing, Visual Basic, Web Development, Web Services, Web Service Security, XML  

Storage

Backup And Recovery, Blade Servers, Clustering, IP Storage, ISCSI, Network Attached Storage, RAID, Storage Area Networks, Storage Management, Storage Virtualization, Email Archiving, Data Deduplication  
    

Wireless

802.11, Bluetooth, CDMA, GPS, Mobile Computing, Mobile Data Systems, Mobile Workers, PDA, RFID, Smart Phones, WiFi, Wireless Application Software, Wireless Communications, Wireless Hardware, Wireless Infrastructure, Wireless Messaging, Wireless Phones, Wireless Security, Wireless Service Providers, WLAN  
Search