success story of migrating an ongoing j2ee project from ... · success story of migrating an...

37
IBM Rational Software Development Conference 2006 © 2006 IBM Corporation ® Success story of migrating an ongoing J2EE project from Microsoft VSS to IBM Rational ClearCase Dilip K Varma Astra Infotech (P) Ltd [email protected]

Upload: lamnhu

Post on 10-Apr-2018

216 views

Category:

Documents


3 download

TRANSCRIPT

IBM Rational SoftwareDevelopment Conference 2006

© 2006 IBM Corporation

®

Success story of migrating an ongoing J2EE project from Microsoft VSS to IBM Rational ClearCase

Dilip K VarmaAstra Infotech (P) [email protected]

IBM Rational Software Development Conference 2006

AM13

Agenda

SCM Recap

aiRes the project

Challenges

The Solution

Benefits

Lessons Learned

Acknowledgement

References

Demo

Q&A

IBM Rational Software Development Conference 2006

AM13

SDLC Activities

Business Modeling & Requirement Management

Analysis, Design & Implementation

Testing & Deployment

Project & Process Management

Configuration & Change Management

IBM Rational Software Development Conference 2006

AM13

Software Configuration Management

Version Control

Workspace Management

Parallel Development

Configuration Audit

Build Management

Process Control

IBM Rational Software Development Conference 2006

AM13

Known Challenges

Naming, Tracing & Retrieval of right versions

Concurrent development support

Geographically distributed development scenario

Ongoing development support for addition, deletion & rollback

Productivity enhancement through automation in build, release etc.

IBM Rational Software Development Conference 2006

AM13

Configuration Management vs. Version Control

Configuration Management: [ISO95] A supporting process whose purpose is to identify, define, and baseline items; control modifications and releases of these items; report and record status of the items and modification requests; ensure completeness, consistency and correctness of the items; and control storage, handling and delivery of the items

Version: A variant of some artifact; later versions of an artifact typically expand on earlier versions

Version Control

Only a part of Configuration Management

Identifying and tracing only versions

No focus on process

IBM Rational Software Development Conference 2006

AM13

Current automation scenario & challenges

Version control automation

No effective automation strategy for parallel development

Missing effective linkage between Change Management & Configuration Management

Less focus on build automation

Change propagation automation

IBM Rational Software Development Conference 2006

AM13

IBS the organisation

A leading IT solutions provider to the global Travel, Transportation and Logistics (TTL) industry

A CMMI Level 5 product development company

One of the major, growing software development organisations in Kerala

1000+ employees

Development centers at Trivandrum & Cochin

IBM Rational Software Development Conference 2006

AM13

aiRes the project

Comprehensive passenger reservations, inventory control, fares & ticketing and departure control system for commercial airlines

5+ years of development effort

150+ developers

J2EE, Weblogic, Oracle

Current Customers

Virgin Blue

West Jet

Virgin America

IBM Rational Software Development Conference 2006

AM13

Project challenges

Huge size of the development team

Large volume of code base

High frequency of build

Ever changing market demands & expectations

Synchronising geographically distributed development & on-site customization

Product development at a crucial juncture

Short transition time

IBM Rational Software Development Conference 2006

AM13

CM challenges perceived

Parallel development for enhancements, new features and fixes

Addressing simultaneous product customization & support for multiple customers

Geographically distributed development support

Build and release automation

Introducing change (in terms of process & tool) at a critical development juncture

IBM Rational Software Development Conference 2006

AM13

CM root causes

Redundant data

Huge manual effort to release files for build

Manual process leading to erroneous selection of files/versions

Inability to address parallel development

Improper integration workspace management

IBM Rational Software Development Conference 2006

AM13

The solution

Unified Change Management (UCM) for Activity based Configuration Management

ClearCase, the automation tool

Configuration Management than Version Control alone

Effective parallel development

Seamless synchronization with Change Management

Effective build & release automation

ClearCase MultiSite for distributed development

On site services

Training & Handholding

Consulting

Mentoring

IBM Rational Software Development Conference 2006

AM13

UCM approach

Out-of-the-box process solution

Activity based approach

Artifacts are grouped and baselined as components

No config specs

More branches of development

Makes workspace management easier

IBM Rational Software Development Conference 2006

AM13

Practical implementation risk

Project at a very crucial juncture

Changing the Configuration Management tool without affecting development

Transferring live data & synchronisation

New process & tool learning curve

Natural human resistance for change

IBM Rational Software Development Conference 2006

AM13

Implementation

Inception

Elaboration

Construction

Transition

IBM Rational Software Development Conference 2006

AM13

Inception

Demonstration of the tool & process

Rational Unified Process (RUP)

ClearCase UCM

ClearCase MultiSite

Key stakeholder concurrence

Top Management & End customer commitment

Pilot module identification

Internal Champion identification & briefing

Initial Configuration Item (CI) identification

CM Process tailoring

Baseline, branching, access control etc

IBM Rational Software Development Conference 2006

AM13

Elaboration

Pilot project data transfer from current module

Imported identified module data to ClearCase with history

Identified the module with maximum number of artifacts and versions as the candidate

Setup ClearCase server and VSS client on a desktop machine

Migrated the identified module’s source code to ClearCase

The migrated data included different versions of each artifact and the labels attached to them

IBM Rational Software Development Conference 2006

AM13

Elaboration (cont.)

Initial End user training

Development team consisted of 7 groups

Quick start sessions were given to them on UCM

Preparation for parallel running

Scripts were prepared and tested simulating a parallel run

IBM Rational Software Development Conference 2006

AM13

Construction

