CCU Delivery
Encyclopedia
Customer Configuration Updating (CCU) is a software development
Software development
Software development is the development of a software product...

 method for structuring the process of providing customers with new versions of products and updates production. This method is developed by researchers of the Utrecht University
Utrecht University
Utrecht University is a university in Utrecht, Netherlands. It is one of the oldest universities in the Netherlands and one of the largest in Europe. Established March 26, 1636, it had an enrollment of 29,082 students in 2008, and employed 8,614 faculty and staff, 570 of which are full professors....

.

This article is about the delivery phase of the CCU method. Delivery concerns the process which starts at the moment a product is finished until the actual shipping of the product to the customer.

Introduction to the delivery process

As described in the general entry of CCU, the delivery phase is the second phase of the CCU method. In figure one the CCU method is depicted. The phases of CCU that are not covered in this article are concealed by a transparent grey rectangle.

As can be seen in figure one, the delivery phase is in between the release phase and the deployment phase. A software vendor develops and releases a software product and afterwards it has to be transported to the customer. This phase is the delivery process. This process is highly complex because the vendor often has to deal with a product which has multiple versions, variable features, dependency on external products, and different kinds of distribution
Distribution (business)
Product distribution is one of the four elements of the marketing mix. An organization or set of organizations involved in the process of making a product or service available for use or consumption by a consumer or business user.The other three parts of the marketing mix are product, pricing,...

 options. The CCU method helps the software vendor in structuring this process.

In figure 2, the process-data diagram of the delivery phase within CCU is depicted. This way of modeling was invented by Saeki (2003). On the left side you can see the meta-process model and on the right side the meta-data model. The two models are linked to each other by the relationships visualized as doted lines. The meta-data model (right side) shows the concepts involved in the process and how the concepts are related to each other. For instance it is visible that a package consists of multiple parts, being the: software package
Software package (installation)
In package management systems, which are commonly used with Linux-based operating systems, a package is a specific piece of software which the system can install and uninstall....

, system description, manual, and license and management information. The numbers between the relations indicate in what quantity the concepts are related. For example the “1..1” between package and software package means that a package has to contain at least 1 software package and at the most 1 software package. So in this case a package just has to contain 1 software package. On the left side of the picture the process-data model is depicted. This consists of all the activities within the delivery process. This article is based on this process-data model. The meta-process model (left side of the process-data diagram) is divided into several parts which are presented along with the corresponding paragraphs throughout the article to make it easier to understand.

The tables that describe the concepts of the meta-data model and the activities of the process-data model are presented beneath figure 2.

Table of concepts

The table of concepts contains all concepts used in the meta-data model with their explanations along with the source from which the explanations are derived.
Table 1: Table of concepts
Concept Definition (Source)
REPOSITORY Also called a vault. A repository contains only one complete version of a configuration item (CI). Differences between versions are usually stored using a delta algorithm.

Collection of records describing resources
package A collection of different related items combined for transferring purposes to the customer.
SOFTWARE PACKAGE
Software package (installation)
In package management systems, which are commonly used with Linux-based operating systems, a package is a specific piece of software which the system can install and uninstall....

A collection of different related software components combined for transferring purposes to the customer.
SOFTWARE COMPONENTS The different components of which software consists related through dependencies.
VERSION A version is a state of an object or concept that varies from its previous state or condition.
SYSTEM DESCRIPTION Description of the system including its requirements and the dependencies on other external components.
manual A technical communication document intended to give assistance to people using a particular system.
LICENSE
License
The verb license or grant licence means to give permission. The noun license or licence refers to that permission as well as to the document recording that permission.A license may be granted by a party to another party as an element of an agreement...

Type of proprietary or gratuitous license as well as a memorandum of contract between a producer and a user of computer software that specifies the perimeters of the permission granted by the owner to the user.
MANAGEMENT INFORMATION All the information that is relevant for the management of the system at the customer site.
CUSTOMER RELATIONSHIP MANAGEMENT SYSTEM
Customer relationship management
Customer relationship management is a widely implemented strategy for managing a company’s interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes—principally sales activities, but also those for marketing,...

A system which maintains all information about the customers.
CUSTOMER
Customer
A customer is usually used to refer to a current or potential buyer or user of the products of an individual or organization, called the supplier, seller, or vendor. This is typically through purchasing or renting goods or services...

