Agile Development Using the IBM Rational
                    ClearCase Remote Client (CCRC)
                              ...
IBM Rational Software Conference 2009



Agenda

   Software Configuration Management (SCM) issues important
   to agile t...
IBM Rational Software Conference 2009



Agenda
   What this presentation *is not* about
      Agile methodologies like sc...
IBM Rational Software Conference 2009



SCM Issues important to agile teams
   Rapid parallel development
      Isolation...
IBM Rational Software Conference 2009



Respond to changing requirements

   Ability to set aside in-progress changes
   ...
IBM Rational Software Conference 2009



Agile Globally Distributed Development

   Additional challenges
      Planning
 ...
IBM Rational Software Conference 2009



Continuous integration – definition

   Continuous Integration is a set of softwa...
IBM Rational Software Conference 2009



Continuous integration – micro integration

   File level integration
      Avoid...
IBM Rational Software Conference 2009



Continuous integration – macro integration

   Component level integration
      ...
IBM Rational Software Conference 2009



Atomic commit

   Transactional support for creating a logical grouping of new
  ...
IBM Rational Software Conference 2009



Continuous build

   Developer workspace build
       vs.
       Active developme...
IBM Rational Software Conference 2009



Agile using ClearCase

   ClearCase is a great solution for agile in a large orga...
IBM Rational Software Conference 2009



Base ClearCase
   Isolation with checkouts, views and branches
   Branches repres...
IBM Rational Software Conference 2009



Base ClearCase: View-based isolation


   foo.java@@/active                      ...
IBM Rational Software Conference 2009



Base ClearCase: Branch-based isolation


  foo.java@@/active                     ...
IBM Rational Software Conference 2009



Base ClearCase: Integration on the same branch
  foo.java@@/active               ...
IBM Rational Software Conference 2009



Base ClearCase: Integration between branches
  foo.java@@/active                 ...
IBM Rational Software Conference 2009



Build Consistency – Time Rule
                                                   ...
IBM Rational Software Conference 2009



ClearCase Remote Client (CCRC)
   ClearCase over a Wide Area (high latency) Netwo...
IBM Rational Software Conference 2009

Recursive Add to Source Control
                                        Add to Sour...
IBM Rational Software Conference 2009

Common Dialogs                                                      Checkout Dialog...
IBM Rational Software Conference 2009

Aggregated
Indicators/Operations




     Aggregated change indicator and operation...
IBM Rational Software Conference 2009

Preferences
                                                  Checkout Dialog Prefe...
IBM Rational Software Conference 2009


Streamlined Deliver/Rebase




   One button deliver or rebase
   Toolbar buttons ...
IBM Rational Software Conference 2009

Working Sets




   Save a named, persistent set of
   objects
   Avoid repetitive ...
IBM Rational Software Conference 2009

Pending Changes View – Base ClearCase
                                             ...
IBM Rational Software Conference 2009

Pending Changes View - UCM                                                      UCM...
IBM Rational Software Conference 2009

Notifications




                                        Schedule polling for noti...
IBM Rational Software Conference 2009

Pending Changes Scheduled Refresh




                                        Depen...
IBM Rational Software Conference 2009




                         CRMA43         30
IBM Rational Software Conference 2009




© Copyright IBM Corporation 2009. All rights reserved. The information contained...
Upcoming SlideShare
Loading in...5
×

Agile Developement Using CCRC - Sujeet Mishra

