Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Deliveries view

This section will introduce you to the Kiuwan Life Cycle module. 

Contents

Table of Contents


To see an explanation of the dashboard, please go to Deliveries Management

Introduction

Kiuwan provides support for the Application Life Cycle, allowing you to run an analysis based on the application's Baselines and Deliveries.

Info
titleBaseline

An application's Baseline

...

 is a specific version of an application that is relevant enough to be considered as a reference to track further changes

...

to it.

This version might be a

...

production or a development version of the application, depending on its life cycle stage:

  • If the application is running in production, you might consider the production version as the baseline, so you can track the differences of any further changes.
  • If the application is under development, you might consider some important development

...

  • milestones (e.g. the Minimum Viable Product release in Agile methodology) as your baseline.

Whatever

...

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.

Info
titleDeliveries

A new distribution of the application contains changes to the baseline

...

. 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

...

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 you to fully

...

manage the complete

...

application's life cycle:

...

  • Establish a baseline version of the application, with the known state in terms of quality indicators, defects and associated action plan

...

  • Track modifications to the application baseline and relate those modifications to your Life Cycle model (Feature Requests, Branches, etc)

...

  • Trace the progress of a new version against a defined action plan

...

  • Compare those new versions of the application against the baseline

...

  • Define "validation" conditions (an Audit in Kiuwan terms) and let Kiuwan

...

  • automatically check if those conditions are met by the delivery, providing a full report of validation status, reasons and what to do in case the audit fails.

...

  • Evolve the baseline, either by creating a

...

  • new baseline or by promoting deliveries
    • In case of

...

    • complete delivery,

...

    • update the whole baseline with the delivery results
    • In case of

...

    • partial delivery,

...

    • update incrementally the baseline with the delivery results

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

  • Baseline: development milestones are usually analyzed as baselines
  • Complete delivery: an important delivery of the whole application
  • Partial delivery: a delivery usually associated to a change request

 
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>>
Image Removed
 
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>>
 
Image Removed
 
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:

  • In progress: Use this option when CR is under development but you want to inspect Kiuwan results, know the Audit status but not include delivery results in overall statistics (please note that only "Resolved" deliveries will be included in Governance statistics). Typical uses might be analyses launched every day in Continuous Integration or for discrete analyses after concrete code changes.
  • Resolved: This is the default value, use this option when the delivery to analyze is stable enough to be promoted to a testing/production environment.

 
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>>
Image Removed
 
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:

  • Date range: Search deliveries launched within a date range (using From and To date fields)
  • Provider: Search deliveries that belongs to the selected providers.
  • Scope: Search by "Complete" or "Partial" deliveries
  • CR Status:  Search by "In progress" or "Resolved" deliveries
  • Branch: In case you specify branch name, this selector will present you available brach names to search for
  • Status: This selector allows to search deliveries based on Audit status ( OK or Failure)

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

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>>
Image Removed
 
Next information is presented for every delivery:

  • Associated Change Request, Delivery Label, Branch and analysis Date
  • Status: result of Audit (Ok or Fail, thumb up / down icon)
  • Score: overall delivery compliance with the defined audit (please visit Audits Management#AuditApprovalThreshold for futher info on audit score)
  • Files: number of files of the delivery

Additional details can be displayed clicking on the triangle icon at the left of each delivery.
<< Deliv-6.png>>
Image Removed
 
Detailed information provides usefull information to compare analysis results of delivery versus baseline. It provides a comparative between the delivery and the baseline

  • Quality Indicator of delivery versus baseline for every characteristic
  • Global Quality indicator, lines of code, number of files and  number fo defects

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>>
Image Removed
 
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>>
Image Removed
 
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>>
Image Removed

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>>
Image Removed
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>>
Image Removed
 
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:

  • New defects: number of new defects of this file as compared to defects when analyzed as part of the baseline
  • New effort: effort associated to these new defects

Deliveries Defects

Clicking on the Defects tab will open the Defects details for the selected delivery.
<< Deliv-12.png>>
Image Removed
 
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:

  • defects found in the delivery files that did not appear when were analyzed in the baseline, and
  • defects found in new files, i.e. files that were not part of the baseline

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:

  • In case of a Partial delivery, removed defects calculus is based on the comparison between the defects found in the delivery files and defects of the same files when analyzed in the baseline.
  • In case of a Complete delivery, removed defects will also include those defects of files that were analyzed in the baseline but are not part of the delivery. As the delivery is complete, analysis assumes that those files are not part of the application any more so their associated defects have been implicitly removed.

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:

  • For any new file contained in the delivery (i.e. not existing in the baseline), the file and associated defects will be included as part of the new baseline.
  • For every file contained in the delivery and in the baseline, defects found during the delivery analysys will overwritte defects found when analyzed in the baseline
  • For those files contained in the baseline but not included in the delivery, previous defects will be maintained

...

Some common use cases

Kiuwan Life Cycle is commonly used tightly-coupled with existing Continuous Integration, Deployment and Development systems.

Although variety can be infinite, there are two typical scenarios of using Kiuwan Local Analyzer together with existing systems.

These two scenarios are based on subjacent technology :

  • Three-Tier applications (J2EE, .NET, client-server, etc)
  • Mainframe applications (Cobol)

Three-Tier applications (J2EE, .NET, client-server, etc)

In the case of Three-Tier applications, with a continuous integration development process in place, where developers are continuously working on code and generating builds, Kiuwan’s flexibility is ideal.

First, developers can analyze their code during development, while coding in Eclipse (for example) giving them a chance to fix the flaws in their code before uploading it to the CI tool (Jenkins, TFS or Bamboo for example, in this case, we’ll assume that it’s Jenkins).

Once the code reaches Jenkins, after having been inspected already, another analysis can be run, automatically deciding whether the code is accepted for the next step in the development process (moving it onto a deployment stage for example).

This decision can be made automatically using Kiuwan’s audits, which are tests done to the source code, based on checkpoints, to decide whether the code passes or fails (OK or KO) the audit, based on the results of the analysis. The type of analysis run at this point depends on the development process of each company and can be either a delivery analysis or a baseline analysis. Usually, a delivery analysis is run when the code is not ready yet to become a new baseline, and Kiuwan offers different types of delivery analyses, each with different properties, to adapt to each company’s particularities.

Since Kiuwan Local Analyzer is fast at performing analyses (especially when compared to other static analysis tools), it can be added as another step in the CI process, without adding the hassle of having to wait long periods of time for the results of the analysis to continue to the next step of the CI process.


Image Added



Mainframe applications (COBOL)

In the case of mainframe applications, where the deployment method is usually different, Kiuwan offers the possibility to analyze applications incrementally, meaning that not all of an application’s source code has to be analyzed on each analysis so that only the modified files have to be analyzed whenever changes are made.

This is achieved by performing partial delivery analyses when changes are made, and only occasionally performing complete delivery or baseline analyses, reducing analysis times considerably, and not needing access to all of the code when an analysis is to be made, but only the modified files.

Delivery analyses can also be promoted to baseline level, meaning that whenever we are sure that our delivery code is ready to become a baseline, we can simply indicate this to Kiuwan, and there is no need to re-analyze all of our code as a baseline analysis.

Therefore, the source code management tool being used does not need to provide Kiuwan Local Analyzer all of the code every time, but only the code to be analyzed.

Again, promotion between stages (pre-production, production…) can easily be automatically managed using Kiuwan’s audits, which will return an OK or KO status for each analysis.

Image Added

More on Life Cycle

Page Tree
root@self