IF4IT Home

The International Foundation for Information Technology

IF4IT is International
Discipline Quick Links
A B C D E F G
H I J K L M N
O P Q R S T U
V W X Y Z
Disciplines Master Index
Glossary Quick Links
A B C D E F G
H I J K L M N
O P Q R S T U
V W X Y Z
Glossary Master Index

Home Page for the Information Technology (IT) Discipline

"Source Code Configuration Management (SCCM)"


Table of Contents

Introduction: Introduction to Source Code Configuration Management (SCCM)
Framework: Using This Artifact as a "Source Code Configuration Management (SCCM) Framework"
Key Terms: Key Terms for Source Code Configuration Management (SCCM)
Glossary: The "Source Code Configuration Management (SCCM) Glossary"
Capabilities: Source Code Configuration Management (SCCM) as an Enterprise Capability
Ownership: Clearly Defined Source Code Configuration Management (SCCM) Ownership is Critical for Success
Verbs and Actions: Understanding Why Verbs and Actions are Important to Source Code Configuration Management (SCCM)
Roles: Key Verb and Action Driven Roles For Source Code Configuration Management (SCCM)
Taxonomy: Understanding Source Code Configuration Management (SCCM) Classifications or Categorizations
Ontology: Source Code Configuration Management (SCCM) Ontology as a Means for Language Standardization
Life Cycle (Lifecycle): Lifecycle Phases for Source Code Configuration Management (SCCM)
Inventories: Source Code Configuration Management (SCCM) Inventories
Environments: Source Code Configuration Management (SCCM) Environments
Metrics: Source Code Configuration Management (SCCM) Metrics
Services: Source Code Configuration Management (SCCM) as a Set of Services (a.k.a. Source Code Configuration Management (SCCM) Services)
Service Paradigms: Centralized Source Code Configuration Management (SCCM) vs. Federated Source Code Configuration Management (SCCM)
Principles & Best Practices: Common Principles and Best Practices for Source Code Configuration Management (SCCM)
Further Reading and Reference Material for Source Code Configuration Management (SCCM)


Introduction: Introduction to Source Code Configuration Management (SCCM)

This document represents an aggregated, ordered and contextualized view of the material we've been able to compile and publish that is related to the topic of "Source Code Configuration Management (SCCM)." The goal is to make this page a landing and launch point for all things related to this topic. As our content becomes more complete and more accurate, this page should become a very useful and powerful knowledge base for this topic and all parties interested in it.

You'll find that the content for this document is consistent with that of other discipline related documents. This is intentional. The consistency is based on a knowledge pattern that helps individuals learn more about different topics, quicker and more efficiently. We hope you find the material useful and easy to learn.

It's important to realize that content in this document and any related sub-documents are constantly evolving. Therefore, we recommend you check for updates, regularly, to keep up with the latest material.

The Foundation always welcomes your feedback and suggestions for improvement, as we're always looking for ways to improve our solutions and offerings to the general community.

All solutions published by the Foundation are subject to the terms and conditions of the Foundation's Master Agreement.


Framework: Using This Artifact as a "Source Code Configuration Management (SCCM) Framework"

This document or artifact, along with everything in it, is intended to act as a "Framework" that addresses various aspects of Source Code Configuration Management (SCCM).

The readers will notice that most sections in the Table of Contents (TOC) use a format where the TOC entry is prefixed with a topic name, followed by a short descriptive title (i.e. "TOPIC_NAME: TOPIC_RELATED_SECTION_TITLE"). This is intentional and represents a format by which the Foundation may achieve things like the identification of appropriate topic areas, the segregation of distinct topic areas from each other, the appropriate ordering of topic areas, and achieve the maintenance of consistency, both, within and across different IT Disciplines.

To elaborate, this artifact is intended to:

  1. Organize different areas of the discipline known as Source Code Configuration Management (SCCM) into clear and compartmentalized areas that allow the Foundation to more effectively and productively collect, document and publish information that pertains to this discipline.
  2. Decompose each area of Source Code Configuration Management (SCCM) into smaller and, therefore, more digestible units for more efficient learning and understanding.
  3. Document common industry wisdom about each area, piece or subcomponent of Source Code Configuration Management (SCCM)
  4. Act as a set of Source Code Configuration Management (SCCM) related best practices and guidelines that have been collected, documented, and published for the benefit of IT Professionals, regardless of their specific industry, line of business, or area of expertise.
  5. Act as a consistent and repeatable pattern for documenting, publishing and learning, both, within this Discipline and across "all" Disciplines.

From the Foundation's perspective, if done correctly, all of the above will allow the Foundation to properly decompose, document and publish content related to each sub-area or sub-topic for each IT Discipline, including this specific discipline (i.e. "Source Code Configuration Management (SCCM)").

From the reader's perspective, if done correctly, all of the above will allow him or her to easily find and learn about specific areas of interest associated with this and all other IT Disciplines in a manner where the reader may effectively consume and digest material in small atomic segments that act as repeatable and more effective learning units.

As this artifact evolves and progresses, the reader will see it address key areas of the professional IT Discipline "Source Code Configuration Management (SCCM)" that range from its detailed definition through closely related terms, phrases and their definitions, to its detailed specification of Source Code Configuration Management (SCCM) Capabilities, and all the way through to defining, delivering, operating and supporting Source Code Configuration Management (SCCM) Services.

As mentioned previously, this document will continue to evolve and the Foundation recommends the reader check back, regularly, to stay abreast of modifications and new developments. It is also important to understand that the structure of this artifact may change to meet the needs of such evolution.


Key Terms for Source Code Configuration Management (SCCM)

Before moving on to learn more about the rest of the Source Code Configuration Management (SCCM) framework, we suggest that you take some time to familiarlize yourself with the following very basic term(s)...

Source Code Configuration (SCC):

"1. A relevant, functional, specific and documentable arrangement of Source Code related parts, elements and time dependent sequences or steps that act as dependencies for the description, set up, creation or recreation of a specific and repeatable Source Code related State, Artifact or Asset."

Source Code Configuration Management (SCCM):

"1. The professional discipline that involves working with, in or on any aspect of planning, delivering, operating or supporting for one or more Source Code Configuration (SCC) Items or any and all solutions put in place to deal with such Items.

2. The solution set that a person or organization puts in place to manage one or more Source Code Configuration (SCC) Items.

3. The process or processes put in place by a person or organization to assist in the management, coordination, control, delivery, or support of one or more Source Code Configuration (SCC) Items.

4. The Enterprise Capability that represents the general ability or functional capacity for a Resource or Organization to deal with or handle one or more Source Code Configuration (SCC) Items. Such a term is often used by Information Technology (IT) Architects when performing or engaging in the activities associated with general Capability Modeling."

In addition to the above basic term(s), you can also learn a great deal about Source Code Configuration Management (SCCM) by familiarizing yourself with the broader spectrum of terms that make up the Source Code Configuration Management (SCCM) Glossary...


Glossary: The "Source Code Configuration Management (SCCM) Glossary"

IT Glossary

Language between IT professionals and the businesses we serve is often a significant barrier to success, as we often spend countless hours trying to interpret each other's meanings. This is often also true between IT professionals who are taught to use certain terms and definitions as part of the organizations and industries they serve. It's when you start to jump from organization to organization, from enterprise to enterprise, and from industry to industry that you realize how much time and effort is wasted on just getting language and meanings correct. For these reasons, the Foundation puts a great deal of focus on terms and phrases, as well as their corresponding definitions. We highly recommend you spend time learning and understanding all of the related terms and phrases, along with their meanings, for all areas of "Source Code Configuration Management (SCCM)."