2,925

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,925
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Agile Developement Using CCRC - Sujeet Mishra

  1. 1. Agile Development Using the IBM Rational ClearCase Remote Client (CCRC) Sujeet Mishra IBM Rational Software sujmishr@in.ibm.com CRMA43 © 2009 IBM Corporation
  2. 2. IBM Rational Software Conference 2009 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 CRMA43 2
  3. 3. IBM Rational Software Conference 2009 Agenda What this presentation *is not* about Agile methodologies like scrum, xp, etc. How to connect build management tools to ClearCase How to kick off automated tests following a build CRMA43 3
  4. 4. IBM Rational Software Conference 2009 SCM Issues important to agile teams Rapid parallel development Isolation Response to changing requirements Geographically distributed development Integration Continuous integration Conflict resolution Atomic commit Continuous consistent builds Yes, all these, but primarily agile teams want to work faster and more efficiently CRMA43 4
  5. 5. IBM Rational Software Conference 2009 Respond to changing requirements Ability to set aside in-progress changes New high priority defect Lowered priority of new feature Need to be able to easily restore in-progress changes that are set-aside Some SCM systems have inbuilt support If not A system that makes it easy to do parallel development CRMA43 5
  6. 6. IBM Rational Software Conference 2009 Agile Globally Distributed Development Additional challenges Planning Communication Architecture SCM CRMA43 6
  7. 7. IBM Rational Software Conference 2009 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. CRMA43 7
  8. 8. IBM Rational Software Conference 2009 Continuous integration – micro integration File level integration Avoid code divergence Find integration issues early Integrating changes within an active development branch Deliver stable code on the active development branch Application builds Manual or automated tests succeed No regressions CRMA43 8
  9. 9. IBM Rational Software Conference 2009 Continuous integration – macro integration Component level integration Published APIs Integration between teams working on larger components Pick up new staged derived objects – no merging Merge 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 CRMA43 9
  10. 10. IBM Rational Software Conference 2009 Atomic commit Transactional support for creating a logical grouping of new versions Beneficial for builds that are triggered by the commit Generally irrelevant for nightly builds Beneficial for keeping an active development branch stable Compensate if atomic commit is unavailable Build at designated times Use time rules Avoid commits, deliveries and merges close to build time CRMA43 10
  11. 11. IBM Rational Software Conference 2009 Continuous build Developer workspace build vs. Active development branch build vs. Integration branch build Triggered builds Scheduled builds Nightly builds Build tools Rational BuildForge automation CRMA43 11
  12. 12. IBM Rational Software Conference 2009 Agile using ClearCase ClearCase is a great solution for agile in a large organization Simple, flexible for the agile team Scales to support enterprise complexity Careful not to over use rich feature set – Keep it simple Add complexity above the active development branch to maintain agility Or not at all Agile topologies and practice Base ClearCase UCM CRMA43 12
  13. 13. IBM Rational Software Conference 2009 Base ClearCase Isolation with checkouts, views and branches Branches represent promotion levels Developers share a branch for active development Active development branch merged with stabilization branch for release Optionally, branches for features lasting more than a day Optionally, additional branches for testing, intermediate integration Integration Checkout and Checkin View update Findmerge New Pending Changes view Build Consistency Timed builds Config Spec time rule Label CRMA43 13
  14. 14. IBM Rational Software Conference 2009 Base ClearCase: View-based isolation foo.java@@/active bar.java@@/active 1 1 User A View 2 2 3 User B View CRMA43 14
  15. 15. IBM Rational Software Conference 2009 Base ClearCase: Branch-based isolation foo.java@@/active foo.java@@/private 1 1 2 2 User A View 3 User B View CRMA43 15
  16. 16. IBM Rational Software Conference 2009 Base ClearCase: Integration on the same branch foo.java@@/active bar.java@@/active 1 1 User A View 2 4 2 3 User B View 4 5 5 Checkin makes your changes visible to others View update allows you to see other user’s changes CRMA43 16
  17. 17. IBM Rational Software Conference 2009 Base ClearCase: Integration between branches foo.java@@/active foo.java@@/private 1 1 2 2 User A View 3 User B View 4 3 Findmerge allows you to make your changes visible on the active branch Findmerge also allows you to get the latest changes from the active branch CRMA43 17
  18. 18. IBM Rational Software Conference 2009 Build Consistency – Time Rule time a.java b.java c.java d.java e.java f.java 1 1 1 1 1 2 2 2 3 1 2 4 3 2 2 5 3 3 CRMA43 18
  19. 19. IBM Rational Software Conference 2009 ClearCase Remote Client (CCRC) ClearCase over a Wide Area (high latency) Network Pockets of remote users where MultiSite would not be cost effective Working at home Working disconnected, traveling Minimizes communication between CCRC client and server CCRC server is the ClearCase “client” May be used in a LAN environment Supports Web views only – not Snapshot or Dynamic views Integrated with Visual Studio CCRC CLI CRMA43 19
  20. 20. IBM Rational Software Conference 2009 Recursive Add to Source Control Add to Source Control Dialog Recursive add to source control Filtering CRMA43 20
  21. 21. IBM Rational Software Conference 2009 Common Dialogs Checkout Dialog (Detailed) Checkout Dialog (Simple) Checkout Dialog (Customized) Simple/Customized/Detailed Last use remembered Easy to change with preferences CRMA43 21
  22. 22. IBM Rational Software Conference 2009 Aggregated Indicators/Operations Aggregated change indicator and operations Checkin, Undo Checkout, Undo Hijack CRMA43 22
  23. 23. IBM Rational Software Conference 2009 Preferences Checkout Dialog Preferences) Customize appearance Customize behavior Checkout non-latest handling Checkout reserved handling Other behaviors: hijacks, logical resources CRMA43 23
  24. 24. IBM Rational Software Conference 2009 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 CRMA43 24
  25. 25. IBM Rational Software Conference 2009 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 CRMA43 25
  26. 26. IBM Rational Software Conference 2009 Pending Changes View – Base ClearCase Base 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 CRMA43 26
  27. 27. IBM Rational Software Conference 2009 Pending Changes View - UCM UCM 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 CRMA43 27
  28. 28. IBM Rational Software Conference 2009 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 CRMA43 28
  29. 29. IBM Rational Software Conference 2009 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 CRMA43 29
  30. 30. IBM Rational Software Conference 2009 CRMA43 30
  31. 31. IBM Rational Software Conference 2009 © 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. CRMA43 31
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×