1 / 40

Software Configuration Management

Software Configuration Management. Diego N. Pamio Software Configuration Manager Software and Solutions Group Oct 31 – Dec 5, 2007. ICE Breaker #1. “Truth and lies” I’ve never been on a business travel overseas. I had an interview with Bjarne Stroustrup. (creator of C++). I’m 29.

tyme
Download Presentation

Software Configuration Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Configuration Management Diego N. Pamio Software Configuration Manager Software and Solutions Group Oct 31 – Dec 5, 2007

  2. ICE Breaker #1 • “Truth and lies” • I’ve never been on a business travel overseas. • I had an interview with Bjarne Stroustrup. (creator of C++). • I’m 29. • I’m a magician. • I play guitar. • I’ve started teaching at universities 5 years ago. • I was in France last year giving a presentation about Processes and CMMI in the European SEPG Congress. • I used to practice fencing.

  3. Eng. Diego N. Pamio (diego.pamio@intel.com) SWE Experience Software Developer Process Engineer Software Configuration Manager SCM Experience Large Corporations Small Companies Startups Teaching Experience University Teaching Computer Graphics Quality Management Systems Enterprise Trainer/Coacher Seminars SWE Eng. Process/CMMi SCM About the presenter

  4. About the attendees • Present yourself • (nick)Name • SWE Related Education • Professional experience/background • Previous knowledge on SCM (if any) • Distinctive tag

  5. About the course • First time • Previous & Related: SCM Seminar • Why a course on SCM? • Fill the gap • Prepare people for current work environments • Teach to teach

  6. Course Topics Introduction Tools Concepts Activities

  7. Configuration Management Introduction Course Presentation Context of the SCM discipline What SCM is and what SCM is not State of the Practice State of the Art Resources on SCM Course Topics

  8. SCM Concepts Configuration Configuration Item Versions, revisions, and evolutions Labels Baseline Course Topics

  9. SCM Activities Configuration Identification Change Control Status Accounting Audits Build Management Release Management SCM Planning Course Topics

  10. SCM Tools Introduction Types of tools to aid SCM. Versioning Tools. Distributed vs. Centralized. Change Management Tools. Comparison Criteria. OpenSource Tools. Microsoft Workshop: Visual Source Safe Doing de basics. Microsoft SCC IBM-Rational Workshop: ClearCase Perforce Workshop: P4, P4Web OpenSource SCM Workshop: Subversion. TortoiseSVN Distributed SCM Workshop: Mercurial Other tools: Accurev, PlasticSCM, CVS, PCVS Course Topics

  11. Logistics and Rules

  12. Specific Course Objectives • Understand the scope and components of the SCM discipline. • Comprehend the importance of SCM in SWE. • Get knowledge and know-how apply SCM terminology. • Comprehend the different SCM strategies and approaches and know when to apply each one and which tools supports each one of them. • Be able to perform the basic SCM related activities of any SWE Engineer, using different tools.

  13. Level of Skills Evaluation Synthesis Analysis Application Comprehension Knowledge • Bloom’s Taxonomy

  14. Exam • At the end of the course, of course. • Weighted Multiple Choice+Exercise resolution • Open-wikipedia • Levels of skills to be evaluated: • Knowledge (trivial) • Comprehension • Applicatoin • Exam Report

  15. Context of SCM

  16. Relationship with SW Engineering Software Engineering Body of Knowledge ASQ Certified SW Engineer Body of Knowledge FDD Best Practices Configuration Management Configuration Management Configuration Management Domain Obj. Modeling General, Ethics Requirements Project Management Regular Builds Methods and Tools Develop by Feature Construction Quality Management Project Management Design Processes Inspections Processes Individual Ownership Testing Metrics Feature Teams Quality Visibility of Progress Maintenance Verification & Validation

  17. What is SCM Integrity Work in teams Manage the Change Recover the past

  18. What else? • Adictive (in the good sense) • Challenging • Sometimes hard-to-solve problems • Plenty of Professional Judgement involved • Disciplined

  19. and what is not • Process • See SWE BoK • Quality • See SWE BoK • CMMi • A Tool, any tool, all the tools together • Configuration MANAGEMENT, not SLAVERY.

  20. SCM Myths • SCM is Difficult, monotonous, and time consuming • It is worth only when you are working in (big) teams • It is worth only when you have distributed development • Is just for the source code • Is expensive • Software development can succeed without SCM

  21. What can be achieved • Retrieve the source code of a 2 years old released version of a product, patch it and deliver it for an specific customer • Never loose work “because someone else overwrite it” • Seamless propagate changes (fixes, features) from one version or development branch to other • Demonstrate that the bug was not introduced by you! • DON’T BE SCARED WHEN YOU DELIVER!

  22. State of the practice

  23. Garages, Factories and Techno-centers • Garages: • Though, but possible. • Must be really cheap to be implemented. • Factories: • The Best Place for SCM. • Repeatability is a undoubted value. • Tecno-centers: • A real challenge. • Diversity of work

  24. Evolution of the practice in space-time There Here Here-There • Bureaucratic use of SCM 5 years ago Now

  25. State of the art

  26. ALM • Application Lifecycle Management • Flow of activities between phases (includes all of them) • IDEs taking big part of it • New age: ALM developer-centric • Is ALM SCM? ALM Process Enacting Configuration Management Project Management

  27. Centralized vs. Distributed • Centralized: • One server, where “shared” items live • Private workspaces • Distributed • Each one versions its work • The way to “share” is to ask to a trusted party for their work

  28. The war of tools • Tools Suppliers are fighting to gain market share on: • Versioning Tools • Change and Defect Management Tools • Application Lifecycle Management • Entry Points • Features • Visualization • IDEs Integration

  29. Resources on SCM

  30. IEEE and other associations • Standards available in the IEEE. • Not free • Somewhat outdated. Update in progress. • Mostly useful for planning • IEEE’s SWEBOK has a very clear description of the boundaries and components of SCM • ACM and IEEE has lots of SCM papers

  31. Web Portals • Wikipedia • As with everything else • CM Crossroads • Largest SCM portal • Articles, webminars and blogs • Even Podcast

  32. SCM Patterns • Brad Appleton introduced the concept of Patterns applied to SCM (brought from the Design Patterns arena) • Brief Description available @ www.scmpatterns.com • Full content only in a book

  33. YouTube? • Not only for fun (ClearCase vs. Accurev, Homer’s Build process, or CruiseControl for kids) • Some software tools demos available (e.g.: Codice Software) • Google long seminars videos on new SCM approaches (descentralized SCM) • Linus Torvalds on Git (yes, Linus) • Bryan O'Sullivan on Mercurial • Other not-so-interesting talks about Predicting bugs in code changes using SCM information • UTN Seminar on SCM (coming soon!)

  34. Ice Breaker II • Take a Bingo card • Start collecting participant’s names (+ initial of surname) • When you fill a row, shout “BINGO!!” you win. • Second round: Complete the entire card.

  35. Ice Breaker III - Biggest SCM Disasters • ESA rocket for launching satellites • Crashed 40 seconds after first launch in 1996, cost about US$500 million • SRI = Inertial Reference System: a bunch of gyroscopes and stuff, attached to a computer • Software reused from Ariane 4 • Was only needed before launch • After launch, a variable went out of range, the overflow caused a system crash. • Exception handling had been disabled to improve performance. • The team proved it couldn’t go out of range. • But the proof was only valid for Ariane 4, not Ariane 5.

  36. Ice Breaker III - Biggest SCM Disasters • Córdoba Software – 2001 • Software System developed to consolidate account balance between different departments in a company • The function was run over a different database configuration • It deleted all the accounts information • We have to rebuild the information from printed records • Today: Córdoba Software has a strong configuration management approach, supported by tools which avoids this kind of problems.

  37. Ice Breaker III - Biggest SCM Disasters • Motorola, myself, 2002 • Skills Database tool internal development • Small and young team • Three different environments: development, test and production • Testing of v1.1 was run, obviously, on the TEST environment • But the database connection on the repository wasn’t reverted to the TEST environmnet, and thus, kept pointing to the PRODUCTION database. • Result: The Admin became a C++ expert and the Process & Quality Manager appeared to have no knowledge of CMMI • It was an exception due the characteristics of the team and the project (internal, low risk)

More Related