doag: sig siebel quality review for siebel

32
© Copyright IBM Corporation 2008 IBM Global Business Services DOAG: SIG Siebel Quality Review for Siebel Munich – June, 10 th 2008 Oliver Seiffert IT Architect

Upload: others

Post on 15-Oct-2021

29 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DOAG: SIG Siebel Quality Review for Siebel

© Copyright IBM Corporation 2008

IBM Global Business Services

DOAG: SIG Siebel

Quality Review for Siebel

Munich – June, 10th 2008

Oliver Seiffert

IT Architect

Page 2: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/20082

IBM Global Business Services

© Copyright IBM Corporation 2008

About Me My Session for You Session‘s Objective

� Siebel Performance IT

Architect and responsible for

internal and external QA and

QR on project EAGLE

� This session will be about the

necessity of doing quality

reviews for Siebel projects, and

how they can be done to

achieve the targets of quality

assurance

� At the completion of this

module you should be able to:

define quality standards, and

describe how to use DAVID on

Siebel projects

Introduction

Page 3: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/20083

IBM Global Business Services

© Copyright IBM Corporation 2008

Agenda

How can DAVID be used by project teams?3

What is DAVID?2

Introduction to Quality Assurance and Quality Reviews1

Page 4: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/20084

IBM Global Business Services

© Copyright IBM Corporation 2008

Quality Assurance: Developer committment is key to success

� Define standards and describe these standards in detail in the

configuration and coding guideline as a framework for developers

� The configuration and coding guideline contains best practices

Every developer must formally agree to the defined configuration and coding guideline by signing them officially.

Page 5: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/20085

IBM Global Business Services

© Copyright IBM Corporation 2008

Quality Review: Finding the right balance

� Configuration and coding quality reviews should be ongoing through the whole

project lifecycle

� The earlier the project start with reviews, the less has to be done to analyze and

implement possible findings for future development

� Keep in mind, most manual quality reviews are time and ressource intensive

� Every developer should be aware at any time, that his/her configuration or scripting

can be part of a quality review

Page 6: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/20086

IBM Global Business Services

© Copyright IBM Corporation 2008

� Did you do quality reviews on your project?

� When were these quality reviews

performed, at the beginning, in the middle,

at the end or ongoing through the whole

project lifecycle?

� How were the quality reviews performed,

manually inside the project, or externally by

Oracle/Siebel as a configuration and

scripting review?

Questions

Page 7: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/20087

IBM Global Business Services

© Copyright IBM Corporation 2008

Agenda

How can DAVID be used by project teams?3

What is DAVID?2

Introduction to Quality Assurance and Quality Reviews1

Page 8: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/20088

IBM Global Business Services

© Copyright IBM Corporation 2008

What is DAVID?

DAVID is a tool, …

� that can be used during the whole project life cycle to improve overall configuration and scripting quality

� to check possible findings in advance, and these findings are weigthed by priority

and complexity based on IBM‘s deep Siebel expertise

� to support you in defining enhancements for existing installations, if you have access to a Local DB of the customer to check the Repository for possible pitfalls

� that can be used in addition to IBM’s Siebel ReposiTool to provide an quality

overview of the application that needs to be upgraded

Page 9: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/20089

IBM Global Business Services

© Copyright IBM Corporation 2008

Overview: DAVID for Siebel

Siebel Repository

Analyze

Output results to

MS Word“DAVID for Siebel” is a tool-based review for Siebel

Repositories

Output results to MS Excel

Highlights

� 80+ validation rules for configuration and scripting

� “DAVID for Siebel” can be used for Siebel 7.x, and 8.0

� Reports in MS Excel and MS Word available

� Can be easily integrated with IBM Rational Clearquest

� Can be run automated via batch command, to run on a

daily or weekly base to check for new findings since last

nightly or weekly build

Page 10: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200810

IBM Global Business Services

© Copyright IBM Corporation 2008

Findings per criticality and type covered by DAVID

23

15

5

40

0

30

60

Configuration Scripting

