CCU Delivery


CCU Delivery

Customer Configuration Updating (CCU) is a production method developed by researchers of the Utrecht University. This method should help product software developers in structuring the process of providing customers with new versions of products and updates. 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.

This entry has been constructed as an element of the Method Engineering Encyclopedia of the Utrecht University.

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 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, 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"

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"

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, 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. 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. Examples of tools which can perform this packaging are: [http://www.lokigames.com/ Loki-Update] , [http://www.kleemann.org/rpm-update/oldindex.html/ RPM-update] , [http://swup.trustix.org/ SWUP] and [http://www.gentoo.org/doc/en/portage-manual.xml/ Portage] . Another concept of the software package is the version. This keeps track of the modifications 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 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 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 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’s 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 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 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 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. In addition the vendor needs to create transfer channels. For the online distribution 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’s site automatically checks the repository for new updates of the product. In case of offline distribution, 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 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’s request it will determine the customer’s needs. By checking what the customer’s current configuration is and what the customer desires. This process can also take place automatically by checking the customer’s configuration in the configuration management system. More information on this system is provided in the next chapter. When it is clear what product the customer needs and the possible modifications to this product it is necessary to determine if the customer’s 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 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 (CRM) system of the vendor is updated. There is more information about this in the chapter about CRM.

When the customer’s 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 system, is a system at the vendor’s site which keeps track of the configurations at the customer’s 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 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 modifications to the product particularly for this customer. This will also have to be stored in the system. Also there needs to be configuration data, 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 that the vendor gets from the customer. This includes bug reports, product usage data, error reports and usage questions. More information about this feedback can be found in the CCU phase activation and usage.

By storing all this information the vendor can determine the customer’s 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 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 is called the license type. This information is being consulted by the vendor when a customer does a request for a product. When the repository and online distribution 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 feedback from the customer. As already mentioned in the previous chapters there will have to be feedback when a customer tries to obtain a product but the current license appears to be insufficient. By updating the CRM system the vendor will store the customer’s request for a certain product or update. In this way the vendor will be aware of the interests of a customer in a certain product and could use this in the future for example in doing an offer. The same accounts when the customer’s configuration does not meet the constraints of a requested product. The vendor could use the information in the future to inform the customer for example about an update which overcomes the constraints to which the customer couldn’t suffice. Besides this it is also important that the vendor receives a delivery report after delivery and deployment. This report could be automatically generated and sent by the installed software product. In this way the vendor can (automatically) update the product properties in its customer configuration management system so that it has information about the products running at the customer’s site. Besides this, the information can be used as input for development improvement. Microsoft and Exact are already using these kinds of feedback techniques in their products.

As already stated in the chapter about the configuration management system it is also important that the vendor receives information about the usage of the product. More information about this feedback can be found in the CCU phase activation and usage.

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 software based in the Netherlands. ES has combined Product Data Management (PDM), Customer Relationship Management (CRM) and Software Configuration Management (SCM) in order to maintain the configuration at the customer’s 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's needs whenever a customer does a request.

See also

#Method Engineering Encyclopedia
#Customer Configuration Updating
#
#Release Management

External links

# [http://www.productsoftware.nl/ Product software]
# [http://www.lokigames.com/ Loki-Update]
# [http://www.kleemann.org/rpm-update/oldindex.html/ RPM-update]
# [http://swup.trustix.org/ SWUP]
# [http://www.gentoo.org/doc/en/portage-manual.xml/ Portage]
# [http://www.exactsoftware.com/ Exact Software]

References

# 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 03, 1994, Toronto, Ontario, Canada
# Jansen, S. & Ballintijn, G. & Brinkkemper, S., (2003). A process model and typology for software product updaters. Conference on Software Maintenance and Reuse. IEEE, 2005.
# Jansen, S. & Ballintijn, G. & Brinkkemper, S., (2005). Integrated SCM/PDM/CRM and delivery of software products to 160.000 customers. CWI. Software Engineering [SEN] 2004.
# Jansen, S. & Ballintijn, G. & Brinkkemper, S., (2005). Definition and validation of the key process areas of release, delivery and deployment for product software vendors: turning the gly duckling into a swan. In Technical Report CWI, 2005.
# Jansen, S., Ballintijn, G., & Brinkkemper, S. (2004). Software Release and Deployment At Exact: A Case Study Report. Retrieved February 8, 2006 from Computer science University Utrecht database.
# Carzaniga, A. & Fugetta, A. & Hall, R. & van der Hoek, A. & Heimbigner, D. & Wolf, A. (1998) A characterization framework for software deployment technologies.
# Saeki M. (2003). Embedding Metrics into Information Systems Development Methods: An Application of Method Engineering Technique. CAiSE 2003, 374-389.


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Software package (installation) — A software package refers to computer software packaged in an archive format to be installed by a package management system or a self sufficient installer. Linux based operating systems are normally segmented into packages. Each package contains… …   Wikipedia

  • Acronyms in healthcare — v · d · …   Wikipedia

  • Mexico City — This article is about the capital of Mexico, coterminous with the Federal District. For other uses, see Mexico City (disambiguation). Mexico City   City   Ciudad de México City of Mexico …   Wikipedia

  • Bicycle messenger — Bicycle courier, London, UK, riding a fixed gear bicycle with spoke cards …   Wikipedia

  • Mechanical ventilation — In architecture and climate control, mechanical or forced ventilation is the use of powered equipment, e.g. fans and blowers, to move air  see ventilation (architecture). Mechanical ventilation Intervention …   Wikipedia

  • Porton Down — is a United Kingdom government and military science park. It is situated slightly northeast of Porton near Salisbury in Wiltshire, England. To the northwest lies the MoD Boscombe Down test range facility which is operated by QinetiQ. On maps,… …   Wikipedia

  • Copper extraction techniques — This article is about historical production methods. For modern methods, see Flash smelting. The Chino open pit copper mine in New Mexico …   Wikipedia

  • Nursing unit — A nursing unit is an area in a hospital or other health care delivery setting where patients with similar needs are grouped to facilitate the delivery of care by health care professionals trained in that specialty. Typically a nurse manager or… …   Wikipedia

  • Medical ventilator — For other uses, see Modes of mechanical ventilation. For other uses, see ventilation (physiology). The Bird VIP Infant ventilator A medical ventilator can be defined as any machine designed to mechanically move breatheable air into and out of the …   Wikipedia

  • ProHD — State of the Industry = The U.S. consumer appetite for high definition television (HDTV) programming is undeniable. The Consumer Electronics Association says that more than 50 percent of U.S. households now own a digital television. It is… …   Wikipedia