{"id":228,"date":"2026-10-12T21:51:14","date_gmt":"2026-10-12T21:51:14","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/2010\/03\/21\/power-point-ppt-scm-with-mks-integrity-2\/"},"modified":"2026-10-12T21:51:15","modified_gmt":"2026-10-12T21:51:15","slug":"power-point-ppt-scm-with-mks-integrity-2","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/power-point-ppt-scm-with-mks-integrity-2\/","title":{"rendered":"SCM with MKS Integrity: Workflow, Tool Comparison, and Practical Governance"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Source code management (SCM) with MKS Integrity helps teams that need centralized control, audit trails, and strict change governance. This revised guide explains the SCM model, shows a practical workflow, and maps it against modern alternatives so you can run or modernize legacy environments safely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Originally published on 2010-03-21; fully revised and updated.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The original post was a SlideShare embed (ID: 1117753) with no written technical walkthrough. This version is an independent, implementation-focused reference based on standard SCM practices and common MKS Integrity usage patterns. Original post: <a href=\"https:\/\/www.devopsschool.com\/blog\/power-point-ppt-scm-with-mks-integrity-2\/\">Power Point PPT: Scm With Mks Integrity<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What MKS Integrity means in an SCM program<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MKS Integrity (later known in PTC product branding as Integrity \/ Windchill RV&amp;S) is generally used as a <strong>centralized SCM and lifecycle management<\/strong> system. Teams typically rely on it when they need clear traceability from change request to code change to release baseline.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Centralized repository and controlled check-in\/check-out flow.<\/li><li>Association of source changes with change requests or work items.<\/li><li>Baselines for repeatable builds and release audits.<\/li><li>Promotion states or gated progression toward release.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Typical centralized SCM workflow<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A robust MKS-style workflow emphasizes approval, traceability, and controlled promotion rather than unrestricted branching. The diagram below shows a common pattern.<\/p>\n\n\n\n<pre class=\"mermaid\">\nflowchart TD\n    A[Change request approved] --> B[Create task or work item]\n    B --> C[Checkout files to sandbox]\n    C --> D[Implement and test changes]\n    D --> E[Check in with change ID]\n    E --> F[Run CI build and validation]\n    F --> G{Quality gates pass}\n    G -- no --> C\n    G -- yes --> H[Create baseline]\n    H --> I[Promote to release stream]\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">MKS Integrity vs Git and Subversion<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Option<\/th><th>Model<\/th><th>Strengths<\/th><th>Trade-offs<\/th><th>Best fit<\/th><\/tr><\/thead><tbody><tr><td>MKS Integrity<\/td><td>Centralized SCM with lifecycle linkage<\/td><td>Strong process control, baseline discipline, and auditability<\/td><td>Can feel heavyweight for rapid branch-per-feature workflows<\/td><td>Regulated or legacy enterprise delivery<\/td><\/tr><tr><td>Git-based platforms<\/td><td>Distributed SCM<\/td><td>Fast branching, broad ecosystem, strong CI\/CD integrations<\/td><td>Traceability quality depends on team conventions and policy enforcement<\/td><td>Modern cloud-native and high-collaboration teams<\/td><\/tr><tr><td>Subversion (SVN)<\/td><td>Centralized SCM<\/td><td>Straightforward centralized model, simpler migration path from older SCMs<\/td><td>Less flexible branching workflow than Git<\/td><td>Teams wanting centralized SCM without full ALM coupling<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Example controls you can implement today<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If your organization runs mixed tooling (for example, legacy centralized SCM plus Git for newer services), enforce a shared traceability standard. The examples below are practical and tool-agnostic.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># Branch and commit using a change-request ID convention<\/span>\ngit checkout -b feature\/CR<span class=\"hljs-number\">-1042<\/span>-session-timeout\ngit add .\ngit commit -m <span class=\"hljs-string\">\"CR-1042: adjust session timeout handling\"<\/span>\ngit push -u origin feature\/CR<span class=\"hljs-number\">-1042<\/span>-session-timeout<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\">#!\/usr\/bin\/env bash<\/span>\nset -euo pipefail\n\nLAST_MSG=<span class=\"hljs-string\">\"$(git log -1 --pretty=%B)\"<\/span>\n<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"$LAST_MSG\"<\/span> | grep -Eq <span class=\"hljs-string\">'^CR-&#91;0-9]+:'<\/span> || {\n  <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"Commit message must start with CR-1234:\"<\/span>\n  <span class=\"hljs-keyword\">exit<\/span> <span class=\"hljs-number\">1<\/span>\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript language-yaml\">traceability_policy:\n  require_change_id: <span class=\"hljs-literal\">true<\/span>\n  <span class=\"hljs-attr\">commit_pattern<\/span>: <span class=\"hljs-string\">\"^CR-&#91;0-9]+:\"<\/span>\n  <span class=\"hljs-attr\">require_peer_review<\/span>: <span class=\"hljs-literal\">true<\/span>\n\n<span class=\"hljs-attr\">release_policy<\/span>:\n  require_green_ci: <span class=\"hljs-literal\">true<\/span>\n  <span class=\"hljs-attr\">require_approved_work_items<\/span>: <span class=\"hljs-literal\">true<\/span>\n  <span class=\"hljs-attr\">require_baseline_or_tag<\/span>: <span class=\"hljs-literal\">true<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Common pitfalls<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Weak change-to-code linkage (for example, missing change IDs in commits\/check-ins).<\/li><li>Creating baselines too late, which makes release reconstruction difficult.<\/li><li>Treating centralized SCM as a file store instead of a governed process.<\/li><li>Skipping automated validation gates before promotion.<\/li><li>Running legacy SCM without a documented modernization or support plan.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The original post only embedded a SlideShare deck, so this rewrite provides a full technical reference on SCM with MKS Integrity. You\u2019ll get a clear workflow, a comparison with Git\/SVN, and practical traceability controls.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[68],"tags":[],"class_list":["post-228","post","type-post","status-publish","format-standard","hentry","category-operating-systems"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=228"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/228\/revisions"}],"predecessor-version":[{"id":79048,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/228\/revisions\/79048"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}