Not Critical Critical

DAVID is able to differentiate between critical and not critical findings. Critical findings should be further analyzed as soon as possible, not critical findings should be

analyzed, but do not have to be resolved immediately.

Page 11: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200811

IBM Global Business Services

© Copyright IBM Corporation 2008

Areas of impact to be considered for a configuration and scripting quality review

Quality Review

Application

Upgrade

Application Maintenance

Runtime Error

Performance

User Interface

Other Issues

Data Integrity

Configuration

Page 12: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200812

IBM Global Business Services

© Copyright IBM Corporation 2008

Findings* per area of impact covered by DAVID

24

7

1311 11

10

4

12

1013

34

22

20

1

0

30

60

Runtim

e Err

or

App'M

ainte

nance

App'U

pgrade

Data

Inte

grity

Per

form

ance

User

Inte

rfac

e

Config

uratio

n

Oth

er Iss

ues

Configuration Scripting

*Multiple selections possible.

Page 13: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200813

IBM Global Business Services

© Copyright IBM Corporation 2008

Example for configuration finding

“DAVID for Siebel” distinguishes between findings and occurrences of the findings. For each finding a description, consequence and recommendation is

given. Configuration based findings are normally detected while using some SQL statements against the Siebel Repository.

List of Occurrences Finding=

Page 14: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200814

IBM Global Business Services

© Copyright IBM Corporation 2008

CRITICAL: Missing or inactive Fields in Applet for SearchSpec 1/2

Description

Following Business Components Fields were

found in Applets SearchSpec that seem to be

missing or inactive in the Business

Component.

Consequence

This can cause severe performance

degradation, and possible run time errors on

Applets and eScripts, if these Business

Components are used.

Recommendation

Check if the mentioned Fields are either

inactive or missing on Buscomp, and correct

them, or disable the SearchSpec or SortSpec.

Page 15: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200815

IBM Global Business Services

© Copyright IBM Corporation 2008

CRITICAL: Missing or inactive Fields in Applet for SearchSpec 2/2

Busin

ess

Compo

nent

Apple

t

Best Case ist, es wird nichts angezeigt, Worst Case, es gibt

einen Runtime Error.

Best Case nothing will be shown, worst case runtime errors can occur

Page 16: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200816

IBM Global Business Services

© Copyright IBM Corporation 2008

Example for scripting issue

“DAVID for Siebel” is able to analyze eScripts. The eScripts will be extracted from Siebel

Repository and saved as files to your hard disk. Two magic tools can be used to check the

eScripts for findings,

Windows XP Built-In „FINDSTR“

� Searches for patterns of text per line in files

using regular expressions.

IBM‘s SiebelParser

� „IBM SiebelParser“ is able to check

multiple lines in files for special eScript

related patterns.

Page 17: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200817

IBM Global Business Services

© Copyright IBM Corporation 2008

Explicit Object Release 1/2

Description

Multiple script functions were found containing objects (like Business

Objects, Business Components, Business Services, Property Sets, Dates and Arrays)which either are not explicitly released from memory after use or are not released in the correct order.

Consequence

Either object variables are explicitly destroyed or the amount of time they remain in memory may be longer than necessary.

Performance issues and unexpected application errors or crashes can be the consequences.

With the Siebel 7 WebClient and Portal implementations accessing the application via the Siebel Object Manager, which shares memory among a number of user connections this problem even becomes worse.

It is recommended to destroy objects from the bottom up; This means that you have to destroy Pick BusComps and MVG BusComps before BusComps and BusObjects are going to be destroyed. Memory leaks can

occur, if objects are not destroyed in the so called order.

Recommendation

It is strongly recommended to validate the code mentioned within the

occurrence list.

Consider to release objects explicitly when they are no longer needed

instead of relying on the interpreter to clean them up. In Siebel eScript, objects can be released by setting their value to null, as in:

bcAccount = null;

In Siebel VB, objects can be released by setting their value to null, as in:

Set bcAccount = nothing

