530 likes | 543 Views
Understand the process of managing software configurations for various projects. Learn about tools, guidelines, and change request processes in software configuration management.
E N D
Software Forum MeetingSeptember 29, 2015 Software Configuration OverviewTina Gilliotti Grzincic
Past Software Project – Tina Gilliotti Grzincic Software Configuration Manager of the following projects: Space Telecommunication Radio System (STRS) • Software CM Tool: CVS/Subversion, Archive: eRoom, Release: STRS website Cryogenic Propellant Storage Transfer (CPST) • Software CM Tools: Subversion/Git, Archive: WindChill, Release: Git Extravehicular Activity (EVA) • Software CM Tool: Subversion, Archive: Sharepoint, Release: Distributed Communication, Navigation, and Networking, reConfigurableTestbed (CoNNeCT) • Software CM Tool: Subversion/JIRA, Archive: eRoom, Release: Intneral Scripts Open Source Multi-Disciplinary Analysis & Optimization ActWorkSp (OpenMDAO) • Software CM Tool: Git/GitHub,TRAC, Archive: Wiki, Release: Source Forge Multi-Disciplinary Analysis and Optimization Activity Workspace (MDAO ) • Software CM Tool: Bazaar/TRAC, Archive: eRoom, Release : Distributed Numerical Propulsion Simulation System (NPSS) • Software CM Tools:ClearCase/ClearTrack, Archive: LiveLink, Release: eRoom Software Engineering Process Group (SEPG) • Software CM Tool:Subversion, Archive: PBMA/others, Release:Software@Glennwebsite Process-Based Economic Analysis Tool (PBEAT) • Software CM Tool, Archive and Release Tool:eRoom PEV, CM FileManager & SSCD • Software CM Tools: ClearCase/ClearTrack Archive: LiveLinkRelease: Internal Script
Overview of Specific Software CM Questions and Structure at the beginning of a Project
Software Configuration Level of Effort The following decisions should be determined by the Project Management and Project Requirements: • Type and Size of Project • Large project with funding for full CM support • Small project that only requires CM on part time basis • Type of Software Configuration control required • Gatekeeper – Central repository, with SCM as controllerto the mainline • Distributed – Multiple person access to the mainline • Type(s) of product(s) to be controlled • Software • Hardware • Documentation (Data) • Combination of multiple types of products
Developing a Software Configuration Process for your Project
Developing a SCM Process Managing a software item as it evolves through the entire life cycle involves: • Uniquely identifying the configurable item, • Updating and refining the configurable item by progressing through the various development levels, • Updating the status, • Implementing changes, • Establishing baselines, • Promoting to the next life cycle phase, • Generating a release of the product. The configuration development process defines the overall sequence of SCM steps taken when establishing baselines that result in the final deliverable.
Define the Project’s Life Cycle Process The OpenMDAO Development Process
Define the Project’s Life Cycle Process CoNNeCT Life Cycle Process
Define the Project’s Life Cycle Process NPSS Project Process
Choose Software Configuration Tools JIRA CPST EVA Subversion WindChill STRS GIT MDAO eRoom NPSS ClearCase & ClearTrack CoNNeCT Subversion
Compare SCM Tools: Which tool will work best for your Project
Develop Guidelines on How the Team will work with Selected Software Configuration Tool(s) Bazaar
Develop Guidelines on How the Team will work with Selected Software Configuration Tool(s) ClearCase Database
Develop Guidelines on How the Team will work with Selected Software Configuration Tool(s) Subversion
Develop a Change Request (CR) Processthat fits the resources and requirements of your Project.
Software Change Request Following are examples of various Software Change Request Forms and Screen Captures from CM Tools: • Software Change Request (SCR) SOFTWARE CHANGE REQUEST FORM.doc • ClearTrack Form Shown in Upcoming Charts • TRAC Form Shown in Upcoming Charts • JIRA States Shown in Upcoming Charts
Overview of Software Configuration Change Processes ClearTrack
Overview of Software Configuration Change Processes TRAC Example TRAC Ticket Tracking&Stats\TicketScreen.doc
Overview of Software Configuration Change Processes JIRA States that define the JIRA process for CoNNeCT: • OPEN – Any stakeholder can open a CR. • ASSIGNED – Management assigns Developer. • READY_FOR_REVIEW – Developer notify review team. • READY_MERGE – Developer notification to SCM. • BUILT - SCM builds and provides electronic build. Change set or Full Build to V&V • READY_TEST - SCM contacts V&V – confirmation that it loads, initializes and can run some simply tests. • RELEASE (combine of many JIRAs) SCM produces a formal Release that get JIRA tested
Release and Build term definitions • Builds: Can either be an incremental build and an official build. • Release: The official version release of a software product should contain everything that is part of the incremental build plus a Version Description Document (VDD). • The Build/Release process is audited when an official version is released. • The new Release number would reflect [Major.Minor.Daily] for either an incremental or full builds. Defined as follows: • Major designation of software - like the value “1” in a version designation of “1.0”. • Minor designation of software - like the value “2” in a typical version designation of “1.2”. • Daily designation of software – like an ALPHA or a Numeric and tracks only change sets (delta’s)
mainline working_main fixline development branches Tags are applied only after all tests pass. 0.0.1 micro build SCM builds and runs mainline tests. V&V verifies build. SCM commits the merged files and applies the 0.0.1 build tag. Development may be done outside of the NASA systems… T… tag T22 branch is created Merge T22 and any other tickets T22 ticket T22-(desc) branch SCM builds and runs mainline tests. V&V finds problems with the T6 build during verification. Release Scenario No tag T22-(desc) branch is merged T22 tag V&V opens a new ticket, T45, and works with the developer to fix all issues that were found on theT6 build. With concurrence from V&V and development the T45 ticket is documented and transitioned in Trac. The developer commits all changes and applies the T45 tag. T45 branch is created T6 branch is created Merge T6 SCM merges T45 to mainline T6-(desc) branch is merged T6 tag T15 branch is created 0.0.2 micro build SCM builds and runs mainline tests. V&V verifies build. SCM commits the merged files and applies the 0.0.2 build tag. T17 ticket T15 ticket T6 ticket T… ticket T45 ticket T17- (desc) branch T15- (desc) branch T6- (desc) branch T…- (desc) branch T45 tag T15 tag T15-(desc) branch is merged Merge T15 SCM builds and runs mainline tests. V&V builds a complete set of required eggs and they also perform external testing. The SCM commits and tags the release with REL 0.0.3. T17 branch is created SCM merges the updates from 0.0.2 back to the working_main REL0.0.3 release T… branch is created No tag REL0.0.3 is Deployed to Public T17-(desc) branch is merged 0.0.4 micro build Future micro build Future Merge T17 Future merge T17 Tag Updated: 9:50 11/3/09
Log all CRs and Map each one back to the Release the CR was included in.
Software Configuration – Version Description Document (VDD) With each official version release of a software product the Release package should contain: • Version Description Document (VDD)Releases\GRC-CONN-VDD-0864-PAS-Version-Description-Document 053112.docx • Any required documentation (i.e.) Project Documents, Installation Documentation, Test Plan/Reports.
Tracking each CR and adding it to the Release Notification
Reporting Project Statistic These types of reports may be helpful to Management in the following areas: • Gaining extra or needed funding for the Project • Obtaining Extra Personnel • New Hardware • Extra Software Licenses • Extending the Schedule • Removing some Requirements / Deliverables • Asking External Partners for In-Kind support or funding
NPSS Change Requests(CRs) Total Number of CRs = 2327 344 ACTIVECRs 1977 CLOSED CRs
NPSS Release Packages NPSS V130 NPSS V120 NPSS V140 NPSS V110 NPSS V150 NPSS V100 NPSS V160 NPSS V161 NPSS V162 NCP V100 NPSS V163 NPSS V164 BETA NPSS V165 Total of 1544 Incorporated Change Requests
NPSS Active 301 Change Requests (CRs) Listed by submitting Company Total7 Total2 Total3 Total67 Total55 Total160 Total6 Total1
OpenMDAO Ticket Type Breakdown Total of 110 Tickets
Software Configuration – Lessons Learned from CoNNeCT Project
JIRA Breakdown per State Total Non-Incorporated JIRAs = 104 • OPEN JIRAs = 46 • In Progress = 18 • Reopen = 3 • Resolved = 37 -------- Total 104
OPEN JIRA per Owner • Dale Walter = 22 • Gus Gemelas = 7 • Andy Jalics = 6 • Larry Vincent = 4 • Mark Nissel = 3 • Doug Reese = 1 • Tina Grzincic = 1 • Nick Tollis = 1 • Lindsey Winford = 1 Total 46