A company or person that bought some product or made use of one of your companies services before.
LICENSE TYPE In this case it can either be a long term license, an expired license or a temporary license.
CUSTOMER DATA All known information about the customers in the customer relationship management system
Customer relationship management
Customer relationship management is a widely implemented strategy for managing a company’s interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes—principally sales activities, but also those for marketing,...

.
CONFIGURATION MANAGEMENT SYSTEM
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

A system maintaining information about the software configurations at the customer sites.
PRODUCT An element of software or a document placed under version control.
UPDATES
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...

An update
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...

 also called a patch is a small piece of software designed to update or fix problems with a computer program
CONFIGURATION
Computer configuration
In communications or computer systems, a configuration is an arrangement of functional units according to their nature, number, and chief characteristics. Often, configuration pertains to the choice of hardware, software, firmware, and documentation...

A configuration
Computer configuration
In communications or computer systems, a configuration is an arrangement of functional units according to their nature, number, and chief characteristics. Often, configuration pertains to the choice of hardware, software, firmware, and documentation...

 is an arrangement of functional units according to their nature, number, and chief characteristics.
MODIFICATION
Modification
Modification may refer to:*Modifications of school work for students with special educational needs*Modifications *Posttranslational modifications*Mod *Modified car*Body modification*Grammatical modifier-See also:...

Modification
Modification
Modification may refer to:*Modifications of school work for students with special educational needs*Modifications *Posttranslational modifications*Mod *Modified car*Body modification*Grammatical modifier-See also:...

 is the act of applying change to an original.
FEEDBACK
Feedback
Feedback describes the situation when output from an event or phenomenon in the past will influence an occurrence or occurrences of the same Feedback describes the situation when output from (or information about the result of) an event or phenomenon in the past will influence an occurrence or...

Feedback
Feedback
Feedback describes the situation when output from an event or phenomenon in the past will influence an occurrence or occurrences of the same Feedback describes the situation when output from (or information about the result of) an event or phenomenon in the past will influence an occurrence or...

 allows a vendor to gather large amounts
of data about its customers and its product as it acts in the field
BUG REPORT A report of the problems users encountered using the product. This can mean a problem with a certain function or dead links within the system. This information is collected manually.
PRODUCT USAGE DATA This data contains information about the actual product usage. This reflects on options that are most used within the program.
ERROR REPORT When the software product gets an error it will automatically send an error report to the vendor.
USAGE QUESTIONS Questions users have about handling the product etc.

Activity table

The activity table contains the explanations of the activities along with the source from which the explanations are derived. Because the method is quite innovative a lot of the activity’s are designed especially for this model and therefore the explanations do not have a source.
Table 2: Activity Table

Activity Sub-Activity Description (Source)
package Packaging the system so that it can be transferred to the customers’
Customer
A customer is usually used to refer to a current or potential buyer or user of the products of an individual or organization, called the supplier, seller, or vendor. This is typically through purchasing or renting goods or services...

 site.
package software Combining different software components into one package that can be delivered to the customer.
package system description Add a system description to the package.
package manual Add a manual to the package.
package license Add a license to the package.
package management information Add a management information document to the package.
Check package Make sure that the package is complete and ready for deployment at the customer site.
Advertise update
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...

When a vendor wishes to provide updates
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...

 to its customers, the customers first need to be informed through the available communication channels.
Prepare distribution
Distribution (business)
Product distribution is one of the four elements of the marketing mix. An organization or set of organizations involved in the process of making a product or service available for use or consumption by a consumer or business user.The other three parts of the marketing mix are product, pricing,...

Prepare measures be able to get the software to the customer.
Set package in repository
Software repository
A software repository is a storage location from which software packages may be retrieved and installed on a computer.- Discussion :Many software publishers and other organizations maintain servers on the Internet for this purpose, either free of charge or for a subscription fee...

A finished software component will be made available in some release repository.
Create transfer channels The vendor needs to create channels through which the software can be transferred to the customer.
Distribute
Distribution (business)
Product distribution is one of the four elements of the marketing mix. An organization or set of organizations involved in the process of making a product or service available for use or consumption by a consumer or business user.The other three parts of the marketing mix are product, pricing,...

Getting the software to the different customers.
customer request A customer makes the vendor aware of his interest for a certain product or update.
Determine configuration needs It is determined which software components are needed for a successful configuration update.
Determine configuration constraints It is determined to which constraints the infrastructure of the customer has to suffice in order to run the new product or update
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...

.
Check customers license It is checked if the customer is in possession of the right license for the new configuration update
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...

.
Deliver update
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...

