apt configuration management may 25th, 2004 apt configuration management jesse doggett
DESCRIPTION
APT Configuration Management May 25th, Configuration Management ANSI/EIA-649 ANSI/EIA-649 "A management process for establishing and maintaining consistency of a product's performance, functional and physical attributes with its requirements, design and operational information throughout its life." (http://www.pdmic.com/cmic/introtoCM.shtml) Susan Dart Susan Dart "The goals of using CM are to ensure the integrity of a product and to make its evolution more manageable.” (http://www.loria.fr/~molli/cm-index.html)TRANSCRIPT
APT Configuration Management May 25th, 2004
APT Configuration Management
Jesse DoggettJesse Doggett
APT Configuration Management May 25th, 2004 2
Outline for the Talk
What Is Configuration Management?What Is Configuration Management?
APT Development ChallengesAPT Development Challenges
APT CM TechniquesAPT CM Techniques
ConclusionConclusion
APT Configuration Management May 25th, 2004 3
Configuration Management ANSI/EIA-649ANSI/EIA-649
"A management process for establishing and maintaining "A management process for establishing and maintaining consistency of a product's performance, functional and consistency of a product's performance, functional and physical attributes with its requirements, design and physical attributes with its requirements, design and operational information throughout its life."operational information throughout its life." ((http://www.pdmic.com/cmic/introtoCM.shtmlhttp://www.pdmic.com/cmic/introtoCM.shtml))
Susan DartSusan Dart "The goals of using CM are to ensure the integrity of a "The goals of using CM are to ensure the integrity of a
product and to make its evolution more manageable.”product and to make its evolution more manageable.” (http://www.loria.fr/~molli/cm-index.html)(http://www.loria.fr/~molli/cm-index.html)
APT Configuration Management May 25th, 2004 4
Tracking and Controlling Changed
A Little to a LotA Little to a Lot
None for My Web PageNone for My Web Page
Extreme Tactics for All Aspects of Project ManagementExtreme Tactics for All Aspects of Project Management
APT Configuration Management May 25th, 2004 5
APT Development Challenges Code Integrity Code Integrity (Design, Implementation)(Design, Implementation)
Multiple Developers Multiple Developers (Implementation)(Implementation)
Build Availability Build Availability (build, testing)(build, testing)
Release Requirements Release Requirements (release)(release)
APT Configuration Management May 25th, 2004 6
Multiple Classes of Users Multiple Classes of Users (requiements, release)(requiements, release)
Multiple Platforms Multiple Platforms (implement, build, (implement, build, test, release)test, release)
Concurrent Release Development Concurrent Release Development (implement, build, test)(implement, build, test)
More Challenges
APT Configuration Management May 25th, 2004 7
APT CM Practices Good DesignGood Design (design) (design)
Uniform Build SystemUniform Build System (implement, (implement, build)build)
Source Code Control Source Code Control (implement, build)(implement, build)
Automated BuildsAutomated Builds (build, test) (build, test)
APT Configuration Management May 25th, 2004 8
More CM Practices InstallAnywhere Installers Generator InstallAnywhere Installers Generator
Alpha/Beta/Candidate VersioningAlpha/Beta/Candidate Versioning
Regularly Scheduled ReleasesRegularly Scheduled Releases
Documented Release ProceduresDocumented Release Procedures
APT Configuration Management May 25th, 2004 9
APT Organization
Document BrowserDocument Browser
Hierarchical Model for DocumentsHierarchical Model for Documents
Generic Form & SpreadSheet EditorsGeneric Form & SpreadSheet Editors
Plug-and-Play Editor ToolsPlug-and-Play Editor Tools
APT Configuration Management May 25th, 2004 10
APT Configuration Management May 25th, 2004 11
ANT Build System.
ANT is a Java Based ANT is a Java Based Make-Like Make-Like UtilityUtility Incorporates Many File System CommandsIncorporates Many File System Commands Platform IndependentPlatform Independent XMLXML Build Files Build Files
APT Configuration Management May 25th, 2004 12
Simple ANT Buld File<<projectproject name=“myproject” default=“build” basedir=“.”>
<propertyproperty name=“classes” value=“${basedir}/classes”/>
<targettarget name=“build” depends=“init”>
<javajava srcdir=“${basedir}” destdir=“${classes}”/></targettarget>
<targettarget name=“init”>
<mkdirmkdir dir=“${classes}”/></targettarget>
</projectproject>
APT Configuration Management May 25th, 2004 13
CVS Source Code Control
CVS Allows Source Code SharingCVS Allows Source Code Sharing
Branch Tags for Each ReleaseBranch Tags for Each Release
Isolate CodeIsolate Code
Quick FixesQuick Fixes
APT Configuration Management May 25th, 2004 14
APT Configuration Management May 25th, 2004 15
InstallerAnywhere
InstallAnywhereInstallAnywhere Automatically Builds Installers Automatically Builds Installers
Supports Multiple Platform InstallersSupports Multiple Platform Installers
Has a Graphical Interface to Define ProjectsHas a Graphical Interface to Define Projects
Installers Are CustomizableInstallers Are Customizable
Batches Modes AvailableBatches Modes Available
APT Configuration Management May 25th, 2004 16
APT Configuration Management May 25th, 2004 17
Nightly Builds.
Nightly Builds Nightly Builds
Archived Weekly BuildsArchived Weekly Builds
Develop and Delivery Branch BuildsDevelop and Delivery Branch Builds
JavaDocJavaDoc API Documentation API Documentation
APT Configuration Management May 25th, 2004 18
APT Release Scheme
α Alpha Releasesα Alpha Releases
ß Beta Releasesß Beta Releases
Candidate ReleasesCandidate Releases
Bi-Monthly Operational ReleasesBi-Monthly Operational Releases
Phase I, Phase II, Calibration, HotPhase I, Phase II, Calibration, Hot
APT Configuration Management May 25th, 2004 19
Delivery APT
Documented Delivery Procedures a MustDocumented Delivery Procedures a Must
ArchivingArchiving
Quick FixesQuick Fixes
Patching: APTPatches.jarPatching: APTPatches.jar
APT Configuration Management May 25th, 2004 20
Main Strengths and Weaknesses
The latest develop version is always available. Code for each release is isolated. We are very robust to supporting multiple
platforms.
We don’t have a good way to safely manage long term projects (> 2 months).
APT Configuration Management May 25th, 2004 21
Lessons Learned
Automate as much as possible.Automate as much as possible. Use existing proven tools Communicate as much Use existing proven tools Communicate as much
as possible.as possible.
APT Configuration Management May 25th, 2004 22
Conclusion: Top Practices
CVS Source ControlCVS Source Control
Nightly BuildsNightly Builds
33rdrd Party Installer Generator Party Installer Generator
www.stsci.edu/~doggett/cmtalk.htmlwww.stsci.edu/~doggett/cmtalk.html