- 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
licenseand 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"
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"
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 customerwill receive all the information and software componentsat 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 customerwith 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 licenseand management information. In the following paragraphs is explained how these elements fit into the CCU delivery phase.
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 componentsthat 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 customerare able to keep track of the functionality and properties of the product the customeris using.
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
versionof 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.
The manual is the document that will provide the
customerwith guidance in deploying and using the product.
licenseis in this case a Software licenseagreement in which is stated how the customeris permitted to use the product. For example it can state how many users are permitted to use the software product. In this situation the licenseagreement 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 feedbacksection of this article. The licenseagreement shipped to the customercan be a digital document as well as a physical document.
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.
Offline vs Online
software distributionof 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
customerneeds 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 versionof the software product at the customer’s site automatically checks the repositoryfor 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 customersearches for an update at the online repository. The customercan also manually do a request for a product via the website of the vendor. A third option is that the customerdoes 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
customerdesires. This process can also take place automatically by checking the customer’s configuration in the configuration managementsystem. More information on this system is provided in the next chapter. When it is clear what product the customerneeds 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 managementsystem. When the configuration of the customerappears to be insufficient the customer is informed about this. For example the vendor can make clear to the customerthat 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
licenseof the customer. If the customerdoes not have a proper licensefor the requested product the licenseneeds to be obtained. The customerwill be informed about this and the CRM system will be updated again. If the customerhas the proper licenseor wants to buy the proper licensealong with the product, the product is delivered to the customer.
Software configuration management
Software Configuration Managementsystem, 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 customerparticular service when it needs a new product. In the software configuration managementsystem information about the products used by the customer, the versionof 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 customeris using. For example what operating platform the customeruses for its software. What also should be stored in this system is information about the feedbackthat the vendor gets from the customer. This includes bug reports, product usage data, error reports and usage questions. More information about this feedbackcan 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
customerrequests a product or an update. As already stated the vendor can also easily inform the customerabout some adaptations the customerneeds 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 customerdoes a request.
customer relationship managementsystem contains all kinds of data about the customers of a company. In this article we will discuss the function of this customerdata in the CCU delivery process. Information about the licenseagreement between the customerand the software vendor is stored in the CRM system. In the meta-data model this is called the licensetype. This information is being consulted by the vendor when a customerdoes a request for a product. When the repositoryand online distribution is linked to the CRM system this can again be done automatically. The system will check if the licenseof a customeris 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
feedbackfrom the customer. As already mentioned in the previous chapters there will have to be feedbackwhen a customertries to obtain a product but the current licenseappears 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 customerin 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 customerfor example about an update which overcomes the constraints to which the customercouldn’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 managementsystem 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 feedbacktechniques in their products.
As already stated in the chapter about the
configuration managementsystem it is also important that the vendor receives information about the usage of the product. More information about this feedbackcan be found in the CCU phase activation and usage.
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 planningsoftware 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 versionor 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 customerdoes a request.
Method Engineering Encyclopedia
Customer Configuration Updating
# [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]
# 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