Getting the software components at the customer site.
Inform customer Providing the customer with information about in this case the status of its request.
Update CRM Add information to the CRM system so that it contains the most current information available.
Receive delivery and deployment report Getting a report (automatically or manually) about the success of the delivery and deployment from the customer.
Update license type Add information about the license obtained by the customer so that the system contains the most current information available.
Update configuration management
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

Add recent information in the configuration management
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

 system, so that the customer most recent configuration is stored.
Update product properties Renew the information about the products in use by the customer so that the system contains the most current information available.

Package software

In order to deliver the developed product to the customer, the vendor needs to package the different components of its product into a package. By doing this, the customer will receive all the information and software components at once fulfilling al its needs. After combining all elements into one package the software vendor will carefully have to check if the package is complete. The package will have to provide the customer with all the tools and information to use the product. When this is not the case the software vendor will get a lot of questions from its customers which will consume a lot of time. It is therefore very important that the package is checked carefully before it is shipped. The package can be a physical combination of different elements packed into for example a box, but it can also be a digital combination of files which contain all the elements. Within the CCU process it is stated that a package will consist of five elements, being: software package
Software package (installation)
In package management systems, which are commonly used with Linux-based operating systems, a package is a specific piece of software which the system can install and uninstall....

, system description, manual, and license and management information. In the following paragraphs is explained how these elements fit into the CCU delivery phase.

Software package

One of the elements of the package will be the software package
Software package (installation)
In package management systems, which are commonly used with Linux-based operating systems, a package is a specific piece of software which the system can install and uninstall....

. The software package is a package in itself, because it consists of the different software components that together form the product. In contrast with the overall package, the software package is always a technical package in which all the files needed are combined in order to run the software product. Another concept of the software package is the version. This keeps track of the modification
Modification
Modification may refer to:*Modifications of school work for students with special educational needs*Modifications *Posttranslational modifications*Mod *Modified car*Body modification*Grammatical modifier-See also:...

s made to the software product. By relating it to the software package the vendor and the customer are able to keep track of the functionality and properties of the product the customer is using.

System description

It is a general description of what the product and its functionalities. In addition it will also describe of what components, the product consists and how these are related to other product software already in place. In case of a software update
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...

 it will for example describe how the previous version of the software is modified by this product. Besides this, it will also describe the requirements needed to run the software product properly. For example what other products and configurations need to be in place in order to let this product run properly.

Manual

The manual is the document that will provide the customer with guidance in deploying and using the product.

License

The license is in this case a Software license agreement
Software license agreement
A software license agreement is a contract between the "licensor" and purchaser of the right to use software. The license may define ways under which the copy can be used, in addition to the automatic rights of the buyer including the first sale doctrine and .Many form contracts are only contained...

 in which is stated how the customer is permitted to use the product. For example it can state how many users are permitted to use the software product. In this situation the license agreement is a contract or a certificate which is the customers prove of its using permits. The software vendor has its own part of the agreement which in most cases is stored in a system. An elaboration of this part can be found at the receive feedback
Feedback
Feedback describes the situation when output from an event or phenomenon in the past will influence an occurrence or occurrences of the same Feedback describes the situation when output from (or information about the result of) an event or phenomenon in the past will influence an occurrence or...

 section of this article. The license agreement shipped to the customer can be a digital document as well as a physical document.

Management information

This piece of information should contain the information that is relevant for managing the system at the customer site. In many cases this information is already part of the manual. However in particular situations this information is meant only for the management of the system and not for the users of the system and is therefore supplied as a separate document.

Distribution

After the package is assembled it needs to be distributed
Distribution (business)
Product distribution is one of the four elements of the marketing mix. An organization or set of organizations involved in the process of making a product or service available for use or consumption by a consumer or business user.The other three parts of the marketing mix are product, pricing,...

 to the customers. This section within the delivery process is about the actual delivery of the package to the customers.

Offline vs Online

The software distribution of a product can be done offline as well as online. In an offline situation the package is a physical package which contains all the elements. The software is stored on a data carrier such as a CD or a DVD, and the documents might also be stored in a digital form on this data carrier, or they might be in physical form such as a booklet. The package as a whole is a physical product. In an online situation the entire package needs to be in a digital form. The consequences on the distribution
Distribution (business)
Product distribution is one of the four elements of the marketing mix. An organization or set of organizations involved in the process of making a product or service available for use or consumption by a consumer or business user.The other three parts of the marketing mix are product, pricing,...

 process are described in the following paragraphs. CCU is designed to fit both situations but as bandwidth is growing it is making more sense to distribute especially updates and new versions to existing customers online. In this article both ways are discussed. In the process-data model it is assumed that the software vendor conducts both distribution
