Endevoris a software change management tool used to control (secure, manage, and track) changes to an organization's software inventory.
Endevoris highly customizable.
The product must be configured to support a logical software development lifecycle and inventory structure, which is described using the following terms:
- ElementEndevor. Each Element is identified by a fully-qualified name consisting of its location in the lifecycle (the environment and stage combination) and its classification (System, Subsystem, and Type) and Element name. Users perform actions against Elements. If an Element is changed, a new level of the Element source is created. The current level of the Element includes the latest changes. Earlier levels can be viewed, compared, and restored if necessary.
- Actions— Commands used to management Elements. Actions include Add, Archive, Copy, Delete, Display, Generate, List, Move, Print, Restore, Signin, Transfer, Update, and Validate.
- Environment— Logical work areas. Anenvironmentis the top level of the logical structure used to classify elements inEndevor. Environments usually correspond to functional levels in an organization (for example, development, quality assurance, and production). Each environment has two stages.
- Stage— A stage in the software lifecycle. Two stages are defined for each Environment.
- -- Defined as an Environment and Stage combination, which indicates the area in the lifecycle where an Element resides. A typical simple lifecycle includes the following areas, known as Environments: development, QA, and production. The software code that is currently in use, resides in the production Environment. So, when a developer needs to make a change, they retrieve the code from the Production Environment back to the Development Environment. Then the code is moved to the QA Environment, and then to Production Environment. The typical simple lifecycle includes the following Environment and Stage combinations:Lifecycle location
- Development Stage 1 (DEV S1)— The unit test stage, of the development environment where sandbox Subsystems can be added for development of code changes.
- Development Stage 2 (DEV S2)— The unit test complete stage, of the development environment where the code changes developed in stage one can be moved when completed and awaiting promotion to QA S2.
- QA Stage 1 (QA S1)— Stage 1 of the quality assurance environment that is used
- QA Stage 2 (QA S2)— Stage 2 of the quality assurance environment that is used for the integration of code changes and QA certification.
- Production Stage 2 (PRD S2)— Stage 2 of the production environment that is used for production or published PTFs.
- Lifecycle Map
- Inventory classification
- A one- to five-character product identifier for the development code line. For example, to identify the development code line for a software application called "Online Banking," the System might be named: ONLB
- A one- to five-character product identifier plus a release number (xxx) for a GA software application release code line. For example, if the GA software is release 14.0, the System name might be: ONLB140
- Element delta formatThe element Type storage formats are compared in this table:Element FormatCurrent LevelPrior LevelsElement Base LevelDelta Level FilesReverse deltaComplete imageCurrent levelShow changes between each level.Forward deltaTo create the current level, all the delta levels are applied to the element base.The image is as it was first added toEndevorShow changes between each level.Image deltaComplete imageCurrent levelEach delta file is a complete image, because changes between levels are not compared.log deltaComplete imageCurrent levelEach delta file contains change information, but not source code changes. Data in the Source Level Information area in an element browse and summary display comes from information stored on the change level delta records.
- Processor groups
- Master Control FileEndevorto manage the Element definitions, to execute Processors, and for other miscellaneous functions. There is one Master Control file for each Stage. The name of the file that corresponds to a particular Stage is specified in the Defaults table, C1DEFLTS.
- PackageEndevoractions that requires approval before it can be executed. Creating packages allows the user to group specific actions so they can be maintained and tracked as a single unit, establish formal approval procedures to ensure data integrity through modifications, and centralize specific action groups so you can see them across environments and reuse them.
- Package Data Set
- User exitsEndevorprovides logic points that can invoke a program that runs outside of the control ofEndevor.
- Configuration filesEndevoradministrator to customize the implementation.
- C1DEFLTS--The Defaults table contains site-wide information includingEndevorcontrol data set names, and settings available forEndevorfeatures, and the names of other configuration tables.
- The following table describes each table and identifies the corresponding C1DEFLTS parameter in the Defaults table.Delivered Table NameDescriptionC1DEFLTS ParameterBC1TNEQUESI Security Definition TableACCSTBLC1DEFLTSDefaults TableN/AC1GTAPGMAuthorized Program TableN/AC1LIBRSQLibrarianLanguage Definition TableN/AC1PTCNTLPanvalet++CONTOL Password Interface ProgramN/AC1UEXITSUser Exits TableEXITTBLENCOPTBLOptional Features TableOPTTBLENDICNFGISPF Configuration TableCNFGTBLESMTPTBLEmail ID TableESMTPTBLESYMBOLSSite Symbolics TableSYMBOLTBL
Example: Sample Product Maintenance Lifecycle for a Software Application
This graphic illustrates a sample lifecycle for the development and maintenance of a software application for Online Banking.
- In the top row is System ONLB that identifies that this is the development code line (trunk) for the Online Banking application
- The bottom two rows are GA code line (branches):
- ONLB140 is the System name, which identifies the GA code branch for the Online Banking application code for release 14.0.
- ONLB150 is the System name, which identifies the GA code branch for the Online Banking application code for release 15.0.
- The arrows between the stages indicate how the stages are mapped to move the software inventory from stage to stage. The mapping is predefined in the Defaults table configuration file as: DEV S1-->DEV S2-->QA S2-->PRD S2
- For both GA code lines:
- The arrow with solid lines indicate the build of the GA Code branch from the PRD location of the Development trunk when the GA candidate is created.
- The arrows with dotted lines indicate the published maintenance artifacts being transferred to the Subsystem of the same release.