Deliveries view

Introduction

Kiuwan provides support for Application Life Cycle, allowing to run analysis based on application's Baselines and Deliveries.
An application Baseline is a specific version of an application that is relevant enough to be considered as a reference to track further changes on it.
This version might be a productive or a development version of the application, depending on its life cycle stage:

Whatever be the reason to consider a concrete version as the baseline, that version will be considered as the reference to track (and compare) any new distribution of the application.
A new distribution of the application contains changes to the baseline due to corrective or evolutive maintenance. The new distribution will contain a set of source files that modify the source code of the application baseline.
In Kiuwan terminology, those changes to the application baseline are considered as a Delivery.
Depending on the content, the delivery can be Partial (only a subset of application files is delivered) or Complete (the complete application source code is delivered).
Kiuwan's functionality on Baseline and Deliveries allows to fully managing the complete applications life cycle:

Definition of the scope of the analysis (Baseline or Delivery)

At time of running a Kiuwan analysis, you can specify the scope of the analysis.                             
If you are running your analysis in the cloud, that analysis will be always considered as a Baseline analysis. To define other scopes, you should use Kiuwan Local Analyzer (KLA).
Previously to run a new analysis with KLA, you must select a scope depending on the type of analysis you want to run

 
Icon
KLA in CLI mode also allows to specify scope analysis options.
Please visit Code analysis using the downloaded agent#CommandLineInterface(CLI)script documentation for specific help on how to do it.
 
<< Deliv-1.png>>

 
Baseline Analysis
Selecting Baseline option, Kiuwan will run the analysis as a baseline analysis of the selected application. The analysis will be run by default with the Model associated to the application, or you can specify a different model clicking on "Advanced" button.
After running the Baseline analysis, "View Page" button will take you to Summary panel of the selected application Dashboard.
 
Delivery Analysis
In case of a Delivery analysis, Kiuwan allows to specify further details.
 << Deliv-2.png>>
 

 
The Delivery can be specified as Complete or Partial. This depends on whether you're analyzing the complete application (Complete delivery) or a portion of it (Partial delivery).
 
Icon
Before to run a Delivery analysis, please be sure that a Baseline analysis exists. Otherwise, you will not be able to run a Delivery analysis.
Also, note that in Delivery mode it's not allowed to change the model.  Application's model will be used for the analysis.
 
You can specify Change Request (CR) name (or id). This will allow you to link this analysis to a specific change request as considered in your ALM process.
Also, you can specify the Change Request Status to link analysis to different phases of your development process. When analyzing a delivery, you can indicate CR status:

 
Icon
Important: Only Deliveries with Resolved CR Status will be considered in Governance statistics.
 
If the delivery were associated to a branch in your SCM system, you can specify it in Branch Name field.
Finally, you can associate a label to this Delivery analysis in Delivery Label field.
 
Any Delivery analysis will automatically run the Audit associated to the selected application. After running the analysis, the View Results button will take you to the Audit page results, where you will see the results of the Audit and related information. Please, visit Audits Management for specific help on Audits.
 
Icon
KLA in CLI mode also allows to specify delivery analysis options.
Please visit Code analysis using the downloaded agent#CommandLineInterface(CLI)script documentation for specific help on how to do it.
 

Deliveries and Continuous Integration

Kiuwan allows to fully integrate analysis in a Continuous Integration system.
If you are using Jenkins, Kiuwan Plugin for Jenkins allows to specify analysis scope and options when integrating Kiuwan in Jenkins jobs.
Please, visit Jenkins plugin for further info on Kiuwan Plugin for Jenkins and how to launch baseline/deliveries analysis.
For other CI systems, you can use Kiuwan Local Analyzer (KLA) in Command Line Interface (CLI). KLA in CLI mode allows to fully specify at runtime the above options and therefore be integrated in any script embedded into your CI system.
Please, visit Code analysis using the downloaded agent#CommandLineInterface(CLI)script for further info on running KLA in CLI mode.

Deliveries Management

Deliveries Module can be accesed by selecting "Deliveries" tab.
<< Deliv-3.png>>

 
Deliveries module displays information on existing deliveries, allowing to take some actions on them.
Basically, this module allows to search for deliveries specifying different searching criteria:

 
Group By field allows to display deliveries in three modes.
<< Deliv-4.png>>
 