Distribution (business)
Product distribution is one of the four elements of the marketing mix. An organization or set of organizations involved in the process of making a product or service available for use or consumption by a consumer or business user.The other three parts of the marketing mix are product, pricing,...

 channels. As a practical example: HISComp, a provider of medical information systems distributes its software straightforward via CDs. However they use their website to distribute patches for the software products.

Preparation of distribution

After a new package is assembled, the customer needs to be made aware of the new release. In the process-data model this is being depicted as a loop which states advertising the update until the customers are being properly informed. Besides this, the package ready for delivery, needs to be stored in a repository for the online distribution
Distribution (business)
Product distribution is one of the four elements of the marketing mix. An organization or set of organizations involved in the process of making a product or service available for use or consumption by a consumer or business user.The other three parts of the marketing mix are product, pricing,...

. In addition the vendor needs to create transfer channels. For the online distribution
Distribution (business)
Product distribution is one of the four elements of the marketing mix. An organization or set of organizations involved in the process of making a product or service available for use or consumption by a consumer or business user.The other three parts of the marketing mix are product, pricing,...

 this means that the vendor needs to create online channels to its repository. In most cases this means that a link to the product on the website of the vendor is created. In case of updates it is largely applicable that the current version of the software product at the customer site automatically checks the repository for new updates of the product. In case of offline distribution
Distribution (business)
Product distribution is one of the four elements of the marketing mix. An organization or set of organizations involved in the process of making a product or service available for use or consumption by a consumer or business user.The other three parts of the marketing mix are product, pricing,...

, the vendor needs to create physical transfer channels. This can be shops or just a contract with a courier company.

The actual distribution

The distribution
Distribution (business)
Product distribution is one of the four elements of the marketing mix. An organization or set of organizations involved in the process of making a product or service available for use or consumption by a consumer or business user.The other three parts of the marketing mix are product, pricing,...

 begins with the request for a product by the customer. This can be done automatically when the current product of the customer searches for an update at the online repository. The customer can also manually do a request for a product via the website of the vendor. A third option is that the customer does the request via telephone or e-mail.

When the vendor is aware of the customer request it will determine the customer needs. By checking what the customer current configuration is and what the customer desires. This process can also take place automatically by checking the customer configuration in the configuration management
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

 system. More information on this system is provided in the next chapter. When it is clear what product the customer needs and the possible modification
Modification
Modification may refer to:*Modifications of school work for students with special educational needs*Modifications *Posttranslational modifications*Mod *Modified car*Body modification*Grammatical modifier-See also:...

s to this product it is necessary to determine if the customer current configuration suits the new product. The current configuration is compared to the constraints of the new product. This can also be done automatically by the configuration management
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

 system. When the configuration of the customer appears to be insufficient the customer is informed about this. For example the vendor can make clear to the customer that it will need an external product for this new product to run properly. Besides this the Customer Relationship Management
Customer relationship management
Customer relationship management is a widely implemented strategy for managing a company’s interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes—principally sales activities, but also those for marketing,...

 (CRM) system of the vendor is updated. There is more information about this in the chapter about CRM.

When the customer configuration is sufficient the vendor will check the current license of the customer. If the customer does not have a proper license for the requested product the license needs to be obtained. The customer will be informed about this and the CRM system will be updated again. If the customer has the proper license or wants to buy the proper license along with the product, the product is delivered to the customer.

Software configuration management

The Software Configuration Management
Software configuration management
In software engineering, software configuration management is the task of tracking and controlling changes in the software. Configuration management practices include revision control and the establishment of baselines....

 system, is a system at the vendor’s site which keeps track of the configurations at the customer site. By storing this in a system the vendor will be able to give the customer particular service when it needs a new product. In the software configuration management
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

 system information about the products used by the customer, the version of these products, as well as which updates are already being done, is stored. In some cases it is possible that the vendor did some modification
Modification
Modification may refer to:*Modifications of school work for students with special educational needs*Modifications *Posttranslational modifications*Mod *Modified car*Body modification*Grammatical modifier-See also:...

s to the product particularly for this customer. This will also have to be stored in the system. Also there needs to be configuration data
Computer configuration
In communications or computer systems, a configuration is an arrangement of functional units according to their nature, number, and chief characteristics. Often, configuration pertains to the choice of hardware, software, firmware, and documentation...