Source Code Configuration Management (SCCM) Glossary
Centralized Source Code Configuration (SCC) Management Source Code Configuration (SCC) Management Procedure
Decentralized Source Code Configuration (SCC) Management Source Code Configuration (SCC) Management Process
Enterprise Source Code Configuration (SCC) Management Source Code Configuration (SCC) Management Professional
Federated Source Code Configuration (SCC) Management Source Code Configuration (SCC) Management Program
Regional Source Code Configuration (SCC) Management Source Code Configuration (SCC) Management Project
Source Code Configuration (SCC) Source Code Configuration (SCC) Management Reference Architecture
Source Code Configuration (SCC) Automation Source Code Configuration (SCC) Management Release
Source Code Configuration (SCC) Capacity Management Source Code Configuration (SCC) Management Report
Source Code Configuration (SCC) Catalog Source Code Configuration (SCC) Management Reporting
Source Code Configuration (SCC) Catalogue Source Code Configuration (SCC) Management Roadmap
Source Code Configuration (SCC) Configuration Source Code Configuration (SCC) Management Role
Source Code Configuration (SCC) Configuration Item Source Code Configuration (SCC) Management Rule
Source Code Configuration (SCC) Configuration Management Source Code Configuration (SCC) Management Schedule
Source Code Configuration (SCC) Cost Source Code Configuration (SCC) Management Security
Source Code Configuration (SCC) Data Entity Source Code Configuration (SCC) Management Service
Source Code Configuration (SCC) Database Source Code Configuration (SCC) Management Service Assurance
Source Code Configuration (SCC) Decommission Source Code Configuration (SCC) Management Service Contract
Source Code Configuration (SCC) Delivery Source Code Configuration (SCC) Management Service Level Agreement (SLA)
Source Code Configuration (SCC) Dependency Source Code Configuration (SCC) Management Service Level Objective (SLO)
Source Code Configuration (SCC) Deployment Source Code Configuration (SCC) Management Service Level Requirement (SLR)
Source Code Configuration (SCC) Document Source Code Configuration (SCC) Management Service Level Target (SLT)
Source Code Configuration (SCC) Document Management Source Code Configuration (SCC) Management Service Provider
Source Code Configuration (SCC) File Plan Source Code Configuration (SCC) Management Service Request
Source Code Configuration (SCC) Framework Source Code Configuration (SCC) Management Solution
Source Code Configuration (SCC) Governance Source Code Configuration (SCC) Management Stakeholder
Source Code Configuration (SCC) History Source Code Configuration (SCC) Management Standard
Source Code Configuration (SCC) Identifier Source Code Configuration (SCC) Management Strategy
Source Code Configuration (SCC) Inventory Source Code Configuration (SCC) Management Supply
Source Code Configuration (SCC) Item Source Code Configuration (SCC) Management Support
Source Code Configuration (SCC) Lifecycle Source Code Configuration (SCC) Management System
Source Code Configuration (SCC) Lifecycle Management Source Code Configuration (SCC) Management Theory
Source Code Configuration (SCC) Management Application Source Code Configuration (SCC) Management Training
Source Code Configuration (SCC) Management Best Practice Source Code Configuration (SCC) Management Vision
Source Code Configuration (SCC) Management Blog Source Code Configuration (SCC) Management Wiki
Source Code Configuration (SCC) Management Capability Source Code Configuration (SCC) Management Workflow
Source Code Configuration (SCC) Management Center of Excellence Source Code Configuration (SCC) Metadata
Source Code Configuration (SCC) Management Certification Source Code Configuration (SCC) Migration
Source Code Configuration (SCC) Management Class Source Code Configuration (SCC) Plan
Source Code Configuration (SCC) Management Community of Practice (CoP) Source Code Configuration (SCC) Portfolio
Source Code Configuration (SCC) Management Course Source Code Configuration (SCC) Portfolio Management
Source Code Configuration (SCC) Management Data Source Code Configuration (SCC) Processing
Source Code Configuration (SCC) Management Data Dictionary Source Code Configuration (SCC) Record
Source Code Configuration (SCC) Management Database Source Code Configuration (SCC) Records Management
Source Code Configuration (SCC) Management Demand Source Code Configuration (SCC) Repository
Source Code Configuration (SCC) Management Dependency Source Code Configuration (SCC) Reuse
Source Code Configuration (SCC) Management Discussion Forum Source Code Configuration (SCC) Review
Source Code Configuration (SCC) Management Document Source Code Configuration (SCC) Schedule
Source Code Configuration (SCC) Management Documentation Source Code Configuration (SCC) Schematic (Schema)
Source Code Configuration (SCC) Management File Plan Source Code Configuration (SCC) Security
Source Code Configuration (SCC) Management Form Source Code Configuration (SCC) Software
Source Code Configuration (SCC) Management Framework Source Code Configuration (SCC) Strategy
Source Code Configuration (SCC) Management Governance Source Code Configuration (SCC) Support
Source Code Configuration (SCC) Management Knowledge Source Code Configuration (SCC) Taxonomy
Source Code Configuration (SCC) Management Lessons Learned Source Code Configuration (SCC) Termination
Source Code Configuration (SCC) Management Metric Source Code Configuration (SCC) Tracking
Source Code Configuration (SCC) Management Operating Model Source Code Configuration (SCC) Tracking Software
Source Code Configuration (SCC) Management Organization Source Code Configuration (SCC) Transaction
Source Code Configuration (SCC) Management Plan Source Code Configuration (SCC) Unique Identifier
Source Code Configuration (SCC) Management Platform Source Code Configuration (SCC) Verification
Source Code Configuration (SCC) Management Policy Source Code Configuration (SCC) Version
Source Code Configuration (SCC) Management Portfolio Source Code Configuration (SCC) Workflow
Source Code Configuration (SCC) Management Principle Source Code Configuration Management (SCCM)
Source Code Configuration (SCC) Management Procedure Source Code Configuration Management (SCCM) Software

Please refer to the IT Glossary for other terms and phrases that may be relevant to this professional discipline.

Readers may also refer to the Taxonomy of Glossaries for terms and phrases that are semantically grouped according to IT Disciplines or enterprise domains.

This Source Code Configuration Management (SCCM) Glossary is a contextual subset of the master IF4IT Glossary of Terms and Phrases. The master glossary can be used by you and your enterprise as a foundation for broader understanding of Information Technology and can be used as a teaching and learning tool for those you work with, helping to ensure a common and more standard language.


Capabilities: Source Code Configuration Management (SCCM) as an Enterprise Capability

A Capability, as it pertains to Information Technology (IT) or to an enterprise that an IT Organization serves, is defined to be "A manageable feature, faculty, function, process, service or discipline that represents an ability to perform something which yields an expected set of results and is capable of further advancement or development. In other words, a Capability is nothing more than "the ability to do something" or, quite simply, a Feature or Function. Therefore, when applied to an enterprise, a Capability represents a critical Enterprise Feature or Enterprise Function.

When it comes to Capabilities, there are multiple types that an enterprise needs to be aware of. Examples include but are not limited to:

As can be seen above, there are Capabilities that are associated with Resources, Organizations, and Assets such as Systems. All are important to an enterprise.