Not Grouped

If Not gouped, Kiuwan will display deliveries ordered by analysis date.
For every delivery, Kiuwan will display information as show in the picture.
<< Deliv-5.png>>

 
Next information is presented for every delivery:

Additional details can be displayed clicking on the triangle icon at the left of each delivery.
<< Deliv-6.png>>

 
Detailed information provides usefull information to compare analysis results of delivery versus baseline. It provides a comparative between the delivery and the baseline

Delete link allows to remove the delivery analysis from Kiuwan.

Group by Application

If Group by Application, Kiuwan will display deliveries grouped by the application they belong.
For every application, Kiuwan will display information as show in the picture.
<< Deliv-7.png>>

 
Application records display information on last delivery for that application. First field (summatory symbol) shows the total number of deliveries of that application.
Clicking on the triangle icon at the left of each Application opens a complete list of the deliveries of the application.
Details of every delivery are displayed when clicking on the triangle icon at the left of each delivery.

Group by Change Request

If Group by Change Request, Kiuwan will display deliveries grouped by the Change Request they belong.
This option would be usefull, for example, when you need to know how many deliveries are associated to a CR (providing an indicator of the quality of the delivery process).
For every CR, Kiuwan will display information as show in the picture.
<< Deliv-8.png>>

 
CR records display information on last delivery for that CR. First field (summatory symbol) shows the total number of deliveries of that CR.
Clicking on the triangle icon at the left of each CR opens a complete list of the deliveries of the CR.
Details of every delivery are displayed when clicking on the triangle icon at the left of each delivery.

Deliveries details

For every delivery, you can access the Delivery Details module clicking either on the Status icon or in the Files link. In both cases, Delivery Details module will open.
<< Deliv-10.png>>

Deliveries Audit

Clicking on the Status icon (thumbs up or down) of a delivery will open the Audit Results for that delivery.
<< Deliv-9.png>>

Please visit Audits Management#AuditResultsPage for details on Audit Results.

Deliveries Files

Clicking on the Files link of a delivery will open the Files details for that delivery.
<< Deliv-11.png>>

 
It displays a complete list of files included in the delivery.
For every file, it shows absolute metrics of that file (lines of code, global indicator, number of defects and associated effort to target).
Also, it shows metrics relative to the same file when it was analyzed as part of the application baseline:

Deliveries Defects

Clicking on the Defects tab will open the Defects details for the selected delivery.
<< Deliv-12.png>>

 
Defects page shows detailed information on delivery's defects.
Informations is organized in three sections (New defects, Removed defects and Defects), visually displayed as tabs.
New defects section shows the total number of new defects that the delivery has introduced in the application (as compared to baseline).
These new defects may come from two sources:

Removed defects section shows the total number of defects that this delivery has removed from the baseline.
The scope of the delivery affects how removed defects are calculated:

Defects section shows the total number of defects found in the delivery files.
 
Clicking on any of those defects tabs will allow to see complete detail on defects.
 

Deliveries Promotion to Baseline

Deliveries can be "promoted" to baseline without the need to run a new analysis.
To promote a delivery to a baseline means that a new baseline will be calculated based on delivery analysis results.
This new baseline will be calculated differently depending on the delivery scope.
If the delivery is Complete, new baseline indicators will be calculated based completely on delivery defects, i.e. not taking into account any previous baseline analysis.
If the delivery is Partial, new baseline indicators will be incrementally calculated as follows:

 
Icon
Deliveries promotion to Baseline can be done either using Kiuwan Deliveries page or using Kiuwan Local Analyzer in Command-Line Interface mode.
This section describes how to do it using Kiuwan Deliveries page.
For help on how to do it using Kiuwan Local Analyzer, please visit Code analysis using the downloaded agent#DeliveriesPromotiontoBaseLine documentation page.
 
<< Deliv-13.png>>

 
Icon
The promotion is not restricted to successfully deliveries. If you want to promote a failed delivery you are allowed to do it.
Once you click in 'Promote to baseline' link, you are asked for a new label for the baseline. By default, the delivery label is proposed.
<< Deliv-14.png>>

The promotion analysis is added to an execution queue. Once is finished, the results are showed in the application Dashboard as a new baseline analysis.
This analysis will contain a legend that indicates that the baseline comes from a delivery analysis.
<< Deliv-15.png>>