A Day in the Life of a Migrated ClearCase User A Sneak Preview
Table of Contents Scope...3 Introduction...3 Administrative Tasks...4 Working in the IDE...8 Managing Builds...12 Managing Releases...14 Summary...16 Further Reading...17
Scope This document provides a preview of how common day-to-day activities will change for users after migrating from IBM Rational ClearCase to the CollabNet TeamForge application lifecycle management (ALM) platform. This document is not meant to be a replacement for training, but rather a short summary of how several typical activities are handled in TeamForge. Introduction This document will be particularly relevant to the following audiences: Solutions architects who want an overview of the new TeamForge environment Configuration management (CM) supervisors whose organizations are migrating from ClearCase and want to understand the impact on daily administration Developers curious to know more about working with TeamForge and Subversion (SVN)/Git Release managers who want to understand how the transition from ClearCase to TeamForge will drive process improvement Screenshots will be used to illustrate the ways typical tasks are performed in TeamForge, and will highlight the most important differences between the two systems. There are several important architectural differences between a ClearCase environment and one based on TeamForge with Subversion and/or Git. The most important differences between CollabNet TeamForge and IBM Rational ClearCase are: CollabNet TeamForge TeamForge is designed with a centralized architecture supporting real-time communication and collaboration of highly distributed teams. TeamForge organizes all software development content around the concept of project workspaces, and acts as a container for all software development assets. TeamForge provides a central role-based access control system (RBAC) to control accessibility and permissions. The TeamForge authentication system allows multi-realm authentication outside the operating system. TeamForge provides centralized, server-based process control. TeamForge is architected with a more centralized model and scales extremely well with a small hardware pool. Even large instances of TeamForge typically don t need more than three servers to support tens of thousands of users. IBM Rational ClearCase ClearCase addresses the issue of team distribution through the replication of repositories and synchronization of changes. Base ClearCase only allows the logical grouping of repositories into project-like structures. ClearCase controls access with a combination of OS group assignments and so-called triggers to control the execution of operations. The process-related capabilities of ClearCase rely on the execution of client-side triggers. ClearCase has been designed as a distributed system with different server components. It relies on a highspeed, high-capacity connection between the server components Versioned Object Base (VOB) server, View server, Registry server and License server as well as a much larger support team for system and tools administration. The differences described above will impact the way users work. In TeamForge, many tasks will be simplified and the overall user experience will be improved, with no loss in product capabilities. A Day in the Life of a Migrated ClearCase User 3
Administrative Tasks The following section describes typical administrative tasks and how they are handled in a TeamForge environment. Setting up a new workspace CollabNet TeamForge organizes all data in project workspaces. A project workspace is best described as a container for managing and storing all types of development assets, both formal artifacts like source code, documents and requirements, and informal items such as emails, wiki pages, and roles and information related to the project's users. To ensure setup is easy, and to promote standardization TeamForge provides project templates. A project template contains both the process structure defined by the organization such as artifacts, workflow items, document folder hierarchy structures and roles as well as content, such as process descriptions. All version control related definitions, such as repository structures, are left outside as this workspace is project specific. Graphic 1 Creating a new project workspace is an easy task simply select a name and a process template for the configuration. Graphic 2 In just a few moments, after filling in the necessary fields, the new project home is created. Assigning users to a project TeamForge provides two ways to assign users to projects and roles; users can be assigned individually or can be assigned as a group in a single step. Users can be assigned multiple roles as well. As a result, users will have permissions set and based on their assigned roles within a team. 4 CollabNet, Inc. All rights reserved.
Graphic 3 Simply select from a list of registered users to assign users to various projects and roles. Graphic 4 Users can have one or multiple roles in a project, greatly simplifying access control. Creating a new repository The final step in completing a new project workspace is to create new repositories. These can be created through the user interface by those with the appropriate permissions. TeamForge manages all version control systems associated with the project centrally; however the physical version control servers can be located anywhere in the world. Graphic 5 Repositories can be created from a project workspace, even for different version control systems. A Day in the Life of a Migrated ClearCase User 5
Graphic 6 After creating a new repository it will be visible in the web interface that lists all repositories for the project. Creating and managing a replication of a Subversion repository With TeamForge, software configuration management (SCM) can be centrally performed even when servers are geographically distributed. The only requirement is network connectivity between TeamForge and its managed SCM servers. Rather than requiring the initial setup to be coordinated through local administrators, TeamForge lets you centralize initial setup, as well as replication and management of repositories. It is considered best practice when planning the layout to regard the servers holding the replicated repositories as disposable systems, meaning the logical master in a replicated group of repositories should be co-located with the TeamForge instance. This approach avoids the need to acquire costly, high-availability and disaster recovery solutions for remote systems, and it enables organizations to provide fast and centrally managed Continuous Integration (CI) solutions. Changing access permissions TeamForge eliminates the need to manually modify VOB group lists and triggers by providing the ability to centrally manage access control of repositories, independent of the geographical location of the SCM server. Path-based or branch-based authorization allows a fine-grained control on all versioned assets. Graphic 7 Replications of repositories can be set up and managed centrally. Graphic 8 The status of replications can be monitored centrally as well, including the journal of events. 6 CollabNet, Inc. All rights reserved.
Communicating changes to users TeamForge provides several ways to pass information about changes back to the user community. General changes, like a major overhaul of the role concept or a change in the integrated SCM server structure, can be broadcasted via the Web UI, or sent using global mailing lists. Users can subscribe to discussions as RSS feeds and actively receive information through the integrated development environment (IDE). Graphic 9 Administrators can set up a message that will appear on any page. Graphic 10 The message will be broadcasted until cleared by an administrator. Smaller changes (for example a change only affecting an individual project) can be communicated through a local mailing list. Users can monitor the lists or set up notifications (either individual or in a digested form) to receive alerts about new information. Graphic 11 Project managers can create discussion forums and mailing lists for different purposes. A Day in the Life of a Migrated ClearCase User 7
Working in the IDE The following section describes a few common developer tasks, using Eclipse as an example. CollabNet provides identical capabilities for Visual Studio, as a stand-alone client for businesses on Windows operating system. Creating a new workspace "Dynamic views" are a feature unique to ClearCase. However, in today's distributed environment it is not desirable for all changes to suddenly appear in your local working environment. Subversion and Git both provide a workspace management similar to snapshot views, but both systems have more intelligence built into the workspace concept. Dynamic views also introduce the need for the ClearCase MultiVersion File System (MVFS). This intercepts filesystem calls at the driver level to enable dynamic views. The successful use of MVFS requires tight management and control of the desktop client to ensure compatibility. Graphic 12: Access all software lifecycle assets and tools in Subversion, TeamForge and Lab Management from within popular IDEs such as Eclipse and Microsoft Visual Studio. Receiving task lists and updating tasks Most developers want to stay in their IDE to perform all tasks. To support this requirement TeamForge provides integrations that allow direct access to all TeamForge tools and assets from within the IDE. Developers can get a prioritized to-do list, have access to other predefined queries, understand the context from other users that worked on the task before, and even modify data or enter new information. 8 CollabNet, Inc. All rights reserved.
Graphic 13 Artifacts like defects can be entered or edited in the context of a developer task. Graphic 14 Access to source code and tasks are linked together in the Visual Studio IDE. Working in the taskboard If you are working in an Agile project management context you might find it useful to change the perspective of your to-do list into a taskboard view, enabling you to simply drag and drop tasks as you move through your defined workflow. A Day in the Life of a Migrated ClearCase User 9
Graphic 15 Agile teams benefit from the special Agile perspectives to the project data. Committing changes back to the repository Subversion and Git, unlike ClearCase prior to its latest release, have always committed change sets back to the repository as a transaction. The standard workflow of the user is to modify the necessary files to address an assigned work-item, and then commit those files back to the canonical repository. When committing these changes, either all changes succeed or the commit itself will fail and everything is rolled back. For both Subversion and Git, TeamForge allows or requires the user to associate the commit to a work-item. Graphic 16 Version control activities are embedded in the context menu. 10 CollabNet, Inc. All rights reserved.
Graphic 17 The commit is automatically associated with the artifact (task). Merging changes into a different stream CollabNet, an active contributor to the Subversion community, not only has developers committed to working on the repository, but is also active in adding value to Subversion clients. For example, CollabNet developed a merge utility that enhances the standard capabilities of the Eclipse merge manager. This enhanced merging utility, when used in conjunction with TeamForge, allows users to do activity-based merging based on associated change sets similar to Unified Change Management (UCM) in ClearCase including the practice of merging only certain file changes or "cherry picking." Graphic 18 To support the merge activity in Subversion, TeamForge provides a wizard to support developers. A Day in the Life of a Migrated ClearCase User 11
Graphic 19 The wizard allows activity-based merge by simply selecting the change sets via the artifact. Managing Builds The following section describes an integrated build environment based on the Jenkins/Hudson Continuous Integration (CI) server. In addition to this integration, CollabNet maintains partnerships with a number of proprietary build tools that can also be integrated with TeamForge. The following sections detail the plug-ins developed by CollabNet that are freely available to TeamForge users to make CI easy. Manage access to the build system One of the key aspects of the Hudson/Jenkins and TeamForge integration is that the build process can leverage the TeamForge role-based access controls (RBAC). For example, users can be granted permissions to start builds or administer entire build systems. Graphic 20 Hudson permissions are controlled via specific roles that can be assigned to project members. Starting a build and reviewing results Using TeamForge s linked application ability, the web interface of Hudson is embedded into the TeamForge project workspace. Additionally, associations with work-items are established automatically to allow an easy navigation from the build result into the specific work-items that were addressed as part of the build. 12 CollabNet, Inc. All rights reserved.
Graphic 21 Hudson and Jenkins will show up as an integrated part of the project workspace. Graphic 22 Project members get a quick overview of the scheduled build jobs. Graphic 23 Project members can control builds in flight. A Day in the Life of a Migrated ClearCase User 13
Graphic 24 Build logs and history are managed as usual TeamForge does not limit the capabilities in any way of Hudson/Jenkins. Managing the results of a successful build Available plug-ins allow a simple and flexible way to upload build results into the associated TeamForge workspace, depending upon the needs of the team. Build results can be: Loaded into the file release area for managing the release process and external download Loaded into an associated version-control repository (to version the builds) Uploaded into the document section (for sharing, but not as a permanent storage) Not shown in this document, but implemented in combination with TeamForge and Jenkins/Hudson, is an integration into Maven as a binary repository and package manager. TeamForge does not provide an identical replacement for Rational's concept of derived objects; TeamForge's approach is more open and technology agnostic, particularly when one would like to move to a centralized service for managing builds based on specific deployment targets. Graphic 25 The File Release section of TeamForge organizes the build results and deliverables of a project. Managing Releases Creating a new release The file release component of TeamForge provides a two-step process for managing the deliverables of a project. The first step is to define the packages. Packages describe a particular deliverable, for example binaries, documentation, etc., associated with a particular release. A release contains all assets that need to be shipped for a package in a particular revision. The file releases are also used to define future deliverables and represent a roadmap for the deliverables. As packages are placed into the file release area and future releases are 14 CollabNet, Inc. All rights reserved.
defined, TeamForge's tracker is updated with drop-down lists to associate work items to a particular release. These drop-down lists enable the work items to be classified as reported against a particular release, or fixed in a release establishing the association can be useful for planning future releases. This a different approach than managing the results in dedicated ClearCase VOBs and working with labels. In TeamForge, one has a tight association and an easy way to navigate between the various aspects of a release. Graphic 26 New release objects can be created in advance, based on the project plan. Graphic 27 After adding a new release, deliverables can be stored as part of the release. Promoting a release File releases provide a simple promotion model to describe the maturity level of a specific release. Associations with other objects can be used to verify the completeness that triggers the transition into the next maturity state. A Day in the Life of a Migrated ClearCase User 15
Graphic 28 Releases can be promoted to describe the maturity for other stakeholders. Summary The previous screenshots have only highlighted a few aspects of working in a TeamForge-based environment. Team Forge gives developers extensive functionality. However, it s not what developers can do with the tool that s important after all, SCM as a discipline requires certain capabilities. What s important to developers is how well they can perform their tasks. From a developer s point of view, all she needs for her day-to-day job has been embedded into the IDE. Additional Agile features, such as end-to-end traceability, taskboards, code search, integrated wiki, file share, and dynamic planning folders all add to a superior developer experience. Build and Release managers will benefit from the tight linkages across artifacts, as well as the ability to link other objects and communication between stakeholders in a central environment. Instead of putting a lot of effort into the system administration of a highly distributed tool infrastructure, with TeamForge administrators can perform even complex administrative tasks (like managing replicated repositories) directly out of a common interface with direct communication channels to all end-users. The capability to centralize the administration of geographically distributed development team frees up valuable time, allowing administrators to focus on higher-value tasks such as community management. 16 CollabNet, Inc. All rights reserved.
Further Reading Find out how you can optimize your business practice further. Moving to CollabNet TeamForge from IBM Rational ClearCase A Migration Scope and Requirements Questionnaire Putting DevOps and the Hybrid Cloud into Practice with CollabNet An Enterprise Cloud Development Implementation Checklist The whitepapers and datasheets above can be accessed at www.collab.net/clearcase Other insightful whitepapers, technical briefs and webinars can be accessed for free at http://www.collab.net/resources More information: You will find more information on http://www.collab.net/downloads/integrations Topics trending now Many of the latest technology announcements have implications for Platform-as-a-Service (PaaS) and cloud development that will serve Agile businesses everywhere. Enterprise Cloud Development www.collab.net/ecd Continuous Integration www.collab.net/getci 5 Things Your Development Team Needs to Be Doing Nowwww.collab.net/5things CONTACT US Corporate Headquarters 8000 Marina Blvd, Suite 600 Brisbane, CA 94005 United States Phone: +1 (650) 228-2500 Toll Free: +1 (888) 778-9793 About CollabNet CollabNet is a leading provider of Enterprise Cloud Development and Agile ALM products and services for software-driven organizations. With more than 10,000 global customers, the company provides a suite of platforms and services to address three major trends disrupting the software industry: Agile, DevOps and hybrid cloud development. Its CloudForge development-platform-as-a-service (dpaas) enables cloud development through a flexible platform that is team friendly, enterprise ready and integrated to support leading third party tools. The CollabNet TeamForge ALM, ScrumWorks Pro project management and SubversionEdge source code management platforms can be deployed separately or together, in the cloud or on-premise. CollabNet complements its technical offerings with industry leading consulting and training services for Agile and cloud development transformations. Many CollabNet customers improve productivity by as much as 70 percent, while reducing costs by 80 percent. For more information, please visit (www.collab.net). 2012 CollabNet, Inc., All rights reserved. CollabNet is a registered trademark in the US and other countries. All other trademarks, brand names, or product names belong to their respective holders. CollabNet, Inc. 8000 Marina Blvd., Suite 600 CA 94005 Tel +1 650 228 2500 Fax +1 650 228 2501 www.collab.net info@collab.net Blogs blogs.collab.net Twitter twitter.com/collabnet Facebook www.facebook.com/collabnethq LinkedIn www.linkedin.com/company/collabnet-inc