, some generic information about the configuration the customer is using. For example what operating platform the customer uses for its software. What also should be stored in this system is information about the feedback
Feedback
Feedback describes the situation when output from an event or phenomenon in the past will influence an occurrence or occurrences of the same Feedback describes the situation when output from (or information about the result of) an event or phenomenon in the past will influence an occurrence or...

 that the vendor gets from the customer. This includes bug reports, product usage data, error reports and usage questions. More information about this feedback
Feedback
Feedback describes the situation when output from an event or phenomenon in the past will influence an occurrence or occurrences of the same Feedback describes the situation when output from (or information about the result of) an event or phenomenon in the past will influence an occurrence or...

 can be found in the CCU phase activation and usage.

By storing all this information the vendor can determine the customer needs very precisely whenever a customer requests a product or an update. As already stated the vendor can also easily inform the customer about some adaptations the customer needs to make to its configuration in order to let the product function properly. Another advantage of storing this information in a system is that it will ease the process of online delivery. The checking of the configuration needs and constraints can all be done automatically when a customer does a request.

CRM system

The customer relationship management
Customer relationship management
Customer relationship management is a widely implemented strategy for managing a company’s interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes—principally sales activities, but also those for marketing,...

 system contains all kinds of data about the customers of a company. In this article we will discuss the function of this customer data in the CCU delivery process. Information about the license agreement between the customer and the software vendor is stored in the CRM system. In the meta-data model this repository and online distribution
Distribution (business)
Product distribution is one of the four elements of the marketing mix. An organization or set of organizations involved in the process of making a product or service available for use or consumption by a consumer or business user.The other three parts of the marketing mix are product, pricing,...

 is linked to the CRM system this can again be done automatically. The system will check if the license of a customer is sufficient to obtain a certain product or update.

Receiving feedback and updating the systems

In order to keep all the described systems up-to-date at the vendor site it is important that the vendor receives a lot of

Example

An example of a successful application of the CCU method can be found at Exact Software (ES). ES is a manufacturer of accounting and enterprise resource planning
Enterprise resource planning
Enterprise resource planning systems integrate internal and external management information across an entire organization, embracing finance/accounting, manufacturing, sales and service, customer relationship management, etc. ERP systems automate this activity with an integrated software application...

 software based in the Netherlands. ES has combined Product Data Management
Product Data Management
Product data management is the business function often within product lifecycle management that is responsible for the creation, management and publication of product data...

 (PDM), Customer Relationship Management
Customer relationship management
Customer relationship management is a widely implemented strategy for managing a company’s interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes—principally sales activities, but also those for marketing,...

 (CRM) and Software Configuration Management
Software configuration management
In software engineering, software configuration management is the task of tracking and controlling changes in the software. Configuration management practices include revision control and the establishment of baselines....

 (SCM) in order to maintain the configuration at the customer site in a better and less complex way. ES has a module in its CRM software that contains all contracts of each customer. This is linked to their PDM system. Every contract corresponds to files that can be downloaded for a new version or update of a previous version. In the delivery phase this means that the customers are able to obtain all the products through an online connection. So ES sells contracts (licenses) and stores them into their CRM system, the delivery of the actual products can be done by the customers themselves completely automated requiring little effort. The PDM system is on its turn linked to the SCM system which keeps track of the configurations the customers are using. In the delivery phase this means that ES is able to automatically determine the customer needs whenever a customer does a request.

Further reading

  • Krishnan M. S., (1994). Software release management: a business perspective, Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research, p. 36, October 31-November 3, 1994, Toronto, Ontario, Canada
  • S. Jansen & G. Ballintijn and Sjaak Brinkkemper
    Sjaak Brinkkemper
    Jacobus Nicolaas Brinkkemper is a Dutch computer scientist, and Full Professor of organisation and information at the Department of Information and Computing Sciences of Utrecht University.-Biography:...

     (2004). Software Release and Deployment At Exact: A Case Study
  • S. Jansen & G. Ballintijn and Sjaak Brinkkemper
    Sjaak Brinkkemper
    Jacobus Nicolaas Brinkkemper is a Dutch computer scientist, and Full Professor of organisation and information at the Department of Information and Computing Sciences of Utrecht University.-Biography:...

    (2005). Integrated SCM/PDM/CRM and delivery of software products to 160.000 customers. CWI. Software Engineering [SEN] 2004.
  • Saeki M. (2003). Embedding Metrics into Information Systems Development Methods: An Application of Method Engineering Technique. CAiSE 2003, 374-389.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK