Date post: | 14-May-2015 |
Category: |
Technology |
Upload: | roopa-nadkarni |
View: | 2,901 times |
Download: | 1 times |
© 2009 IBM Corporation
CRMA43
Agile Development Using the IBM Rational ClearCase Remote Client (CCRC)
Sujeet MishraIBM Rational [email protected]
IBM Rational Software Conference 2009
2CRMA43
Agenda
Software Configuration Management (SCM) issues important to agile teams
ClearCase object topologies and practices that support agile development
ClearCase Remote Client (CCRC) features that support agile development
Questions/Discussion
IBM Rational Software Conference 2009
3CRMA43
Agenda
What this presentation *is not* aboutAgile methodologies like scrum, xp, etc.How to connect build management tools to ClearCaseHow to kick off automated tests following a build
IBM Rational Software Conference 2009
4CRMA43
SCM Issues important to agile teamsRapid parallel development
IsolationResponse to changing requirementsGeographically distributed development
IntegrationContinuous integrationConflict resolutionAtomic commitContinuous consistent builds
Yes, all these, but primarily agile teams want to work faster and more efficiently
IBM Rational Software Conference 2009
5CRMA43
Respond to changing requirements
Ability to set aside in-progress changesNew high priority defectLowered priority of new featureNeed to be able to easily restore in-progress changes that are set-aside
Some SCM systems have inbuilt support
If notA system that makes it easy to do parallel development
IBM Rational Software Conference 2009
6CRMA43
Agile Globally Distributed Development
Additional challengesPlanningCommunicationArchitectureSCM
IBM Rational Software Conference 2009
7CRMA43
Continuous integration – definition
Continuous Integration is a set of software development practices, behaviors and principles for automating the integration and inspection of software continuously, so that engineers can detect and fix problems early and validate software quality.
IBM Rational Software Conference 2009
8CRMA43
Continuous integration – micro integration
File level integrationAvoid code divergenceFind integration issues earlyIntegrating changes within an active development branch
Deliver stable code on the active development branchApplication buildsManual or automated tests succeedNo regressions
IBM Rational Software Conference 2009
9CRMA43
Continuous integration – macro integration
Component level integrationPublished APIsIntegration between teams working on larger componentsPick up new staged derived objects – no mergingMerge in new version of libraries and full build
Integrating changes between active development branches
Integration Is for multiple active development branches
Not likely to be as frequent as micro integration
IBM Rational Software Conference 2009
10CRMA43
Atomic commit
Transactional support for creating a logical grouping of new versions
Beneficial for builds that are triggered by the commitGenerally irrelevant for nightly builds
Beneficial for keeping an active development branch stable
Compensate if atomic commit is unavailableBuild at designated timesUse time rules Avoid commits, deliveries and merges close to build time
IBM Rational Software Conference 2009
11CRMA43
Continuous build
Developer workspace buildvs.Active development branch build
vs.Integration branch build
Triggered builds
Scheduled builds
Nightly builds
Build toolsRational BuildForge automation
IBM Rational Software Conference 2009
12CRMA43
Agile using ClearCase
ClearCase is a great solution for agile in a large organizationSimple, flexible for the agile teamScales to support enterprise complexityCareful not to over use rich feature set – Keep it simpleAdd complexity above the active development branch to maintain agility
Or not at all
Agile topologies and practiceBase ClearCaseUCM
IBM Rational Software Conference 2009
13CRMA43
Base ClearCaseIsolation with checkouts, views and branches
Branches represent promotion levelsDevelopers share a branch for active developmentActive development branch merged with stabilization branch for releaseOptionally, branches for features lasting more than a dayOptionally, additional branches for testing, intermediate integration
IntegrationCheckout and CheckinView updateFindmergeNew Pending Changes view
Build ConsistencyTimed buildsConfig Spec time ruleLabel
IBM Rational Software Conference 2009
14CRMA43
Base ClearCase: View-based isolation
User B View
foo.java@@/active
1
2
3
User A View
bar.java@@/active
1
2
IBM Rational Software Conference 2009
15CRMA43
Base ClearCase: Branch-based isolation
User B View
foo.java@@/active
1
2
3
User A View
foo.java@@/private
1
2
IBM Rational Software Conference 2009
16CRMA43
Base ClearCase: Integration on the same branch
User B View
foo.java@@/active
1
2
3
User A View
bar.java@@/active
1
2
4
5
4
5
Checkin makes your changes visible to othersView update allows you to see other user’s changes
IBM Rational Software Conference 2009
17CRMA43
Base ClearCase: Integration between branches
User B View
foo.java@@/active
1
2
3
User A View
foo.java@@/private
1
2
34
Findmerge allows you to make your changes visible on the active branchFindmerge also allows you to get the latest changes from the active branch
IBM Rational Software Conference 2009
18CRMA43
Build Consistency – Time Ruletime
a.java
1
b.java
1
2
3
c.java
1
2
d.java
1
2
e.java
1
f.java
1
2 3 2 24
3 35
IBM Rational Software Conference 2009
19CRMA43
ClearCase Remote Client (CCRC)ClearCase over a Wide Area (high latency) Network
Pockets of remote users where MultiSite would not be cost effectiveWorking at homeWorking disconnected, traveling
Minimizes communication between CCRC client and serverCCRC server is the ClearCase “client”
May be used in a LAN environmentSupports Web views only – not Snapshot or Dynamic views
Integrated with Visual Studio
CCRC CLI
IBM Rational Software Conference 2009
20CRMA43
Recursive Add to Source ControlAdd to Source Control Dialog
Recursive add to source control
Filtering
IBM Rational Software Conference 2009
21CRMA43
Common Dialogs Checkout Dialog (Detailed)
Checkout Dialog (Simple)
Checkout Dialog (Customized)
Simple/Customized/Detailed
Last use remembered
Easy to change with preferences
IBM Rational Software Conference 2009
22CRMA43
AggregatedIndicators/Operations
Aggregated change indicator and operations
Checkin, Undo Checkout, Undo Hijack
IBM Rational Software Conference 2009
23CRMA43
PreferencesCheckout Dialog Preferences)
Customize appearance
Customize behavior
Checkout non-latest handling
Checkout reserved handling
Other behaviors: hijacks, logical resources
IBM Rational Software Conference 2009
24CRMA43
Streamlined Deliver/Rebase
One button deliver or rebase
Toolbar buttons remember last used type
Preferences control degree to which the operation is streamlined
Settable differently for each view
Default rebase can be to latest or recommended baselines
IBM Rational Software Conference 2009
25CRMA43
Working Sets
Save a named, persistent set of objects
Avoid repetitive navigation to reach those objects
Combine objects from different parts of the hierarchy into one working set
Edit working sets
Export/Import working sets to share with colleagues
IBM Rational Software Conference 2009
26CRMA43
Pending Changes View – Base ClearCaseBase ClearCase Pending Changes View
Combines many operations to display differences between developer’s view and the integration view
Single view for comparison and integration
Supports all ClearCase operations
Base CC and UCM, shared branch/stream, private branch, stream
IBM Rational Software Conference 2009
27CRMA43
Pending Changes View - UCMUCM Pending Changes View
Combines many operations to display differences between developer’s view and the integration view
Single view for comparison and integration
Supports all ClearCase operations
Base CC and UCM, shared branch/stream, private branch, stream
IBM Rational Software Conference 2009
28CRMA43
Notifications
Schedule polling for notifications of new baseline or pending view update
Schedule periodically or at specific days and times
Notification is subtle blinking of part of the toolbar button
Press the blinking button to perform the action
Hover to turn off the blinking and leave an acknowledgement indicator
IBM Rational Software Conference 2009
29CRMA43
Pending Changes Scheduled Refresh
Depending on the content, Pending Changes can be expensive to calculate
Provide a scheduled refresh for pending changes so information is available when needed
Improve Pending Changes to integrate local changes without requiring a refresh
IBM Rational Software Conference 2009
30CRMA43
IBM Rational Software Conference 2009
31CRMA43
© Copyright IBM Corporation 2009. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.