Version 2.2
Purpose
This document details CAST’s Agile Onboarding Process along with the checklist templates used.
Applicability
This Iterative Agile process is recommended to be implemented in measurement programmes with management visibility. It helps in quickly onboarding applications, with minimal technical documents needed from app teams and helps avoid tunnel effect. Agile onboarding will have three iterations and will not have any custom solution implemented.
Prerequisites for onboarding
- CAST Application Intelligence Portal (AIP) is installed
- The Technologies/Frameworks used in the applications are supported.
- Extensions to be used if required
- Application Intelligence Administrator AIA has access to CAST Virtual Machine (VM)
Out of scope
- Rescan and rescan automation
- Unsupported technologies
- Clean-ups and retention
Target Audience
- All AI admins who would be onboarding an application
Process Flow Without AIP Console
Agile Onboarding Process Overview
The agile onboarding process consists of three iterations -
- 'Discover' is applicable to all applications
- 'Onboard' is applicable only to those applications where the feedback is received from the application team on the gaps identified during rapid onboarding
- 'Integrate' is applicable only if there are customized measurement required by the application team based on the identified use case
Objective
The objectives of the Agile process are:
- Minimizing initial questions to app teams
- Avoiding tunnel effect and maintaining exchanges with app teams on progress of the analysis
- Bringing visibility and speed in the early stages the CAST programs at customers
Approach detail
The deck is available @ Iterative Agile Process for Onboarding
Key inputs required
Technical Survey Essential / ADP Essential (Mandatory): https://doc.castsoftware.com/display/FBP/Technical+Survey#TechnicalSurvey-TechnicalSurvey-Essential
Architecture Context Diagram (Good to have): Architecture_Context_Diagram_appName
Steps in Agile Onboarding Process
1. Discover
This iteration consists of three main activities i.e.
- Qualification of the application.
- Acceptance of the software components provided by the customer and delivering initial measurement.
- Technology and transaction understanding of CAST consultant/architect to the customer.
As a precondition of a CAST AIP analysis and to qualify the application from a technical and value perspective, CAST recommends gathering high level technical and non-technical information to help and qualify the target application for the analysis. The technical qualification will be used to establish what level of "out of the box" support CAST has for the application, identify any showstoppers such as the use of unsupported technologies or frameworks. It describes guidelines on delivering application source code, packaging source code with CAST DMT, validating alerts, analyzing application first time, discovering application's boundaries (Entry points/Endpoints), technology, and missing software components and delivering the relevant reports and initial measurement to the customer.
AIP Product Documentation
- Application Qualification process overview: https://doc.castsoftware.com/display/DOC83/Qualification
- Application Acceptance process overview: https://doc.castsoftware.com/display/DOC83/Delivery+acceptance
- Initial Analysis Configuration overview: https://doc.castsoftware.com/display/DOC83/Review+Technology+and+Dependency+settings
Entry Criteria
- Approval to move forward either internally or from the customer, if CAST is onboarding customer
- The application identified by the customer should have only CAST supported Technologies/Frameworks available at https://doc.castsoftware.com/display/DOC83/Covered+Technologies
- Technical Survey Essential / ADP Essential
Process Steps:
- Kick-off Meeting: A formal meeting (preferably) has to be conducted. The agenda should be application technologies, availability of software components and introduction to CAST AIP Program
- App Qualified:
- CAST Front Office (FO) has to verify whether the software components (source code, database and context diagram) are in line with the technical survey essential
- Service Engagement Sheet has to be prepared to define the scope of the application
- Setup Component Delivery:
- Application has been registered in the AIC Portal
- Setup environment and deploy AIC Portal if not done already
- Setup Automation with Source Code Extraction (Ex: Jenkins)
- DMT Packaging:
- Include Discoverer in DMT plugins
- If extensions need to be installed, ensure that only Product supported extensions & agreed extensions at account level are used – https://doc.castsoftware.com/display/DOC83/Covered+Technologies
- Package the source code using CAST DMT to prepare the code for analysis by CAST AIP. Refer to https://doc.castsoftware.com/display/DOC83/How+do+I+package+the+Version for more information.
Deliver Application Source Code: https://doc.castsoftware.com/display/DOC83/Delivery
- Accept the Delivery in DMT
- DMT Delivery Report: An automated report is generated using tools (PRAM & PRAT)
- Setup CMS, Run Analysis and Snapshot:
- Create the triplet ( CAST schema )
- Deploy the war files (Engineering Dashboard (ED)/Health Dashboard (HD))
- Ensure that a valid license key is applied
- Software component Accepted – Deliver the source code and set as Current Version
- Ensure that deployment, delivery, log and LISA/LTSA paths are set accurately
- Check that all the framework settings are configured as per the ADP Essential or Technical Survey Essential
- Configure include/classpaths according to the technology
- Ensure that Global DLM rule files are used thru the extension (FAED)
- Non-standard technology – Not applicable in Agile Onboarding Approach. Only Product support Extensions and agreed extensions on account level will be used
- Set up environment profile if needed
- Install extensions - If extensions need to be installed, ensure that only Product supported extensions & agreed extensions at account level are used
- Run Analysis & snapshot – Monitor and ensure that it is completed successfully
- Consolidate the data of the latest snapshot to health dashboard
- Analysis Completeness Report: An automated report is generated (PRAL/ FAEN/ FAUC)
- Completeness Check: Check if we are good to proceed further based on the Analysis Completeness Report (if more than 10% of the software components are not analyzed then make go to step 4. 'DMT Packaging')
- App Boundary Definition:
- Validate the technologies and frameworks
- Validate missing software components
- Identify and validate the Entry and Endpoints
- Identify and document the impact of missing software components
- Rapid Discovery Report:
- Share the Rapid Discovery Report (FAEM) with the FO/Customer
Exit Criteria
- Initial measurement delivered to the customer
- Rapid discovery report delivered to the customer
Deliverable
- Initial Measurement
- Rapid Discovery Report (Template Link - Rapid Discovery Report Template)
2. Onboard
This iteration is applicable if and only if the gaps identified as part of the rapid discovery report are filled or we have the complete source code and there is no gap identified during the Discover phase. Main activities in this iteration are fine-tuning of the analysis configuration, transaction configuration, review of transaction completeness and validation of dashboard results.
AIP Product Documentation
- Fine-tuning of Analysis Configuration - https://doc.castsoftware.com/display/DOC83/Run+and+validate+the+analysis
- Transaction Configuration - https://doc.castsoftware.com/display/DOC83/TCC+-+CAST+Transaction+Configuration+Center
- Review of transaction completeness - https://doc.castsoftware.com/display/DOC83/Transaction+management
- Validation of dashboard results - https://doc.castsoftware.com/display/DOC83/Engineering+Dashboard & https://doc.castsoftware.com/display/DOC83/Health+Dashboard
Entry Criteria
- Completion of Discover iteration
- Customer's inputs on the gaps identified as part of the rapid discovery report
Process Steps
- Gaps Addressed:
- Check whether the open questions as identified in the transaction report have been addressed by the customer?
- Ensure that the missing software components are delivered by the application team
- In case of any gaps that are still open, contact the application team to receive the inputs Or take an Informed exception
- Repackage DMT
- Reject the delivery in CMS if new software components are provided by the application team
- Include the additional software components and repackage as per the DMT packaging guidelines
Best Practices for DMT:
- Library files for Java technology, and assemblies for .NET technology (application-specific and 3rd party framework) should be packaged separately. For further details refer to http://doc.castsoftware.com/display/DOC83/DMT+-+Folders
- Exclude test files/folders/projects and generated code - http://doc.castsoftware.com/display/DOC83/DMT+-+Use+Regular+Expressions
- Check that the packaging is done as per DMT best practices
- Remediate DMT Packaging Alerts: https://doc.castsoftware.com/display/DOC83/How+do+I+handle+DMT+delivery+alerts
- Accept the delivery
- Modify CMS Setup, Run CMS Analysis:
- Follow all the steps that identified as applicable in step-6 (Setup CMS, Run analysis and snapshot) of the Discover phase
Setup Environment & Analysis configuration
Source code “File Adjustments” (Optional)
“Preprocess” Source Code (Optional). In some situations, the source code cannot be parsed and must be preprocessed. A study should be done first to identify the preprocessing rules which must be applied to the source code. Add Preprocessor batch file ‘Tools Before Analysis’ under Content Enrichment tab
Verify Framework Settings
Ensure that the correct versions of technologies and frameworks are selected
Adding dependencies – add the dependencies between analysis units (if required)
Fine-tune CMS settings
Choose an Environment Profile if needed (Only Product supported profiles)
Configure include/classpaths according to the technology
Enable User Input Security if it is within the scope of the analysis
- KB Inventory Validation (FAEE / FAUC):
- Check if all the technologies/frameworks have been analyzed properly
- Check if all the files have been analyzed properly ( Files in DMT vs files in KB )
- Log Validation (PRAL / FAEM):
- Follow the troubleshooting process to remediate warning and errors by referring to product documentation available at https://doc.castsoftware.com/display/DOC83/Validate+analysis+based+on+log+messages
- Document the log validation results: Number of alerts, type of alerts, and tickets raised (if any)
- Review Dynamic Links:
- Create application-specific DLM rules to resolve the dynamic links
- Guidelines to validate the dynamic links are available in https://doc.castsoftware.com/display/DOC83/Validate+Dynamic+Links
- Module Configuration (FAEO / FAEC):
- Set up the module content according to the client’s requirement
- If there is no recommendation, retain the Full Content
- Guidelines to create user-defined modules are available in https://doc.castsoftware.com/pages/viewpage.action?pageId=200409226
Health Measures Configured (FAEN):
- Check if the health factors have been qualified properly
- Architecture Checker Flow:
- If the app team has provided the information then configure the Architecture Flows
- Security Configuration:
- Validate the security settings and results for JEE and .Net applications if it is in scope
Transaction Configuration (FAEA):
Entry point configuration / Data Entity configuration / End of transaction configuration
Trace the transactions based on the entry and endpoints given rapid discovery report
Validate the empty transactions (FAET report will help in the identification of missing links). Document any broken transactions and missing links in Confluence
Create specific entry/endpoints for transactions which have not been identified in the Rapid Discovery Report
Review Transactions
Verify if there are artifacts with high Data Element Types (DET) / Record Element Types (RET) values. If there are then check the objects with issues and remediate them. Use FAES report to identify large SCC group. (If the issue still exists, raise a support ticket)
Check the code coverage i.e., validate that all artefacts are covered in the transactions. Use FAER to validate the artefact coverage
If there are a few artefacts which do not belong to any transaction, investigate if they are in the scope of module definition
- Transaction Completeness Report: Following will help you to decide whether transaction configuration is complete
- Use FAES for identifying large SCC group
- Use FAER for validating transaction completeness (it includes smell test)
- Use FAET for identifying missing links in empty transactions
- Transaction Complete: Verify FAES, FAER & FAET reports to ensure that the transactions are configured properly and complete
If empty transactions exist, follow the steps below
If this is a configuration issue, go back to analysis configuration
If this is a standard framework supported by CAST, raise a Support ticket
Add links between objects that are not recognized by AIP out of the box only if there is an approved workaround from support and R&D (through the Reference Pattern process, Knowledge Base (KB) update queries, and supported extensions to create missing objects/links)
Once the link is completed in Enlighten, compute in the Transaction Configuration Center (TCC), validate the flow, and continue with activity in Step b.
- Run Snapshot and Validate results:
- Run Baseline snapshot
- UI validation
- Launch dashboard either via CMS or deployed Web Archive (WAR)
- Validate if Engineering Dashboard pages are displaying data correctly e.g. Transaction wide Risk Index (TwRI) page, Risk Indicator pages, Critical Violation pages, Compare Version pages
- If there is an issue with the above step, follow the Troubleshooting Process
- Inventory Validation
- Check the Lines of Code (LoC) per modules and validate with the inventory
- Validate the number of files, classes, tables, and artefacts per technology. If the numbers are not as expected, follow the Troubleshooting Process
- If this check is for maintenance, validate the variation in data from Quick Access view
- If there are a lot of unexpected added/deleted artefacts in the above step, follow the Troubleshooting Process to fix the issue. If the issue is due to folder structures, reject the delivery and start from DMT phase
- Engineering Dashboard Metrics validation:
- Check the number of critical violations and validate a few of them to see if there are any false positives. If there is any false positive, follow the Troubleshooting Process
- Check the other metrics such as Technical Debt, Cyclomatic Complexity
- If this process is for maintenance, check the evolution
- Function Point (FP) count must match with FP count in TCC
- Analytics Dashboard Metrics validation:
- Consolidate Engineering Dashboard with Application Analytics Dashboard (Analytics Dashboard) if Engineering Dashboard can’t be navigated to from Analytics Dashboard
- Validate that the numbers displayed on the Analytics Dashboard must match with Engineering Dashboard
- Verify Analysis Completion Report: Use FAEN and FAER reports to ensure that the quality of analysis is good
- All Checks Passed: A list of checks are executed at this step to ensure the quality of results. If any check fails then it will lead to an exception review
- QA - Onboard phase:
- Review the Analysis results, entry and endpoints as defined in the transaction report, validate the smell test results justification, dashboards and delivery report as per the checklist
- PQM has to review the process followed so far and give the go-ahead to deliver the refined dashboard to the customer
- Consumption Report:
- Upon the go recommendation of PQM, delivery the refined measurement and Consumption Report to the application team
Exit criteria
- Consumption Report delivered to the customer
- Refined measurement delivered to the customer
Deliverable
Consumption Report (Sample Link - Consumption Report Sample)
- Refined Measurement (Engineering and Health dashboard)
3. Integrate
This phase is applicable only if there are customized measurements required by the application team based on the identified use case, after the onboard phase. If there are no customizations required by the application team then the results delivered as part of the onboard phase are the baseline results.
AIP Product Documentation
- Snapshot generation and validation: https://doc.castsoftware.com/display/DOC83/Snapshot+generation+and+validation
Entry Criteria
- Refined measurement delivered to the application team
- An additional requirement from the application team
Process steps
- Additional Inputs
- Check if there are additional inputs provided by the application team to make any adjustment in the Assessment model, Dashboard and Action Plan
- Inputs for Automation of rescans
- Calibration
Rule-based Ignore / Rule-based Deletion / Rule-based Grouping / Rule-based Splitting – manually check the transactions in TCC for further calibration opportunities
Review the Entry & End Points list to avoid duplicate and redundant transactions
Make sure the Data and Transaction filters are not ignoring, deleting, grouping or splitting wrong transactions. If there are such transactions, add them as exceptions by modifying the filter functions
Rule-based value / Rule-based type
Filter grouping rules based on naming, types, inheritance, and free definition
Manual Grouping / Manual Splitting / Manual type Adjustment / Manual FP Adjustment (Optional)
If the transaction configuration requires further calibration, manually make the adjustment
Manual Count Alignment/Functional Reconciliation/Final Configuration on FP/Calibration based on customer’s feedback
- Fine-tune Assessment Model
Update the default rule criticality
Update the scoring weight
Update parameterized rules
Update rule descriptions
- Exclusion of rules
- Include Exclusions in Dashboard
Exclusion of rules
Exclusion of objects
Exclusion of violations
Customization of Action Plan
Build the action plan based on the inputs received from the application
Validate the action plan after creating the action plan
- Adjust Automation for Rescans
- Validate the Automation set up during the previous iterations
- Check the Automation Adjustment needed as per Customer's requirement and make necessary changes
- Run Baseline Snapshot
- Ensure that the Baseline snapshot is executed if any of the step (1 to 6) in Integrate phase is executed
- Delete the previous snapshot and execute the consolidation
- QA - Integrate phase
- Review the dashboards and updated delivery report as per the checklist
- PQM has to review the process followed so far and give the go-ahead to deliver the refined dashboard to the customer
- Baseline Measurement
- Upon the go recommendation of PQM, delivery the baseline measurement and updated delivery report/preliminary findings report to the customer
Exit criteria
- Application baselined in AIP and automated for future rescans
Deliverable
Final Consumption Report with known gaps
- Updated Engineering and Health dashboard
Extensions Needed in Agile Approach:
Extension for DLM rule library - FAED
- Link to download - Click here
Extension for the report to find App boundaries - FAEA
- Link to download - Click here
Extension for the report to identify Code not part of module - FAEC
- Link to download - Click here
Extension for the report to identify Overlap code in modules - FAEO
- Link to download - Click here
Extension for the report to identify Missing code for java - FAEM
- Link to download - Click here
Extension for the report to identify External code - FAEE
- Link to download - Click here
Extension for the report to validate the analysis completeness - FAEN
- Link to download - Click here
Extension for the report to get the missing links in empty Transactions
- Link to download - Click here
Extension for the report to validate the transaction completeness - FAER
- Link to download - Click here
Extension for the report to identify large SCC group - FAES
- Link to download - Click here
Extension for the report to find the golden nuggets (Nugget Finder) - FANF
- Link to download - Click here
Extension for the report to find the Unanalysed Code - FAUC
- Link to download - Click here
Product Extensions Needed in Agile Approach:
Automatic Links Validator : This extension will automatically validate DLMs
- Link to download - Click here
2. Report Generation for Consumption - PRRC
- Link to download Click here
Training Material:
Agile Onboarding Process Training Deck: Onboarding_Process_Training
Agile Onboarding - Customer Facing Deck: CAST Agile Adoption