Training for entire project team

Administrative Training

End user training

Setting up the environment

Setup ClearCase servers

VOB, License & Registry server on the same machine

Setup release hosts

Setup ClearCase clients

ClearCase-ANT integration

IBM Rational Software Development Conference 2006

AM13

Construction (cont.)

Migrating the entire project

Imported data from VSS to ClearCase

Created a VOB for importing data from VSS

A VSS client was setup on the same machine

Created a user in VSS db without password

Set the SSUSER environment variable to the newly created user

Set PATH to the folder containing SS.EXE

Set the VSS database using the SSDIR environment variable

Set to the project using SS CP command

Run the clearexport_ssafe –r -o <path to datafile> utility to prepare the data file used for the actual import operation

IBM Rational Software Development Conference 2006

AM13

Construction (cont.)

Sample batch file

SET PATH=%PATH%;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32;

SET SSDIR=C:\vssdb\iResDB

SET SSUSER=migration

SS CP $/iRes/Source

clearexport_ssafe -r -o c:\import\cvt_data

IBM Rational Software Development Conference 2006

AM13

Construction (cont.)

Migrating the entire project (cont.)

Re-organized the folder structure

Identified components with the help of product architect

Moved component folders to the root of the VOB

Created symbolic links to retain the folder structure

Created UCM components

Created UCM PVOB

Imported root level folders as UCM Components

Imported labels as component baselines

Setup UCM projects, streams, and workspaces

IBM Rational Software Development Conference 2006

AM13

Construction (cont.)

Sample batch file

Z:

CD \iResComp\Java\src\com\ibsplc\iRes

cleartool co -nc .

cleartool co -nc \iResComp

cleartool mv M1 \iResComp

cleartool mv M2 \iResComp

cleartool mv Mn \iResComp

IBM Rational Software Development Conference 2006

AM13

Construction (cont.)

Sample batch file (cont.)

CD \iResComp

cleartool mv Java OldJava

md Java\src\com\ibsplc\iRes

cleartool mkelem -nc -eltype directory -ci -mkpathJava\src\com\ibsplc\iRes

CD \iResComp\Java\src\com\ibsplc\iRes

cleartool co -nc .

cleartool ln -slink ..\..\..\..\..\Module1 .

cleartool ln -slink ..\..\..\..\..\Module2 .

cleartool ln -slink ..\..\..\..\..\Module3 .

cleartool ci -nc .

IBM Rational Software Development Conference 2006

AM13

IBM Rational Software Development Conference 2006

AM13

Construction (cont.)

Parallel run

Phase I

A script was run to update ClearCase data

clearfsimport -recurseC:\import\Archive\%1\Java\src\com\ibsplc\iRes\Module1\* Y:\iResComp\Module1

Phase II

Developers check-out/check-in to both VSS & ClearCase

Roll out and streamlining CM process

Introduction of MultiSite

Demo & quick start training on ClearCase MultiSite

Setting up ClearCase MultiSite

VOB replication & synchronisation

IBM Rational Software Development Conference 2006

AM13

Transition

Completion of end user training

Comprehensive training on ClearCase Administration, Unified Change Management, ClearCase Multisite

Train the trainer program

Preparation of custom training slides

On site / offsite mentoring

Periodical CM audits

Periodical on site technological sessions

Continuous telephonic/e-mail support

IBM Rational Software Development Conference 2006

AM13

Major benefits for IBS

Automated build process

Delivery from development stream to integration stream

An attribute AutoDeliver(True) is attached to each activity

Value of AutoDeliver decides whether that activity should be delivered or not

Integration workspace updation

Build (Reused existing ANT scripts)

Baseline creation & recommendation

Rebasing development streams

Patch creation by comparing current & previous baseline

IBM Rational Software Development Conference 2006

AM13

Major benefits for IBS (cont.)

Effective parallel development

Effective change propagation from one stream to another

Traceability between change request & change set

Support for distributed development

IBM Rational Software Development Conference 2006

AM13

Lessons learned

Migrating data from VSS

Issues faced

Reference to a non existing VSS project

– Resolved by moving the project to a new VSS db

A few file versions were not properly retrieved

– Manually retrieved

Parallel run

Two phase parallel run, instead of an abrupt switch over, was very useful

IBM Rational Software Development Conference 2006

AM13

Lessons learned (cont.)

UCM vs. base ClearCase

Proven Out-of-the-box process

No config spec, Ideal for new adaptors

Branching is easy

Importance of Management commitment

Awareness of future CM requirements and limitations of VSS

Developer’s resistance (delivery pressure, learning curve etc)

Co-operation extended by developers

IBM Rational Software Development Conference 2006

AM13

Acknowledgements

IBM

Ms. Ameeta Roy (Technical Lead)

Mr. Kishore P Vadapally (Advisory IT Specialist)

Mr. Sunil Kinger (Country Manager)

IBS

Mr. Jayan P. (General Manager Production Services)

Mr. Viswanath (Configuration Manager)

Mr. Don K. Varkey (Configuration Controller)

IBM Rational Software Development Conference 2006

AM13

References

Guide to developing software with UCM

Guide to managing software projects

ClearCase Administrator’s guide

ClearCase discussion forum

RSDC 2005 presentations

SCMA41: Solving UCM change flow mysteries

SCMA47: Best Practices for J2EE development for teams using ClearCase UCM

Rational Unified Process

IBM Rational Software Development Conference 2006

AM13

IBM Rational Software Development Conference 2006

AM13

IBM Rational Software Development Conference 2006

AM13

Dilip K [email protected]

Jayan [email protected]