In the case of this IT Discipline (i.e. Source Code Configuration Management (SCCM)), we use the word Capability in the context of an Enterprise Capability or an IT Capability, which are both equivalent to Enterprise Disciplines or IT Disciplines, respectively. In short, the Capability of Source Code Configuration Management (SCCM) represents the ability to deal with any and all Source Code Configuration (SCC) Items and anything relevant that is related to or associated with any Source Code Configuration (SCC) Items.

If you think about it, a capability is really nothing more than a "verb" or "action that represents "the ability to do something." Understanding this allows us to derive a consistent and highly repeatable set of sub-capabilities for any Noun we're dealing with. For example:

In summary, the implication is that the Enterprise Capability or Enterprise Discipline known as Source Code Configuration Management (SCCM) is the superset of all the above Sub-Capabilities, as they pertain to or are applied to the discipline-specific Noun: "Source Code Configuration (SCC)." This now translates more specifically to:

For a more complete list of very specific Capabilities/Disciplines, refer to the Foundation's Master Inventory of IT Disciplines. It is important to note that this inventory is in a flat or non-hierarchical form, specifically because "hierarchy" is almost always a matter of personal preference or context (what hierarchy is important to one Resource or Organization may be unimportant to another's needs or requirements). Therefore, the Foundation has published its inventory of Capabilities in a non-hierarchical, flat form.

This now brings us to a very obvious problem that surrounds Capabilities, which is the fact that there are simply too many "granular" or "specific" Capabilities to document and publish in any single Capability Model. The end result is that a Capability Model may become unwieldy because of trying to incorporate so many different specific Capabilities. Also, Capability Modeling "Purists," who all have their own (and very differing) opinions about how Capability Models should or should not be represented, almost always refuse to get into the details. To address this, we recommend using a generic set of Capabilities that map to and are driven by the Systems Development Life Cycle. For example:

As you can see from the above, we now have a very limited, controlled and manageable set of Discipline-specific Capabilities for the Discipline Source Code Configuration Management (SCCM).

As a reminder, the above Capability representations are "suggestions" for baselining or initializing your own Enterprise Capability Model (ECM). It's recommended that you take the time to work with your enterprise stakeholders to improve upon and/or customize your own ECM so that you can help meet their needs. However, with that being said, it's always a better idea to go in with a baseline that you can modify rather than building your own solution from scratch, especially if your goals are to standardize, not reinvent the wheel, and not deviate too far from what other enterprises are doing to model their own environments. This is especially true if you've never had any experience building ECMs that have gained and maintained full adoption.

Why do enterprises perform Capability Modeling? Enterprises most often build Capability Models that are associated with Source Code Configuration Management (SCCM) for the following reasons...

Capability Modeling Recommendations: Some things to consider and keep in mind when working on or creating your Source Code Configuration Management (SCCM) and Enterprise Capability Models...

Learn More About Capability Models: Taking the time to learn about and understand Capability Models, what they're for, and how they're used may help you learn how Source Code Configuration Management (SCCM) better fits into the broader enterprise. Therefore, we suggest you spend some time reviewing and understanding the IF4IT Enterprise Capability Model...

Enterprise Capability Model

Ownership: Clearly Defined Source Code Configuration Management (SCCM) Ownership is Critical for Success

IT Discipline Ownership

Here's a very simple fact... If an enterprise does not establish and enforce clearly defined Ownership (i.e. a Resources and his or her Organization are assigned as accountable ownership) for Source Code Configuration Management (SCCM), the enterprise has automatically set itself up for failure in its implementation of that discipline. Therefore, if you and your enterprise want to implement and maintain a successful solution for Source Code Configuration Management (SCCM), there must be a clearly defined Owner that can and will be held accountable for getting work done, providing transparency, helping with strategy setting, and coordinating implementation of Source Code Configuration Management (SCCM) as a fully functional and mature enterprise Service.

Having clearly defined Ownership should not be confused with having fully dedicated Resources that spend one hundred percent of their time working on Source Code Configuration Management (SCCM). In fact, smaller enterprises can rarely afford to dedicate full time Resources, like larger enterprises can, to all enterprise IT Disciplines. This being the case, all IT Disciplines, including Source Code Configuration Management (SCCM), should "always" have clearly defined Owners so that there is always a clear point of accountability and contact for any issues or work that need to be addressed.

In addition to the common best practice of having clearly assigned Ownership for Source Code Configuration Management (SCCM), it is also considered a best practice to clearly publish and socialize Source Code Configuration Management (SCCM) Ownership details to a centralized location (often referred to as a "Service Catalog" or an "Enterprise Service Catalog"), along with Ownership details for all other IT Disciplines, so that the entire enterprise has constant access to it.

Canonical Ownership of an Enterprise Capability

Figure: How Ownership of the Capability Source Code Configuration Management (SCCM) fits into the Canonical Model for IT

The above figure helps us understand how Capability or Discipline Ownership fits into the Canonical Model for Information Technology (IT) (i.e. "Think," "Deliver," and "Operate"). Owners are assigned to individual Disciplines or Capabilities, such as Source Code Configuration Management (SCCM), and are instantly made accountable to the enterprise for the results of all Source Code Configuration Management (SCCM) Thinking activities (i.e. Strategy, Research, Planning and Design), all Source Code Configuration Management (SCCM) Delivery activities (i.e. Construction, Deployment and Quality Assurance), and all Source Code Configuration Management (SCCM) Operations activities (i.e. Use, Maintenance and Support). Done correctly, Source Code Configuration Management (SCCM) Ownership is constant and ongoing. It's important to understand that such assigned Ownership should "never" end so that there is clear and constant accountability and transparency for all aspects of the Canonical Model to the enterprise.

Not having clear Ownership for Source Code Configuration Management (SCCM) means that there is no clear understanding of who is accountable for it, who can provide understanding of what's going on within it, who can help the enterprise provide short term and long term descriptions of work being performed within the Discipline area to improve it over time for its customers, and who can help with getting work done that's associated with it. It means your or your enterprise's implementation for Source Code Configuration Management (SCCM) will be highly incomplete and erratic because no one is constantly (or even partially) watching over the Discipline and its needs for maintenance and evolution. Not having clear Source Code Configuration Management (SCCM) Ownership is a recipe for confusion and, sometimes, even chaos.

In summary, if you and your enterprise truly want to be successful with your implementation of Source Code Configuration Management (SCCM), ensure that a clear and highly accountable owner is identified and assigned to the Discipline. Publish those ownership details, preferably in an enterprise's Service Catalog, and socialize it so everyone knows whom to go to for answers and for help with Source Code Configuration Management (SCCM) related work. In other words, if you want to implement Source Code Configuration Management (SCCM) as an enterprise Service, then you absolutely must start with clearly defined, published and socialized Ownership.


Verbs and Actions: Understanding Why Verbs and Actions are Important to Source Code Configuration Management (SCCM)

Throughout the Foundation's documentation, you will continuously run into the references of "Nouns and Verbs." These concepts are key to consistency and standardization, throughout the IT Industry, down to each and every IT Discipline. Given that we've discussed the impact of "Nouns" on the discipline of "Source Code Configuration Management (SCCM)," this section will start to discuss the importance of "Verbs" or "Actions" that can be performed with or against the key Noun or Nouns associated with this Discipline. To reiterate, Verbs or Actions allow us to clearly understand what can be performed on or with the Noun in question. As will be discussed in the next section, Verbs or Actions will also help us clearly identify whom it is (i.e. the "who" or more specifically the Roles) that performs or executes such Verbs or Actions against a Discipline and its associated Noun or Nouns. As will be discussed later, Verbs or Actions will also help identify key Attributes (i.e. Field Names) that are necessary for the very data definition of the Noun or Nouns for this Discipline and will even help identify which Verbs or Actions can be automated for this Discipline.

