|Discipline Quick Links|
|Disciplines Master Index|
|Glossary Quick Links|
|Glossary Master Index|
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 "Build Version Management." 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.
This document or artifact, along with everything in it, is intended to act as a "Framework" that addresses various aspects of Build Version Management.
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:
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. "Build Version Management").
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 "Build Version Management" that range from its detailed definition through closely related terms, phrases and their definitions, to its detailed specification of Build Version Management Capabilities, and all the way through to defining, delivering, operating and supporting Build Version Management 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.
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 "Build Version Management."
|Build Version Management Glossary|
|Build Version||Build Version Management Release|
|Build Version Automation||Build Version Management Report|
|Build Version Capacity Management||Build Version Management Reporting|
|Build Version Catalog||Build Version Management Roadmap|
|Build Version Catalogue||Build Version Management Role|
|Build Version Configuration||Build Version Management Schedule|
|Build Version Configuration Item||Build Version Management Security|
|Build Version Configuration Management||Build Version Management Service|
|Build Version Cost||Build Version Management Service Assurance|
|Build Version Data Entity||Build Version Management Service Contract|
|Build Version Database||Build Version Management Service Level Agreement (SLA)|
|Build Version Decommission||Build Version Management Service Level Objective (SLO)|
|Build Version Delivery||Build Version Management Service Level Requirement (SLR)|
|Build Version Dependency||Build Version Management Service Level Target (SLT)|
|Build Version Deployment||Build Version Management Service Provider|
|Build Version Document||Build Version Management Service Request|
|Build Version Document Management||Build Version Management Software|
|Build Version File Plan||Build Version Management Solution|
|Build Version Framework||Build Version Management Stakeholder|
|Build Version Governance||Build Version Management Standard|
|Build Version History||Build Version Management Strategy|
|Build Version Identifier||Build Version Management Supply|
|Build Version Inventory||Build Version Management Support|
|Build Version Item||Build Version Management System|
|Build Version Lifecycle||Build Version Management Theory|
|Build Version Management||Build Version Management Training|
|Build Version Management Application||Build Version Management Vision|
|Build Version Management Best Practice||Build Version Management Workflow|
|Build Version Management Capability||Build Version Metadata|
|Build Version Management Center of Excellence||Build Version Migration|
|Build Version Management Certification||Build Version Plan|
|Build Version Management Class||Build Version Portfolio|
|Build Version Management Community of Practice (CoP)||Build Version Portfolio Lifecycle Management|
|Build Version Management Course||Build Version Portfolio Management|
|Build Version Management Data||Build Version Processing|
|Build Version Management Data Dictionary||Build Version Record|
|Build Version Management Database||Build Version Records Management|
|Build Version Management Demand||Build Version Repository|
|Build Version Management Dependency||Build Version Reuse|
|Build Version Management Document||Build Version Review|
|Build Version Management Documentation||Build Version Schedule|
|Build Version Management File Plan||Build Version Schematic (Schema)|
|Build Version Management Form||Build Version Security|
|Build Version Management Framework||Build Version Software|
|Build Version Management Governance||Build Version Strategy|
|Build Version Management Lessons Learned||Build Version Support|
|Build Version Management Metric||Build Version Taxonomy|
|Build Version Management Operating Model||Build Version Termination|
|Build Version Management Organization||Build Version Tracking|
|Build Version Management Plan||Build Version Tracking Software|
|Build Version Management Platform||Build Version Transaction|
|Build Version Management Policy||Build Version Unique Identifier|
|Build Version Management Portfolio||Build Version Verification|
|Build Version Management Principle||Build Version Version|
|Build Version Management Procedure||Build Version Workflow|
|Build Version Management Process||Centralized Build Version Management|
|Build Version Management Professional||Decentralized Build Version Management|
|Build Version Management Program||Enterprise Build Version Management|
|Build Version Management Project||Federated Build Version Management|
|Build Version Management Reference Architecture||Regional Build Version Management|
|Build Version Management Release|
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.
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. Build Version Management), 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 Build Version Management represents the ability to deal with any and all Build Version Items and anything relevant that is related to or associated with any Build Version 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 Build Version Management is the superset of all the above Sub-Capabilities, as they pertain to or are applied to the discipline-specific Noun: "Build Version." 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 Build Version Management.
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 Build Version Management for the following reasons...
Capability Modeling Recommendations: Some things to consider and keep in mind when working on or creating your Build Version Management and Enterprise Capability Models...
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 Build Version Management, 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 Build Version Management, 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 Build Version Management 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 Build Version Management. 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 Build Version Management, 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 Build Version Management, it is also considered a best practice to clearly publish and socialize Build Version Management 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.
Figure: How Ownership of the Capability Build Version Management 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 Build Version Management, and are instantly made accountable to the enterprise for the results of all Build Version Management Thinking activities (i.e. Strategy, Research, Planning and Design), all Build Version Management Delivery activities (i.e. Construction, Deployment and Quality Assurance), and all Build Version Management Operations activities (i.e. Use, Maintenance and Support). Done correctly, Build Version Management 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 Build Version Management 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 Build Version Management 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 Build Version Management 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 Build Version Management, 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 Build Version Management related work. In other words, if you want to implement Build Version Management as an enterprise Service, then you absolutely must start with clearly defined, published and socialized Ownership.
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 "Build Version Management," 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 Build Version Management is: "Build Version," which is sometimes referred to as a the Noun: "Build Version 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 Build Version Management 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 Build Version Management), 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.
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 "Build Version."
|Actions/Verbs||Example as Applied to "Build Version"||Generic Roles||Discipline-Specific Roles|
|Administrate||Administrate Build Version||Administrator||Build Version Administrator|
|Approve||Approve Build Version||Approver||Build Version Approver|
|Architect||Architect Build Version||Architector||Build Version Architector|
|Archive||Archive Build Version||Archiver||Build Version Archiver|
|Audit||Audit Build Version||Auditor||Build Version Auditor|
|Bundle||Bundle Build Version||Bundler||Build Version Bundler|
|Clone||Clone Build Version||Cloner||Build Version Cloner|
|Code||Code Build Version||Coder||Build Version Coder|
|Configure||Configure Build Version||Configurer||Build Version Configurer|
|Copy||Copy Build Version||Copier||Build Version Copier|
|Create||Create Build Version||Creator||Build Version Creator|
|Decommission||Decommission Build Version||Decommissioner||Build Version Decommissioner|
|Delete||Delete Build Version||Deletor||Build Version Deletor|
|Deploy||Deploy Build Version||Deployer||Build Version Deployer|
|Deprecate||Deprecate Build Version||Deprecator||Build Version Deprecator|
|Design||Design Build Version||Designer||Build Version Designer|
|Destroy||Destroy Build Version||Destroyer||Build Version Destroyer|
|Develop||Develop Build Version||Developer||Build Version Developer|
|Distribute||Distribute Build Version||Distributor||Build Version Distributor|
|Download||Download Build Version||Downloader||Build Version Downloader|
|Edit||Edit Build Version||Editor||Build Version Editor|
|Educate||Educate Build Version||Educator||Build Version Educator|
|Export||Export Build Version||Exporter||Build Version Exporter|
|Govern||Govern Build Version||Governor||Build Version Governor|
|Import||Import Build Version||Importer||Build Version Importer|
|Initialize||Initialize Build Version||Initializer||Build Version Initializer|
|Install||Install Build Version||Installer||Build Version Installer|
|Instantiate||Instantiate Build Version||Instantiator||Build Version Instantiator|
|Integrate||Integrate Build Version||Integrator||Build Version Integrator|
|Manage||Manage Build Version||Manager||Build Version Manager|
|Merge||Merge Build Version||Merger||Build Version Merger|
|Modify||Modify Build Version||Modifier||Build Version Modifier|
|Move||Move Build Version||Mover||Build Version Mover|
|Own||Own Build Version||Owner||Build Version Owner|
|Package||Package Build Version||Packager||Build Version Packager|
|Persist||Persist Build Version||Persister||Build Version Persister|
|Plan||Plan Build Version||Planner||Build Version Planner|
|Purge||Purge Build Version||Purger||Build Version Purger|
|Receive||Receive Build Version||Receiver||Build Version Receiver|
|Record||Record Build Version||Recorder||Build Version Recorder|
|Recover||Recover Build Version||Recoverer||Build Version Recoverer|
|Register||Register Build Version||Registrar||Build Version Registrar|
|Relocate||Relocate Build Version||Relocator||Build Version Relocator|
|Reject||Reject Build Version||Rejecter||Build Version Rejecter|
|Remove||Remove Build Version||Remover||Build Version Remover|
|Replicate||Replicate Build Version||Replicator||Build Version Replicator|
|Report||Report Build Version||Reporter||Build Version Reporter|
|Request||Request Build Version||Requestor||Build Version Requestor|
|Restore||Restore Build Version||Restorer||Build Version Restorer|
|Review||Review Build Version||Reviewer||Build Version Reviewer|
|Save||Save Build Version||Saver||Build Version Saver|
|Search||Search Build Version||Searcher||Build Version Searcher|
|Split||Split Build Version||Splitter||Build Version Splitter|
|Sponsor||Sponsor Build Version||Sponsor||Build Version Sponsor|
|Store||Store Build Version||Storer||Build Version Storer|
|Strategize||Strategize Build Version||Strategizer (or Strategy Setter)||Build Version Strategizer (or Build Version Strategy Setter)|
|Support||Support Build Version||Supporter||Build Version Supporter|
|Train||Train Build Version||Trainer||Build Version Trainer|
|Upgrade||Upgrade Build Version||Upgrader||Build Version Upgrader|
|Upload||Upload Build Version||Uploader||Build Version Uploader|
|Version||Version Build Version||Versioner||Build Version Versioner|
|View||View Build Version||Viewer||Build Version 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 Build Version Management, even if your enterprise doesn't maintain a Capability Model that lists specific Build Version Management Capabilities. Application designers, developers, and architects often find such Verb Lists or Feature Inventories to be invaluable.
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 Build Version Management 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 Build Version 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 Build Version Taxonomy is nothing more than a classification or typing mechanism that helps people and systems distinguish between different Build Version Items, Entities, Types, Records or any other Build Version Management 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.
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 Build Version Management related data.
Like the data associated with any other professional IT Discipline, Build Version Management related data adheres to the following common Data Lifecycle Phases:
Figure: Build Version Management Lifecycle Phases
The above Life Cycle Phases represent the high level transitions that occur from the inception of Build Version 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 "Build Version Management States."
As with any professional Discipline, the place to start with when dealing with Build Version Management specific metrics is with standard metrics categorizations. Standard Metrics Categorizations, or what are commonly referred to as "SMCs," include but are not limited to...
Build Version Management Quantitative Metrics: Quantitative metrics for Build Version Management often revolve around the "counting" of key constructs that are associated with the Discipline. For example, the number of Build Version Items or Entities that have been Created, Edited or Modified, Copied or Cloned, Destroyed, Archived, Restored, etc. (Note the correlations to key Build Version Management Verbs!). Also, the counts for things like the number of Build Version Management Stakeholders, such as but not limited to Paying Customers, End Users, Employees, Consultants, etc. are also very useful.
Build Version Management Qualitative Metrics: Qualitative metrics for Build Version Management often revolve around concepts such as Build Version Management Defects, Failures, Problems, Incidents, and/or Issues. So, for example, if we were to capture the number of Build Version Management 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.
Build Version Management Time Metrics: When dealing with Build Version Management 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 Build Version Management 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 Build Version Management 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.
Build Version Management Utilization Metrics: Utilization Metrics specifically have to do with the consumption of Build Version Management specific solutions or deliverables. For example, tracking the number of Build Version Management Service Requests, over periods of time, along with their corresponding Build Version Management Deliverables, allows one to measure how active Build Version Management Services are against other Services that may exist within the Enterprise.
Build Version Management Financial Metrics: As is always the case for any single Discipline, Financial Metrics for Build Version Management 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 Build Version Management Request is invoked by a Build Version Management 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.
One of the most important concepts you will learn about Build Version Management (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.
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).
Build Version Management Service Components: The successful implementation of Build Version Management 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:
Build Version Management Ownership: The most important thing to understand about a Build Version Management 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).
Build Version Management Service Inputs: There are typically two types of inputs to any Build Version Management Service. The first is what is known as a "Build Version Management 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.
Build Version Management 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 "Build Version Management Outputs" and "Build Version Management 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 Build Version Management 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.
Build Version Management Service Levels: Service Levels represent "performance agreements," contractual or otherwise, that dictate how well a Build Version Management Service should perform, most often keeping the Customers, Consumers, Clients or End Users of the Service in mind. Build Version Management 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, Build Version Management Service Levels are constraints, limitations, and/or expectations that are tied directly to Build Version Management 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.
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 Build Version Management Principle" to be:
Build Version Management 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 Build Version 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 Build Version Management Best Practice" to be:
Build Version Management Best Practice: "1. One or more Build Version 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 "Build Version Management Best Practices."
Common Build Version Management 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 Build Version Management, the following list represents a summary of some very basic examples of what implementers, supporters, and operators of Build Version Management should constantly be working toward:
|Principle or Best Practice||Description|
|Establish and always have very clear Ownership for Build Version Management.||Establishing, publishing and socializing clear Ownership for Build Version Management 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.|
|Always use standard terminology for Build Version Management, 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 Build Version Management, whenever possible.|
|Centralization of Build Version related data.||While often impossible to centralize and collocate all Build Version related data and information, especially in a geographically dispersed environment, Build Version Management 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 Build Version Management.|
|Transparency of Build Version related data.||Stakeholders should always strive to make any and all Build Version Management 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 Build Version Management solutions stand in the way of "good enough solutions".||Often, Build Version Management 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 Build Version Management, 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.|
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.