Keep in mind that references to the already destroyed object can be lost; if they have not been destroyed in the reverse order they have been created.

The objects should be destroyed in the finally {} section of the exception handling mechanism. The 'finally' section is always executed, even if there are several return() statements in the try{} section.

New object instances do not have to be released when terminating function

execution using Exit Function.

Page 18: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200818

IBM Global Business Services

© Copyright IBM Corporation 2008

Explicit Object Release 2/2

Business Service: Sample Application Log – WriteErrorLog()

Page 19: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200819

IBM Global Business Services

© Copyright IBM Corporation 2008

DAVID‘s reports address different audiences and detail levels

Team Lead Report

The TL report is for team leads who need an

overview what possible findings are in the

Siebel Repository per team member.

� All occurrences and findings on one

Microsoft Excel sheet available for easy

searching and sorting

Addendum Config. And Scripting Report

The addendum configuration and scripting

report is auxiliary to the available Word report.

� One finding and its occurrences per

Microsoft Excel sheet

� More details available than in TL report

Word Configuration and Scripting Report

The word configuration and scripting report

includes all found findings with a list of a

maximum of 20 occurrences per finding.

� The report includes the description of the

finding, consequences and

recommendations

Page 20: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200820

IBM Global Business Services

© Copyright IBM Corporation 2008

Sample team lead report

Page 21: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200821

IBM Global Business Services

© Copyright IBM Corporation 2008

Sample Microsoft Word configuration and scripting report

Page 22: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200822

IBM Global Business Services

© Copyright IBM Corporation 2008

Sample addendum configuration and scripting report

Page 23: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200823

IBM Global Business Services

© Copyright IBM Corporation 2008

� What findings did you had during your

configuration and coding reviews?

� Do you think, if you had the chance to

detect more possible findings your

application could be more stable and

reliable?

� Did you had a list of all possible findings to

analyze and resolve them?

� How did you track the analysis and

resolution of your findings (e.g. Word,

Excel, IBM Rational Clearquest)?

Questions

Page 24: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200824

IBM Global Business Services

© Copyright IBM Corporation 2008

Agenda

How can DAVID be used by project teams?3

What is DAVID?2

Introduction to Quality Assurance and Quality Reviews1

Page 25: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200825

IBM Global Business Services

© Copyright IBM Corporation 2008

How can DAVID be used by project teams?

� Scenario 1:

Enhancement phase, the customer wants some additonal functionality or an upgrade. Use

an available local database to check the Repository for possible pitfalls, before estimating

the efforts, you can use DAVID in addition to ReposiTool for upgrades.

� Scenario 2:

New Siebel implementation project, use DAVID for an ongoing QA to minimize possible

configuration and scripting findings, or to show the customer the overall quality progress of

the configuration and scripting.

� Scenario 3:

Ongoing Siebel implementation project, introduce DAVID for an ongoing QA to improve

overall configuration and scripting quality.

All reports can be used internally and externally.

Page 26: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200826

IBM Global Business Services

© Copyright IBM Corporation 2008

Resolving identified findings

Analysis

� Validate identified findings marked as critical

� Sort out possbile false-positive findings

� Adjust business requirements if necessary

� Create tickets for fixing validated findings

Development Test Deployment

� Resolve validated identified findings

� Unit testing of fixed findings

� Test defined test chains

� Complete regression test needed

� DEV2PROD of changed artefacts (SRF, migrep.dat, Browser Scripts)

Don’t guess! You should know what you have to do to improve configuration and scripting quality, that’s where IBM’s DAVID tool can support your project.

Page 27: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200827

IBM Global Business Services

© Copyright IBM Corporation 2008

Contact details

IBM Deutschland GmbH

Global Business Services

Oliver Seiffert

Nahmitzer Damm 12

12277 Berlin

Germany

Phone: +49 (0)170 785 17 82

Email: [email protected]

Page 28: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200828

IBM Global Business Services

© Copyright IBM Corporation 2008

Page 29: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200829

IBM Global Business Services

© Copyright IBM Corporation 2008