As a reminder, the base Noun for the discipline known as Source Code Configuration Management (SCCM) is: "Source Code Configuration (SCC)," which is sometimes referred to as a the Noun: "Source Code Configuration (SCC) Item."

By now, it should be becoming apparent that verbs represent a baseline for defining solid functional requirements and sub-capabilities for what would be a part of any good Source Code Configuration Management (SCCM) System or Service. What this means is that if you and/or your Organization is looking for a solution in this space (e.g. the purchasing or building of a software solution or the implementation of a Service to address the needs of Source Code Configuration Management (SCCM)), you could use discipline-related verbs to drive the foundation of what the solution should or shouldn't do, as mapped to specific stakeholders that will use or provide the solution.

Examples of the types of Verbs or Actions that are important to this Discipline include but are not limited to:

The above list represents a very small subset of all Verbs or Actions that are relevant for this Discipline. The more complete set can be found in the Roles section of this document, where readers can see the direct correlation of Verb to Noun and to, both, Generic Role and Discipline Specific Role.


Roles: Key Verb and Action Driven Roles For Source Code Configuration Management (SCCM)

An "action" or a "verb" is something that can be performed on or with a specific "noun." The reason it is important to itemize all relevant verbs is because we can now start to determine what we can or cannot do with the noun in question, where in this case the noun is "Source Code Configuration (SCC)."

Actions/Verbs Example as Applied to "Source Code Configuration (SCC)" Generic Roles Discipline-Specific Roles
Administrate Administrate Source Code Configuration (SCC) Administrator Source Code Configuration (SCC) Administrator
Approve Approve Source Code Configuration (SCC) Approver Source Code Configuration (SCC) Approver
Architect Architect Source Code Configuration (SCC) Architector Source Code Configuration (SCC) Architector
Archive Archive Source Code Configuration (SCC) Archiver Source Code Configuration (SCC) Archiver
Audit Audit Source Code Configuration (SCC) Auditor Source Code Configuration (SCC) Auditor
Bundle Bundle Source Code Configuration (SCC) Bundler Source Code Configuration (SCC) Bundler
Clone Clone Source Code Configuration (SCC) Cloner Source Code Configuration (SCC) Cloner
Code Code Source Code Configuration (SCC) Coder Source Code Configuration (SCC) Coder
Configure Configure Source Code Configuration (SCC) Configurer Source Code Configuration (SCC) Configurer
Copy Copy Source Code Configuration (SCC) Copier Source Code Configuration (SCC) Copier
Create Create Source Code Configuration (SCC) Creator Source Code Configuration (SCC) Creator
Decommission Decommission Source Code Configuration (SCC) Decommissioner Source Code Configuration (SCC) Decommissioner
Delete Delete Source Code Configuration (SCC) Deletor Source Code Configuration (SCC) Deletor
Deploy Deploy Source Code Configuration (SCC) Deployer Source Code Configuration (SCC) Deployer
Deprecate Deprecate Source Code Configuration (SCC) Deprecator Source Code Configuration (SCC) Deprecator
Design Design Source Code Configuration (SCC) Designer Source Code Configuration (SCC) Designer
Destroy Destroy Source Code Configuration (SCC) Destroyer Source Code Configuration (SCC) Destroyer
Develop Develop Source Code Configuration (SCC) Developer Source Code Configuration (SCC) Developer
Distribute Distribute Source Code Configuration (SCC) Distributor Source Code Configuration (SCC) Distributor
Download Download Source Code Configuration (SCC) Downloader Source Code Configuration (SCC) Downloader
Edit Edit Source Code Configuration (SCC) Editor Source Code Configuration (SCC) Editor
Educate Educate Source Code Configuration (SCC) Educator Source Code Configuration (SCC) Educator
Export Export Source Code Configuration (SCC) Exporter Source Code Configuration (SCC) Exporter
Govern Govern Source Code Configuration (SCC) Governor Source Code Configuration (SCC) Governor
Import Import Source Code Configuration (SCC) Importer Source Code Configuration (SCC) Importer
Initialize Initialize Source Code Configuration (SCC) Initializer Source Code Configuration (SCC) Initializer
Install Install Source Code Configuration (SCC) Installer Source Code Configuration (SCC) Installer
Instantiate Instantiate Source Code Configuration (SCC) Instantiator Source Code Configuration (SCC) Instantiator
Integrate Integrate Source Code Configuration (SCC) Integrator Source Code Configuration (SCC) Integrator
Manage Manage Source Code Configuration (SCC) Manager Source Code Configuration (SCC) Manager
Merge Merge Source Code Configuration (SCC) Merger Source Code Configuration (SCC) Merger
Modify Modify Source Code Configuration (SCC) Modifier Source Code Configuration (SCC) Modifier
Move Move Source Code Configuration (SCC) Mover Source Code Configuration (SCC) Mover
Own Own Source Code Configuration (SCC) Owner Source Code Configuration (SCC) Owner
Package Package Source Code Configuration (SCC) Packager Source Code Configuration (SCC) Packager
Persist Persist Source Code Configuration (SCC) Persister Source Code Configuration (SCC) Persister
Plan Plan Source Code Configuration (SCC) Planner Source Code Configuration (SCC) Planner
Purge Purge Source Code Configuration (SCC) Purger Source Code Configuration (SCC) Purger
Receive Receive Source Code Configuration (SCC) Receiver Source Code Configuration (SCC) Receiver
Record Record Source Code Configuration (SCC) Recorder Source Code Configuration (SCC) Recorder
Recover Recover Source Code Configuration (SCC) Recoverer Source Code Configuration (SCC) Recoverer
Register Register Source Code Configuration (SCC) Registrar Source Code Configuration (SCC) Registrar
Relocate Relocate Source Code Configuration (SCC) Relocator Source Code Configuration (SCC) Relocator
Reject Reject Source Code Configuration (SCC) Rejecter Source Code Configuration (SCC) Rejecter
Remove Remove Source Code Configuration (SCC) Remover Source Code Configuration (SCC) Remover
Replicate Replicate Source Code Configuration (SCC) Replicator Source Code Configuration (SCC) Replicator
Report Report Source Code Configuration (SCC) Reporter Source Code Configuration (SCC) Reporter
Request Request Source Code Configuration (SCC) Requestor Source Code Configuration (SCC) Requestor
Restore Restore Source Code Configuration (SCC) Restorer Source Code Configuration (SCC) Restorer
Review Review Source Code Configuration (SCC) Reviewer Source Code Configuration (SCC) Reviewer
Save Save Source Code Configuration (SCC) Saver Source Code Configuration (SCC) Saver
Search Search Source Code Configuration (SCC) Searcher Source Code Configuration (SCC) Searcher
Split Split Source Code Configuration (SCC) Splitter Source Code Configuration (SCC) Splitter
Sponsor Sponsor Source Code Configuration (SCC) Sponsor Source Code Configuration (SCC) Sponsor
Store Store Source Code Configuration (SCC) Storer Source Code Configuration (SCC) Storer
Strategize Strategize Source Code Configuration (SCC) (or Set Source Code Configuration (SCC) Strategy) Strategizer (or Strategy Setter) Source Code Configuration (SCC) Strategizer (or Source Code Configuration (SCC) Strategy Setter)
Support Support Source Code Configuration (SCC) Supporter Source Code Configuration (SCC) Supporter
Test Test Source Code Configuration (SCC) Tester Source Code Configuration (SCC) Tester
Train Train Source Code Configuration (SCC) Trainer Source Code Configuration (SCC) Trainer
Upgrade Upgrade Source Code Configuration (SCC) Upgrader Source Code Configuration (SCC) Upgrader
Upload Upload Source Code Configuration (SCC) Uploader Source Code Configuration (SCC) Uploader
Verify Verify Source Code Configuration (SCC) Verifier Source Code Configuration (SCC) Verifier
Version Version Source Code Configuration (SCC) Versioner Source Code Configuration (SCC) Versioner
View View Source Code Configuration (SCC) Viewer Source Code Configuration (SCC) Viewer

