success story of migrating an ongoing j2ee project from ... · success story of migrating an...
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]