Page 30: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200830

IBM Global Business Services

© Copyright IBM Corporation 2008

Backup

Page 31: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200831

IBM Global Business Services

© Copyright IBM Corporation 2008

Actual findings analyzed by DAVID for configuration

� CRITICAL: Fields mapped on same column� CRITICAL: Picklists are identified for Fields without pick maps

� CRITICAL: Incorrect Link configuration (non existent reference)

� CRITICAL: Incorrect Link configuration (Id)

� CRITICAL: Cascade Delete Property on New Link Definitions� CRITICAL: Incorrect Configuration Of BC Using CX_Tables

� CRITICAL: Incorrect Configuration Of BC Using A Standard 1:M Extension Table

� CRITICAL: Views Visibility Applet properties set incorrectly

� CRITICAL: Drilldown object points to a View that does not exist

� Explicitly Defining a System Field� Force Active BusComp Field Property Set to TRUE

� LinkSpec for BusComp Field property set to TRUE� Heavy Use of Immediate Post Changes Property on BusComp Fields� Primary ID Field not specified or “Use Primary Join” property set to

FALSE

� CheckNoMatch property set to TRUE for MVLs� Join object for a 1:M relationship

� Upgrade Ancestor Property Not Configured for Custom Objects� Incorrect Join Specification To 1:1 Extension Table� Custom index creation� Admin Mode Flag property on Views� Thread Applet property incorrect or not set

� Use of Calculated Fields� Observing standard naming conventions� InvokeMethod on Calculated Fields in BusComps

� Storing special characters within language independent code (LIC)� Faulty assigned Views to Responsibilities

� New unregistered Views

� Duplicate web template item identifiers defined

� Duplicate Joins defined

� Non-Indexed search specifications in Picklists� Search specifications on joined or Multi Value Fields in Picklists� Force Active set on BusComp level� Re-created implicit Joins� Force Active set on joined or Multi Value Fields

� "CheckNoMatch" attribute set on Multi Value Links

� Invalid View Mode in Views

� Invalid View Web Template Items� Joins with no Join Specification

� Missing EIM mappings for custom Columns

� New inner Joins� Critical "All Mode Sort" BusComp User Property set.� Critical "Manager List Mode" BusComp User Property set

� Search Specifications on Business Component utilizing the "OR" statement

� Search Specifications on Links utilizing the "OR" statement� Search Specifications on PickLists utilizing the "OR" statement

� Search Specifications on Applets utilizing the "OR" statement� Excessive Number of Columns in List Applets� Excessive Applets on Web Templates

� Non-indexed Sort Specification or Non-indexed Search Specification or Search Specification based on a Multi-Value Field using EXISTS

� CRITICAL: Extension Columns on S_PARTY

� Configuration of Tables and Extension Columns

� Usage of Symbolic Strings� Caching Business Services

Page 32: DOAG: SIG Siebel Quality Review for Siebel

DOAG: SIG Siebel | Quality Review for Siebel | 6/11/200832

IBM Global Business Services

© Copyright IBM Corporation 2008

Actual findings analyzed by DAVID for scripting

� CRITICAL: Using of COM object within Server Script� CRITICAL: Compact code causing Object Manager crash

� Using incorrect cursor mode for ExecuteQuery� Hard coded paths� Use of the SetViewMode() method

� Placing code in the PreGetFieldValue( ), PreSetFieldvalue() event handlers

� Placing code in the ChangeRecord() event handlers

� Exists SearchSpec used in Siebel eScript� CRITICAL: Presumed Parent Business Component in Script � Scripting the PreCanInvokeMethod event for a Business

Service� SharedGlobals Used instead of ProfileAttributes� Activating Fields unnecessarily� Use of theApplication() method in Browser Script

� Setting Field Values in BusComp_NewRecord() event handler

� CRITICAL: Call to NextRecord after a call to DeleteRecord

� Setting Field values using hard-coded values� Unnecessary code (WriteRecord() within a loop)� Explicit Object Release

� Empty Event Handlers