At a minimum, the above list of Verbs can be used to help identify, track, and manage the basic "Features" required by and associated with Source Code Configuration Management (SCCM), even if your enterprise doesn't maintain a Capability Model that lists specific Source Code Configuration Management (SCCM) Capabilities. Application designers, developers, and architects often find such Verb Lists or Feature Inventories to be invaluable.


Taxonomy: Understanding Source Code Configuration Management (SCCM) Classifications or Categorizations

IF4IT Taxonomies

A Taxonomy, in its noun form, is defined as:

...a documented and orderly set of types, classifications, categorizations and/or principles that are often achieved through mechanisms including but not limited to naming, defining and/or the grouping of attributes, and which ultimately help to describe, differentiate, identify, arrange and provide contextual relationships between the entities for which the Taxonomy exists.

From this general definition, we can derive that the definition for a Source Code Configuration Management (SCCM) Taxonomy is:

...a documented and orderly set of types, classifications, categorizations and/or principles that are often achieved through mechanisms including but not limited to naming, defining and/or the grouping of attributes, and which ultimately help to describe, differentiate, identify, arrange and provide contextual relationships between Source Code Configuration (SCC) Items, Entities or Types.

In short, what this means all means is that a Taxonomy is nothing more than a classification or typing mechanism and that a Source Code Configuration (SCC) Taxonomy is nothing more than a classification or typing mechanism that helps people and systems distinguish between different Source Code Configuration (SCC) Items, Entities, Types, Records or any other Source Code Configuration Management (SCCM) element you can think of.

It's important to understand that Taxonomies can be as simple as a list of relevant terms or phrases with respective meanings or definitions or they can take on more complex forms, such as hierarchical and graphical model structures that can be homogeneous and heterogeneous in nature. More complex Taxonomies include examples such as "Visual Taxonomies" and "Audible Taxonomies" but, expect in the case of very special technologies, are typically out of scope for general Information Technology (IT) Operations.

The Foundation directs readers to its ever-evolving Inventory of Taxonomies for Standard Taxonomy suggestions. Specifically, readers may want to start with the Taxonomy of Taxonomies, which helps make it clear that the IT Industry is composed of many hundreds if not thousands of Taxonomies, Classifications, Categorizations or Types.


Ontology: Source Code Configuration Management (SCCM) Ontology as a Means for Lanagugae Standardization

While Taxonomies represent organized classifications or types, you can think of Ontologies as the design and representation of entire lanaguages, with the specific intent to control things like structure, behavior, representation, and meaning. Without getting into a theoretical conversations about Ontologies, you can view this entire article as a foundation for the ontology of Source Code Configuration Management (SCCM). Or, in other words, a Source Code Configuration Management (SCCM) Ontology.

Throughout this artifact/framework, you will find things like Source Code Configuration Management (SCCM) related terms, phrases, definitions, roles, responsibilities, nouns, verbs, classifications, and so on, all as a means of definining a standard representation for and interpretation of the language of Source Code Configuration Management (SCCM).

It is only through the definition, communication, and establishment of such Ontologies that we can standardize language and communication associated with Source Code Configuration Management (SCCM), whether it be between humans and/or systems.


Life Cycle (Lifecycle): Lifecycle Phases for Source Code Configuration Management (SCCM)

When we talk about Life Cycle (or lifecycle) for Source Code Configuration Management (SCCM), it's important to keep in mind that there are two different types of Life Cycles that apply. The first is a Data Life Cycle, which addresses Source Code Configuration Management (SCCM) data or entities, and the second is associated with delivering Source Code Configuration Management (SCCM) Assets like Systems or Software solutions.

Source Code Configuration Management (SCCM) Data Life Cycle Phases:

Data Lifecycle (or Life Cycle) for any and all data is the period from the "inception" of data through to its ultimately being "purged" from existence. This is no different for Source Code Configuration Management (SCCM) related data.

Like the data associated with any other professional IT Discipline, Source Code Configuration Management (SCCM) related data adheres to the following common Data Lifecycle Phases:

Data Lifecycle Phases

Figure: Source Code Configuration Management (SCCM) Lifecycle Phases

  1. Inception: Data is in it's raw idea-like form and is not ready for consumption by the general population because it has not been documented or registered, anywhere, in a formal manner.
  2. Creation and Registration: Data is formally put into existence for day-to-day use by appropriate stakeholders.
  3. Iterative Maintenance: Data is in a mode of constant use and is updated and modified, as needed, to meet the needs of daily use by various stakeholders.
  4. Decommission and Deletion: Data is prepared for deletion and eventually deleted from daily operational use but still exists for administrative or organizational purposes, such as historical auditing. It can be restored to any one of its relevant last states and, therefore, can be brought back into existence for day-to-day use.
  5. Purged From Existence: Data is completely removed from an environment with no means to restore or reconstruct it, without recreating it from scratch and with no guarantees that it will match it's previous state.

The above Life Cycle Phases represent the high level transitions that occur from the inception of Source Code Configuration (SCC) Items or Entities all the way through to their complete elimination from existence. A more detailed breakdown of these transitions or phases represents what are referred to as "Source Code Configuration Management (SCCM) States."

Source Code Configuration Management (SCCM) Systems Development Life Cycle (SDLC) Phases or Source Code Configuration Management (SCCM) Software Development Life Cycle (SDLC) Phases:

The SDLC is a means for facilitating and controlling how IT Professionals deliver Assets, such as Source Code Configuration Management (SCCM) Systems and Software. In this case, you should default to the master SDLC, which is used to deliver any Asset of any type, including those associated with the Source Code Configuration Management (SCCM) discipline.

Source Code Configuration Management (SCCM) SDLC Diagram

Inventories: Source Code Configuration Management (SCCM) Inventories

There are probably no greater or more important tools for providing Source Code Configuration Management (SCCM) transparency and direction than the collection, ordering, categorizing, grouping, and maintenance of all related Source Code Configuration (SCC) Items. In other words, Source Code Configuration Management (SCCM) Inventories.

In short, an Inventory represents a list of individual things or instances of things that are typically all of the same Noun Type or Data Type, where these instances are described and detailed by their Attributes, along with the Data and Information that act as values for such Attributes.

At a minimum, Source Code Configuration Management (SCCM) Inventories are used for the establishment of solid Source Code Configuration (SCC) Configuration Management practices, as the Source Code Configuration (SCC) Instances tracked within such Source Code Configuration (SCC) Inventories act as Configuration Items (in Target and/or Dependency form) for key Configurations (Source Code Configuration Management (SCCM) Configurations or otherwise).

Inventories are also used for solid decision making. Good decisions, either strategic or tactical, are made based on having good Data and Information. And, good Data and Information only come from taking the time to follow best practices associated with Inventory Management. It's only through building such Inventories that an enterprise can achieve solid Source Code Configuration Management (SCCM) Business Intelligence and Reporting.

