|
||||||||||||||||
|
||||||||||||||||
| ||||||||||||||||
DMG/PMML Change Management ProcessIntroductionThis is a description of the change management process adapted by the DMG. It is built around the Mantis Bug Tracker and the GIT Repository (browse-able here), both available on SourceForge PMML Project. The key goals of the process are:
Issue TrackingChanges to standard are made to either correct defects (bug fixes) or support new features (including enhancements to existing features). Every request for change is being tracked as a Mantis issue. The life-cycle of an issue includes the following statuses:
Source ControlWe are using GIT for maintaining released versions of PMML, along with branches for approved resolutions and working proposals. For more information about GIT, see using-git.html. We maintain three kind of branches:
In order to reap the benefits of using the source control system, different versions of each file should be easily diff-ed and compared. For this reason, it is critical that checked in HTML files use consistent formatting. Appropriate scripts and instructions are included in the bin folder that should be used to check, correct, and reformat HTML files as necessary. In the future, it may be possible to automatically call these scripts for every checked in file to ensure consistency. ProcessThe PMML change management process is present below, broken down to five different tasks: reporting new issues, reviewing active issues, resolving issues, planning releases, and releasing new versions. Report a New IssueA new issue can be reported to identify a defect of the published standard, request an enhancement, or propose new feature. Go to Report Issue page and enter all relevant information. Please make sure you select a category, indicate severity, enter a descriptive enough (but short) summary, and provide a full description. If necessary, you may use the additional information field to add extensive details. You may also upload files related to the issue. Issue ReviewIssues are being reviewed by DMG on the bi-weekly regular call. The review has three goals:
CONFIRMED and CLOSED issues are not considered during this review. Release PlanningDMG holds release planning meetings (quarterly, semi-annually, and/or part of the annual face-to-face meeting) to allocate CONFIRMED issues in future version releases. Each issue tied to a particular version is ASSIGNED to DMG member. The assignee (or owner) of the issue is the lead person responsible for the resolution of the issue (see below). When a new version is planned, the release manager creates the corresponding approved branch for the version our of the latest version of the master branch (see Source Control above) Resolving an Issue (Proposals)The assignee (owner) of an issue takes the lead for making and updating a proposal to resolve the issue. The owner must:
This process requires familiarity with GIT and the ability to run the HTML clean up scripts, including tidy. It also requires sufficient access privileges to the PMML GIT repository. If, for some reason, you cannot execute all the tasks yourself, you may identify someone as your "proxy committer" (e.g. the release manager). Proposed changes checked in the source control system are reviewed by DMG during the regular issue review calls. The GIT web browse facilities, including differences between version, can be used to review changes. If recommendations for further changes are made, the owner repeats the change steps above in preparation for the next review. Resolution ApprovalWhen no more changes are recommended for an issue, the resolution is ready to be voted on. The status of issue changes to RESOLVED. At the same time, it is assigned to the release manager who announces (by email) the call for vote and tracks submitted votes. Upon approval, the working branch for the issue is merged to the appropriate version approved branch by the release manager. The release manager also marks the corresponding issue as CLOSED. Version ReleaseWhen all issues associated with a particular (target) version are closed, that version is ready to be released and made publicly available as the new standard. The release manager has to perform the following tasks:
|
||||||||||||||||
|