Also, it's these very same Inventories that act as the foundation for understanding and managing Total Cost of Ownership (a.k.a. "TCO") for Source Code Configuration Management (SCCM). Without such Inventories, trying to understand your costs can be nothing more than uneducated guessing.

The obvious place to start is with Source Code Configuration (SCC) Inventories and then move on to surrounding Inventories that are directly and indirectly related to Source Code Configuration Management (SCCM).

Additionally, there are many other types of Inventories that are common and important to Source Code Configuration Management (SCCM), which include but are not limited to examples such as:

  1. People and Organizations related to Source Code Configuration Management (SCCM)
  2. Roles, Responsibilities, and Skills related to Source Code Configuration Management (SCCM)
  3. Products and Services related to Source Code Configuration Management (SCCM)
  4. Capabilities related to Source Code Configuration Management (SCCM)
  5. Contracts, Agreements, and Licenses related to Source Code Configuration Management (SCCM)
  6. Processes related to Source Code Configuration Management (SCCM)
  7. Tools and Technologies (e.g. Systems/Applications/Software/Computers) related to Source Code Configuration Management (SCCM)
  8. Data Types and Instances related to Source Code Configuration Management (SCCM)
  9. Data Interfaces related to Source Code Configuration Management (SCCM)
  10. Environments related to Source Code Configuration Management (SCCM)
  11. Facilities and Locations related to Source Code Configuration Management (SCCM)

If you and/or your enterprise are not collecting and maintaining such Inventories, you're probably considered to be very low on the efficiency and effectiveness maturity scale.

It's important to keep in mind that collecting and managing Source Code Configuration Management (SCCM) Inventories is something that should be performed across all phases of Source Code Configuration Management (SCCM) Lifecycle and across all Environments (i.e. Source Code Configuration Management (SCCM) Environments). Both are considered to be very important Best Practices. For example, you and/or your enterprise cannot get a complete understanding of Source Code Configuration Management (SCCM) costs or impacts without knowing all related Inventory Items in all environments. And, tracking across all lifecycle phases gives a temporal perspective that is important for things like problem analysis, historical reporting, and the reconstruction of state (i.e. Configuration Management).

NOTE: Source Code Configuration Management (SCCM) Inventories are also important for other enterprise functions, such as Architecture and Design. Such Inventories represent the foundation for understanding an enterprise's Current State and are critical for planning Future State and any related strategies, roadmaps, and transition plans for facilititating change.


Environments: Source Code Configuration Management (SCCM) Environments

Building environments that are specific to and for the discipline known as Source Code Configuration Management (SCCM) is no different than doing so for any other discipline area. The reader should, therefore, refer to the IT Environment Framework to understand such environments.

IT Environment Framework for Source Code Configuration Management (SCCM)

Metrics: Source Code Configuration Management (SCCM) Metrics

As with any professional Discipline, the place to start with when dealing with Source Code Configuration Management (SCCM) specific metrics is with standard metrics categorizations. Standard Metrics Categorizations, or what are commonly referred to as "SMCs," include but are not limited to...

Source Code Configuration Management (SCCM) Quantitative Metrics: Quantitative metrics for Source Code Configuration Management (SCCM) often revolve around the "counting" of key constructs that are associated with the Discipline. For example, the number of Source Code Configuration (SCC) Items or Entities that have been Created, Edited or Modified, Copied or Cloned, Destroyed, Archived, Restored, etc. (Note the correlations to key Source Code Configuration Management (SCCM) Verbs!). Also, the counts for things like the number of Source Code Configuration Management (SCCM) Stakeholders, such as but not limited to Paying Customers, End Users, Employees, Consultants, etc. are also very useful.

Source Code Configuration Management (SCCM) Qualitative Metrics: Qualitative metrics for Source Code Configuration Management (SCCM) often revolve around concepts such as Source Code Configuration Management (SCCM) Defects, Failures, Problems, Incidents, and/or Issues. So, for example, if we were to capture the number of Source Code Configuration Management (SCCM) Defects (i.e. their counts) over time, we could do things like see if Defect quantities are going up or down, over time, allowing us to explore that area for things like correlating Causes and Effects.

Source Code Configuration Management (SCCM) Time Metrics: When dealing with Source Code Configuration Management (SCCM) Time Metrics, there are usually two forms. The first was introduced in the previous paragraph, which has to do with capturing and measuring things like Quantitative or Qualitative Metrics, over time. In this case, we capture other metric categories, over time, with the intent to see how they change and perform, based on modifications to the Source Code Configuration Management (SCCM) Operating Environment. The second form of Time related metrics has to do with system or operational performance, such as in the case of how long it takes to process a Source Code Configuration Management (SCCM) Request, from the time it is created to the time the Requester gets a satisfactory deliverable that allows him or her to move on with his or her work.

Source Code Configuration Management (SCCM) Utilization Metrics: Utilization Metrics specifically have to do with the consumption of Source Code Configuration Management (SCCM) specific solutions or deliverables. For example, tracking the number of Source Code Configuration Management (SCCM) Service Requests, over periods of time, along with their corresponding Source Code Configuration Management (SCCM) Deliverables, allows one to measure how active Source Code Configuration Management (SCCM) Services are against other Services that may exist within the Enterprise.

Source Code Configuration Management (SCCM) Financial Metrics: As is always the case for any single Discipline, Financial Metrics for Source Code Configuration Management (SCCM) always revolve around things like revenue, expenses, and profits, both, for operators of the Service or Services and for consumers of the Service or Services. For example, if a Source Code Configuration Management (SCCM) Request is invoked by a Source Code Configuration Management (SCCM) Customer (acting as the "Requester"), it becomes important to be able to identify and understand what the cost is to that Customer who is invoking the Request, and it also becomes important to understand why that cost is what it is. In the case of Services that do not yield revenue or profits, measuring costs is a strong way to, at very least, help understand the costs associated with each Service being performed by, within, external to, and for the Enterprise and its Customers.

Note: It's important to understand that, when it comes to metrics, enterprises should take a "Crawl," "Walk," "Run" approach to collecting, working with, and understanding them. That is, you cannot get to complex metrics collection, dissection, analysis, and understanding until you start with basic metrics and slowly work your way to more complex metrics representations.


Services: Source Code Configuration Management (SCCM) as a Set of Services (a.k.a. Source Code Configuration Management (SCCM) Services)

One of the most important concepts you will learn about Source Code Configuration Management (SCCM) (or any Discipline, for that matter) is the notion of implementing the Discipline as an accountable, planned, controlled, transparent, and managed "Service."

In short, Services represent a logically "bounded" and repeatable sets of work types, activities or tasks that are performed by humans and/or machines, with the specific intent to provide outputs or deliverables, in the form of solutions for the requesting Stakeholders who are commonly considered the customers of such Services. In other words, we perform and/or provide a Service to deliver very specific solutions to very specific Stakeholders who are looking for a means to solve a certain problem they have.

A Source Code Configuration Management (SCCM) Service is defined as:

"1. A set of solutions, either transactional (i.e. Transactional Source Code Configuration (SCC) Management Services) or dial-tone (i.e. Dial-Tone Source Code Configuration (SCC) Management Services), that are being or have been put in place to yield an intended, controlled, expected, repeatable and measurable set of results or deliverables for Source Code Configuration (SCC) Management specific Customers, Consumers or Clients.

NOTE: Source Code Configuration (SCC) Management Service Consumers or Clients can be either Human Resources or Systems."

All Services, including Source Code Configuration Management (SCCM) Services, can be performed manually (i.e. by people), automatically (i.e. by machines such as Computers), or by a combination of the two (i.e. a hybrid that is both manually and automated).

Also, all Services, including Source Code Configuration Management (SCCM) Services, can be either transactional or dial tone, in nature.

In the case of Transactional Services for Source Code Configuration Management (SCCM), a Service Request is submitted and that Request is fulfilled as part of a process that is either manual, automated, or a hybrid of both (e.g. a Service to perform maintainance on your Source Code Configuration Management (SCCM) System).

In the case of Dial Tone Services for Source Code Configuration Management (SCCM), a Service is expected to be up, running, available, and accessible to an End User so that he/she/it may perform some controlled and highly repeatable function (e.g. a "Source Code Configuration Management (SCCM) System" that is up and running all the time).

Source Code Configuration Management (SCCM) Service Components: The successful implementation of Source Code Configuration Management (SCCM) as a set of Services for your enterprise usually implies that a number of key components have been established to support it. These components are:

  1. A clearly documented and socialized Source Code Configuration Management (SCCM) Service Owner that is held accountable for Service performance, quality, and cost.
  2. A clearly documented and socialized Source Code Configuration Management (SCCM) Service Provider, Organization or Group who is performing the Service or work.
  3. A clearly documented and socialized inventory of all Source Code Configuration Management (SCCM) Service Inputs, including Source Code Configuration Management (SCCM) Service Requests and any artifacts necessary to support such Requests so that consumers of the Service know how to engage and request or take advantage of them.
  4. For every Source Code Configuration Management (SCCM) Service Input, a clearly documented and socialized inventory of Source Code Configuration Management (SCCM) Service Outputs, making it clear to consumers what they can expect to receive as a result of a successful Service Request.
  5. For every Source Code Configuration Management (SCCM) Service Input, a clearly documented and socialized inventory of the work being performed by the Service Provider to achieve such Outputs or Deliverables.
  6. For every Source Code Configuration Management (SCCM) Service Input, a clearly documented and socialized inventory Service Level Agreements (e.g. Service Availability, Service Duration, Service Guarantees, etc.) that can be used to set expectations and measure actuals against for said Service Outputs.
  7. Clearly specified Source Code Configuration Management (SCCM) Service Costs that help set expectations for Service Requesters (i.e. the cost of a request) and that provide clear transparency to the organizations that fund and sponsor such Services (i.e. the Total Cost of Ownership (TCO) your Service(s).
  8. Source Code Configuration Management (SCCM) Service Request Patterns (Estimation Creation, Modification, Decommission, Support/Incidents, Complaints, etc.) in order to create intuitive and repeatable user experiences across different Service Types.
  9. Clearly understand what Source Code Configuration Management (SCCM) Service Resources are required, human or otherwise, to create and deliver your Source Code Configuration Management (SCCM) Service Deliverables, in a repeatable, cost-efficient, timely, and high quality manner.
  10. For every Source Code Configuration Management (SCCM) Service Request, understand the chargeback mechanism, in order to recoup your Service Costs.
  11. For every Source Code Configuration Management (SCCM) Service, it's important to understand the skills that are required, will need to be developed, and will need to be maintained by Service Resources, in order to deliver each Service Deliverable.
  12. It's important to understand who your Source Code Configuration Management (SCCM) Service Stakeholders are, this includes but is not limited to your Customers, Consumers, Clients, Sponsers, etc. are, as well as the types of problems it is that they're trying to solve or interests that they will have in your Services.

Source Code Configuration Management (SCCM) Ownership: The most important thing to understand about a Source Code Configuration Management (SCCM) Service is that, in order for such a Service to be successful, there must be a clear and accountable Owner for it. That is, there needs to be a very clear and accountable named person or organization that owns and is fully responsible for the Service, all of its sub-Services and, most importantly, all of the Service's "Outcomes." Without clear ownership, Services are almost never successful. And, for those few occasions where Services are successful without clear ownership, you can assume that they're successful because the people working in those Service areas are acting as heroes, or... the those Services are just plain lucky (that kind of luck doesn't last for long).

Source Code Configuration Management (SCCM) Service Inputs: There are typically two types of inputs to any Source Code Configuration Management (SCCM) Service. The first is what is known as a "Source Code Configuration Management (SCCM) Service Request" and the second really represents any and all supporting artifacts that are necessary to support such requests, including but not limited to Data and Information in the form of Documents, either electronic or paper in form. Many would argue that the "money" to pay for the Service execution of the Request would be the third but, for now, we will assume that payment is controlled through the Data and Information provided to the Service Operators, in support of the Request.

Source Code Configuration Management (SCCM) Service Outputs: The outputs of any Service are often referred to as the Service's Deliverables. Therefore, the readers should be aware that the terms "Source Code Configuration Management (SCCM) Outputs" and "Source Code Configuration Management (SCCM) Deliverables" are synonymous and interchangeable. All work performed in any enterprise is, by default, a Service that is being performed for someone else and, therefore, all work or Services yield results. These results are the Service's Outputs or Deliverables and a good Service ensures that such Outputs are appropriately documented to the consumers of said Service. This means that for any given Source Code Configuration Management (SCCM) Service Request Type or Category there will be one or more clearly defined and documented Outputs or Deliverables, making it clear to the consumer what he, she, or they will get in response to their Request. This can be as simple as an answer to a question or as complex as the Merger of two enterprises.

Source Code Configuration Management (SCCM) Service Levels: Service Levels represent "performance agreements," contractual or otherwise, that dictate how well a Source Code Configuration Management (SCCM) Service should perform, most often keeping the Customers, Consumers, Clients or End Users of the Service in mind. Source Code Configuration Management (SCCM) Service Levels can come in many forms and are often worked out by the Customers paying for the Services and the Service Providers who sell or provide the Services. In many cases, Service Levels are also self-imposed by the Service Providers performing the Services as a means to set expectations for Service Customers. In short, Source Code Configuration Management (SCCM) Service Levels are constraints, limitations, and/or expectations that are tied directly to Source Code Configuration Management (SCCM) Service Deliverables. They represent measures for things like quality, efficiency, and cost against said Deliverables or Outputs that allow the consumer of such Services to measure what they actually get against what they expected to get.


Service Paradigms: Centralized Source Code Configuration Management (SCCM) vs. Federated Source Code Configuration Management (SCCM)

Assuming an enterprise pursues the establishment of Source Code Configuration Management (SCCM) as a set of controlled Services, there are three common paradigms for doing so. These include:

  1. A "Centralized Source Code Configuration Management (SCCM)" implementation paradigm
  2. A "Federated Source Code Configuration Management (SCCM)" implementation paradigm
  3. A "Hybrid Source Code Configuration Management (SCCM)" implementation paradigm

Centralized Source Code Configuration Management (SCCM) is defined as:

"1. The term or phrase that implies establishing and/or practicing the Discipline known as Source Code Configuration (SCC) Management as a concentric and singular set of organizations and services, usually in order to serve an entire enterprise, regardless of geographic location, further implying full centralization and no federation of any and all Source Code Configuration (SCC) Management associated Work, Activities, Actions, Tasks, Capabilities and/or Services."

Federated Source Code Configuration Management (SCCM), which is also referred to as Decentralized Source Code Configuration Management (SCCM), is defined as:

"1. The term or phrase that implies establishing and/or practicing the Discipline known as Source Code Configuration (SCC) Management in multiple pockets, communities, or organizations, further implying no centralization in the implementation and execution of Source Code Configuration (SCC) Management associated Work, Activities, Actions, Tasks, Capabilities and/or Services."

There are clear tradeoffs to each of the two models. For example, in a Centralized paradigm, it's normally easier to coordinate work and provide broad coverage, across many areas of the enterprise and relevant stakeholders. However, it becomes far more difficult for a centralized organization to properly fund and staff resources and services in order to perform all required work across all stakeholders, in a much larger enterprise.

It's also important to note that a third paradigm also exists as an option. This is known as a Hybrid Source Code Configuration Management (SCCM) paradigm or model. In this case, there is a centralized Source Code Configuration Management (SCCM) organization that is often responsible for things like centralized governance, command, control, and communications, while federated staff and services deal with localized forms of Source Code Configuration Management (SCCM). In this type of paradigm, federated staff and services usually report direclty into their local management but may have matrix reporting or responsibilities into the Centralized Source Code Configuration Management (SCCM) organization.


Principles & Best Practices: Common Principles and Best Practices for Source Code Configuration Management (SCCM)

A "Principle" is defined as being: "A professed assumption, basis, tenet, doctrine, plan of action or code of conduct for activities, work or behavior." Therefore, we can deduce the definition of "a Source Code Configuration Management (SCCM) Principle" to be:

Source Code Configuration Management (SCCM) Principle: "1. A professed assumption, basis, tenet, doctrine, plan of action or code of conduct for any activities, work or behavior associated with the Discipline known as Source Code Configuration (SCC) Management."

A "Best Practice" is defined as being: "One or more Activities, Actions, Tasks or Functions that often do not conform with strict Standards and that have evolved, over time, to be considered as conventional wisdom for consistently and repeated achieving Outcomes or Results that can be measured as being equal to or above acceptable norms." Therefore, we can deduce the definition of "a Source Code Configuration Management (SCCM) Best Practice" to be:

Source Code Configuration Management (SCCM) Best Practice: "1. One or more Source Code Configuration (SCC) Management related Activities, Actions, Tasks or Functions that often do not conform with strict standards and that have evolved, over time, to be considered as conventional wisdom for consistently and repeatedly achieving Outcomes or Results that can be measured as being equal to or above acceptable norms."

The plural form of this term would be "Source Code Configuration Management (SCCM) Best Practices."

Common Source Code Configuration Management (SCCM) related principles and best practices exist to help achieve higher than average expectations of quality and to ease in the implementation, support, operations, and future change associated with the solutions industry professionals put in place to address the needs of this Discipline and all its related stakeholders.

While this entire document is meant to represent and serve as a set of common principles and best practices for Source Code Configuration Management (SCCM), the following list represents a summary of some very basic examples of what implementers, supporters, and operators of Source Code Configuration Management (SCCM) should constantly be working toward:

Principle or Best Practice Description
Establish and always have very clear Ownership for Source Code Configuration Management (SCCM). Establishing, publishing and socializing clear Ownership for Source Code Configuration Management (SCCM) allows an enterprise and all its Resources, regardless of their geographic location, to assign accountability for all aspects of the Discipline. It also ensures that there's always at least one person that everyone can go to for transparency into the Discipline as well as for handling work that is associated with the Discipline.
Define, Collect, and Manage Relevant Source Code Configuration Management (SCCM) Inventories. As an IT professional, there are probably few things that are as important as knowing what is or is not in your portfolio, as well as understanding key traits about your portfolio. You cannot achieve this without the transparency provided by your inventories. Therefore, it is critical that you clearly define, collect, manage, and govern any and all relevant Source Code Configuration Management (SCCM) inventories. Lack of Source Code Configuration Management (SCCM) Inventories means no transparency, a chaotic and immature environment, and (even worse) the implication that you don't know how to do your job.
Always use standard terminology for Source Code Configuration Management (SCCM), in order to standardize communications between stakeholders. It is often argued that the biggest mistake you can make is to create your own words and/or your own definitions, when communicating with others. There is no place where this is more accurate than in the field of Information Technology. IT Stakeholders make up their own words and definitions far too often, or let their business constituents do so. When you make up words or definitions, or you let others do so, you're creating a grave injustice for your organization. Self invented terminology and grammar often leads to poor communications, which in turn leads to redundancy of solutions, higher complexity of environments, slower delivery times, and much higher costs. Therefore, the IF4IT always recommends that you leverage standard terminology for Source Code Configuration Management (SCCM), whenever possible.
Centralization of Source Code Configuration (SCC) related data. While often impossible to centralize and collocate all Source Code Configuration (SCC) related data and information, especially in a geographically dispersed environment, Source Code Configuration Management (SCCM) related stakeholders should always strive to centralize all data and information. The goals are to eliminate data fragmentation, improve source of truth for data, reduce the number of systems needed to support stakeholders, reduce the complexity of solutions, improve usability, and to ultimately reduce the costs associated with Source Code Configuration Management (SCCM).
Clearly define, implement, track, and analyze Source Code Configuration Management (SCCM) Metrics. In order to successfully set up the discipline of Source Code Configuration Management (SCCM) and its related Services, it is critical to clearly define, track, and constantly analyze Source Code Configuration Management (SCCM) metrics. Such metrics include but are not limited to Supply and Demand Metrics (i.e. Operational Metrics), Performance Metrics, Quality Metrics, and Financial Metrics.
Transparency of Source Code Configuration (SCC) related data. Stakeholders should always strive to make any and all Source Code Configuration Management (SCCM) data transparent to all other appropriate stakeholders, at a minimum, and often to the entire enterprises. The exception when private user data must be protected. Many stakeholders often make the mistake of treating internal operational data as private or protected. This often creates a data silo and will often lead to internally silo-ed organizations that revolve around such data silos.
Do not let "perfection" of Source Code Configuration Management (SCCM) solutions stand in the way of "good enough solutions". Often, Source Code Configuration Management (SCCM) stakeholders "overthink" solutions, leading to the impression that best-of-breed or perfect solutions are more effective than "good enough" solutions. Experience tells us that "good enough" is, almost always, the better path to follow. We live in an age where technologies grow old in the blink of an eye. Even the implementation of something that looks perfect, today, will look antiquated, tomorrow. This is especially true if your enterprise doesn't have a long term funding plan and commitment to improvements and upgrades of the solution(s) put in place.
Follow industry Standards, Best Practices, and Guiding Principles for Source Code Configuration Management (SCCM), whenever possible". One of the most common errors many enterprises make is to create solutions from scratch or without the guidance, assistance and/or experience of others who have created such solutions, before them. Whenever possible, the IF4IT recommends that you research existing Standards, Best Practices, and Guiding Principles to avoid the mistakes of others, while also gaining from their successes. Remember, we live in a vast world. Chances are very high that someone else has already experienced the pain you're about to create for yourself. Wise people will always look to learn from such people's experiences before they go down the road of implementing their own solutions.
Work toward and maintain a Single Source of Truth (SSoT), whenever possible. While it may be impossible to truly maintain a Single Source of Truth (SSoT) for all data items at all times, especially in the case where the same data entity or instance enters an enterprise through unique data channels, it is an accepted, industry-wide best practice to always work toward such a goal.

Further Reading and Reference Material for Source Code Configuration Management (SCCM)

The Information Technology (IT) Learning Framework. A tutorial that helps understand Information Technology and how disciplines, such as this one, fits into the bigger picture of IT Operations.

Copyright 2009 - Present by The International Foundation for Information Technology (IF4IT) : Privacy Policy and Terms of Use