StarTeam Best Practices Getting the most from StarTeam

Size: px
Start display at page:

Download "StarTeam Best Practices Getting the most from StarTeam"

Transcription

1 Getting the most from StarTeam Randy Guck Chief Scientist, StarTeam Borland Software May, 2008

2 Table of Contents 1. Introduction Welcome to StarTeam! StarTeam Has Grown Up! What s New? Overview Introduction to ALM What is Version Control? Centralized Repository Versioning Focus on Text Files VCS Operations Containers Security What is Software Configuration Management? Introducing the Artifact Branching Merging Sharing and Cheap Copies Change Tracking Development Streams Change Rules What is Application Lifecycle Management? Collaboration Process Improvement Traceability Orchestrating Distributed Teams StarTeam Basics The Big Picture Standard Architecture Overview StarTeamMPX Components Core Concepts Containers: Configurations, Projects, and Views Artifacts Artifact Versioning, Branching, and Merging Items and Sharing Links and Process Items Labels Promotion States Miscellaneous Concepts Guidelines for Deploying StarTeam Why Your Mileage will Vary What is a Large Configuration? Borland Software Page 2 of 90

3 4.3. What Happens When a Configuration Gets Too Large? Deploying Multiple Small Configurations on a Single Machine Deploying Medium Configurations Deploying Large Configurations Clustering for High Availability Supporting Distributed Teams Best Practices for Configuring StarTeam Server Configuration: How Many Do You Need? Consider Business Unit Divisions Leverage StarTeam s Support for Distributed Teams Don t Partition for Internal/External Access Plan for Growth Splitting-up Large Configurations Project Configuration: Defining a Project s Scope Keep Projects Autonomous Example 1: A Simple Client/Server Application Example 2: An Independent Client Module Example 3: A Complex Application Suite Handle Cross-Project File Dependencies Support Cross-Project Activities View Configuration: Understanding View Types and Roles View Types View Roles Main View: Home Base for Artifacts Activity Views: Isolated Team Work Areas Release View: For Post-Release Maintenance Work Sandbox View: For Small Teams or Individuals Build View: Read-Only Windows for Build Scripts View Do s and Don ts Best Practices for Common Processes Change Management within a View Scenario #1: Working in a Small Team Scenario #2: Preventing Merge Conflicts Scenario #3: Using Process Items Effective Use of Labels Scenario #1: Daily Builds Scenario #2: Change Builds Miscellaneous Tips Change Management across Views Overview of VCM When to use each VCM Merge Type Rebase Merges Promote Merges Replicate Merges Borland Software Page 3 of 90

4 Using VCM with a Simple Project Using VCM with Activity and Sandbox Views Using VCM in High Concurrency Projects VCM and Process Items Process Items Should Be Single-Purpose Where Should Process Items Be Created? Simplified Work Status Reporting Administrative Processes Performing Online Backups Managing Security Monitoring Server Performance Tuning Server Performance Maintaining Configuration Health Maintaining a Test Server References Glossary Borland Software Page 4 of 90

5 1. Introduction 1.1. Welcome to StarTeam! Whether you re a StarTeam newcomer or an experienced veteran, welcome! The goal of this document is to bring you tips, techniques, and practices that help you use StarTeam successfully in your environment. The information presented here supplements the standard StarTeam guides and manuals, providing how to advice not found elsewhere. These best practices are cultivated from years of experience helping customers get the most from StarTeam. We hope this information helps your organization as well StarTeam Has Grown Up! Back in 2006, StarTeam celebrated its 10-year anniversary. As most of us that have worked on large software systems know, this is no small feat. Most sophisticated applications succumb to software entropy or simply aren t valuable enough to survive even 10 years. We like to think that StarTeam reached its first decennial birthday because we ve listened to you, our customers, and we ve worked hard to meet your needs. We re not surprised that Joel Spolsky says, Good software takes ten years get used to it. [Spolsky] StarTeam began as a software configuration management (SCM) tool for small teams on Windows a niche back in StarTeam was the first SCM product to combine traditional file version control with defect tracking in an integrated, graphical product. Over the years, StarTeam has expanded on all fronts: features, platforms, performance, and scalability. StarTeam is now used by international companies, allowing thousands of globally distributed users to share a common repository. Enterprises now use StarTeam to integrate application lifecycle management (ALM) activities in truly global spanning organizations What s New? Since 2006, StarTeam has seen some significant changes and improvements to some fundamental aspects of the product. The 2006 release was a watershed release for more reasons than just its coming of age. It is one of the biggest releases in recent years, introducing many important new features such as: Atomic transactions: StarTeam provides a new multi-artifact update capability that supports full ACID 1 transactions. For example, you can check-in multiple files, link them to a change request, mark the change request fixed, and attach the files to new revision label, all in one atomic transaction. View compare/merge: Known as VCM, this new change management facility provides a powerful way to propagate changes within StarTeam. VCM elevates StarTeam change management to a whole new level. 1 ACID properties are the yardstick of database transactions: atomicity, consistency, isolation, and durability. Borland Software Page 5 of 90

6 Integrated visual file differencing and merging: StarTeam provides a new graphical file comparison and merging tool, tightly integrated with StarTeam clients at key touch points to greatly improve file management. Unlimited file size: Building on the highly-scalable Native-II vault introduced with StarTeam 2005, the 2006 release allows individual file revisions to be unlimited in size 2. Combined with StarTeam s equal proficiency at managing text and binary files, this feature opens-up whole new media types that can be managed with StarTeam. New client customization features: The StarTeam cross-platform client (CPC) provides new customization features, allowing each user to see exactly what they want. Client usability improvements: The StarTeam CPC provides numerous new features and usability improvements in managing folders, navigating to referenced items, customizing properties dialogs, and more. Expanded platform support: StarTeam components are now available on more platforms with almost no platform-specific restrictions: the StarTeam server now supports Linux and VMWare ESX; HP-UX is a supported client platform; and virtually all clients are supported on all platforms. And since StarTeam 2006 we have made even more progress up to the latest release of StarTeam Some of the key advancements include: Improved Performance: Newly added MPX Object Caching allows for an even greater performance improvement for accessing and working with non-file items (CR s, Tasks, Requirements and Topics). In addition we improved Borland Search by providing parallel support on the indexing servers, as well as significantly improved the performance of list controls on custom forms (APE s). Improved Usability: It is now possible to compare content within the same view with the VCM (not just between different views/branches). We ve added support for non-derived views within the VCM. We also added a new type of Enhanced Process Links and Process Tasks to the way StarTeam handles process items and automatic link creation. Process Guidance & Support: We ve tried to improve the way the tool provides guidance on process automation by for example creating the ability to prevent the creation of Advanced Views (prevent floating views) and also by allowing users to select cross project process items when doing their work, thus making it easier to separate change-control projects from those where the actual software assets are being stored and managed. Platform updates for StarTeam 2008: The platform support situation is of course always evolving and the latest changes includes Microsoft Vista support (for the Cross Platform Client, SDK, 2 Well, technically files are limited to a maximum of bytes. But, at over 9.2 x bytes (that s 9 exabytes, if you must know), we consider this virtually unlimited. Borland Software Page 6 of 90

7 command line, and bulk check-out utility), 64-bit Oracle DB support and SQL Server 2005 support (for both the StarTeam server and the Datamart). Some platforms were obsolete: Oracle 9 DB, SQL Server 2000, Linux RH 3 (for the CPC) and Solaris 9 (for the CPC). For a complete list of new features for StarTeam 2008, see the What s New topic in the StarTeam Help documentation or the Administering and Using StarTeam manual. Since the release of StarTeam 2006 and up to the very latest StarTeam 2008 release, we have developed some new techniques and practices to pass along. StarTeam now provides whole new ways to accelerate software development Overview This document updates and supersedes the documents StarTeam Configuration Best Practices and StarTeam Performance & Scalability document, both dated December, Best practices are updated to reflect capabilities of the StarTeam 2006 release and new experience garnered from customer successes and even some mistakes since then. This document provides guidelines on how to use StarTeam in several categories: deployment, configuration, short- and long-term operation, and administration. To help you decide which sections you should read, here s a summary of what s in each one: Introduction to ALM: This section explains foundation concepts on version control, software configuration management, and application lifecycle management. If you re new to StarTeam or these concepts, this should help you understand where StarTeam fits in the software management landscape. StarTeam Basics: This section provides an overview of core StarTeam concepts: containers, artifacts, items, links, and so forth. If you re new to StarTeam, this section is a must. Guidelines to Deploying StarTeam: This section is designed to help you plan new StarTeam deployments or evolve existing ones. It covers topics such as hardware configuration alternatives, high availability concepts, and optimizing StarTeam for distributed teams. IT managers and administrators will definitely want to read this section. Best Practices for Configuring StarTeam: This section provides considerations for how you should set-up and organize the primary StarTeam containers : configurations, projects, and views. This information describes the best techniques that other customers have successfully used. Best Practices for Common Processes: This section gets to the heart of the question how should I use StarTeam? We provide our best advice on daily operational topics such as change management, security administration, and backups. For many users, the last section will be the most important. So if you can t wait, start there. For some topics, we summarize material that is discussed in greater depth elsewhere and point to those documents for more details. In other cases, this document covers important topics in depth. Borland Software Page 7 of 90

8 2. Introduction to ALM Application Lifecycle Management (ALM) is an important evolutionary step in the effort to successfully manage software development. ALM is a process in which StarTeam plays a central role. In order to understand what ALM is, this section describes what came before it and why it has become important. Although you can think of version control, software configuration management, and ALM as a capability hierarchy, the lines between them are blurred by that fact that some applications (including StarTeam) provide benefits from each of these layers. Read this section if you re new to these concepts or want to see how StarTeam draws from all of them What is Version Control? When the first developer accidentally wiped out some changes while saving a file, version control was born. Late that night while working under the glow of a teletype, this same user created the world s first version control system (VCS). 3 The need for version control becomes readily apparent to anyone who at some point realizes that an older version of a file is the one they want now. And, when many people work on the same set of files, other VCS requirements become quickly apparent: identification, locking, security, and so forth. At its core, the goal of version control 4 is to store and maintain an accurate history of changes for a set of files. The first version control system is generally agreed to be the Source Code Control System (SCCS), developed in the early 70 s. The popular Revision Control System (RCS) was later developed in the 80 s. It was superseded by the open source VCS known as the Concurrent Versioning System (CVS) and other CVS-compatible or partially-compatible follow-on systems such as CVSNT and Subversion. The features most important to a VCS are summarized below Centralized Repository The main purpose in life of a VCS is to store file revisions. To make them accessible to multiple users, file revisions are typically stored in a repository. The repository may consist of a set of OS-level files, a database, or both. Putting the repository on a centrally-accessible server has many advantages. It can be made accessible throughout the company and even externally with sufficient security controls. Each user can copy exactly the file revisions they want to their workspace. Backing-up and securing the repository is easier when it is centralized. And so forth. 5 3 The credit for the first VCS goes to SCCS, created in Since it was developed for a mainframe, we assume a teletype was involved. For you kids, a teletype is an early computer terminal. Think typewriter with a long roll of paper. No, they don t actually glow in the dark. Now, don t ask what a typewriter is. 4 Version control is also known as revision control, so the term revision control system applies as well. 5 For completeness, we must point out that peer-to-peer networking introduced an alternative to the centralized repository model. In lieu of a central authority, file revisions are copied from workstation to workstation as needed (like free music ). This model has been used successfully with small teams, but it introduces difficult issues in terms of scalability, control, security, backup, and so forth. We won t discuss it further here. And just for the record, we had nothing to do with that free music stuff. Borland Software Page 8 of 90

9 Versioning Since a VCS may have multiple versions of a single, conceptual file such as foo.java, we need a way of distinguishing them. To do this, every new revision added to the repository is assigned a sequential version number. Depending on the VCS, the first revision s version number may be 0 or 1; each modification thereafter increments the version number. Each file is independently numbered. Figure 1 shows a zerobased version sequence. Initial revision (file added) Update revisions (file modified) File: foo.java Version numbers Figure 1: Version numbering An industry convention is to refer to the most recent revision available for a file as the tip revision Focus on Text Files Because they were born from the need to manage source code, VCS s typically focus on text files. This allows them to use deltas to leverage the line-oriented nature of text files to minimize storage space. Nontext files are typically not supported at all or not supported well. (For example, binary files may experience performance problems, size limits, or other issues.) A VCS also does not provide version control for change requests, tasks, and other non-file artifacts. As we will discuss later, we need features from SCM applications to manage non-file artifacts VCS Operations To allow users to interact with the repository in a controlled manner, a VCS provides basic operations such as the following: Add: Add a brand new file to the repository. Since a VCS is aware of folders, you tell the VCS to add the file to the appropriate folder. Get: Fetch a specific file revision, copying it to the local workspace. A get does not lock the file; hence the VCS may mark your local file copy as read-only so you re reminded not to modify it. Check-out: This is a get with lock. That is, the VCS copies the file to your local workspace (if it s not already there) and locks it in the repository, preventing others from performing a check-out. (However, other users can still get the file.) When you have the lock, the VCS typically makes your local file copy modifiable. Check-in: After a file is modified locally, this operation posts the new revision to the repository, assigning it the next version number. When you check-in, your lock is typically released at the same Borland Software Page 9 of 90

10 time so that someone else can perform a check-out. This means that your local copy may be marked read-only again since you no longer have the lock. As you can see, locking is a key VCS capability. Acquiring a lock during check-out and releasing it at check-in avoids the possibility that two users both think they have control of the file. Otherwise, if two users both modified the same file and then checked-in their changes, the second user could wipe-out the changes made by the first user. As we ll see later, allowing multiple users to work on the same file at the same time is an important capability. Such parallel development requires additional features such as branching and merging. Although some VCS s support parallel development, it is typically not their strong suit. We ll probe this topic more under SCM Containers For some reason, having everyone on planet earth store their files in a single repository doesn t scale well. Consequently, VCS s allow multiple repositories, sometimes referred to as instances. Within an instance, a VCS may provide additional containers such as projects, subprojects, or views. 6 These containers allow you to separate files within a repository based on application, module, business unit, or other criteria. VCS s also provides tags (or labels) that you can apply to an arbitrary set of file revisions. A tag is a snapshot that identifies files related to a specific purpose (e.g., the 2.1 release build). A VCS typically supports a client-side container called a workspace. In addition to providing a welldefined area for check-in/check-out operations, a workspace allows a VCS to compute the status of each file: which ones have been modified since they were checked-out, which ones are out-of-date, and so forth Security Minimally, a VCS must support repository-level security, restricting the users who can access the repository. Some VCS s rely entirely on OS-provided, file-level security for all access. Some VCS s offer finer-grained access control on lower-level containers (projects, folders, and individual files). Access control specifies which users and user groups can access these containers. Correspondingly, permission control specifies what each user or group can actually do: read, add, update, delete, etc What is Software Configuration Management? At your company, everyone just works on one release at a time, right? And when it ships, you forget about it and move on to the next release, yes? No, we don t know anyone who works that way either. Very few companies have the luxury of worrying about only one version of an application at any given time. If you re like most companies, you have a current release in the field, a new release under development, and several older releases still being supported. If you find a bug in the current release, you may have to fix it in two older releases, but sometimes the fix isn t quite the same in each release. And tomorrow, you may need to rebuild an old field test release so you can duplicate a problem found there. Oh, 6 Amazingly, some VCS systems have no container other than an instance! Borland Software Page 10 of 90

11 and your boss has this great idea to start three new releases in parallel, each delivering functions 3, 6, and 9 months out. And surprise, you re going to need another service pack for that last release. In short, you need software configuration management (SCM). The primary purpose of SCM is to allow parallel development. The term SCM was well-chosen as it aptly describes the activities of parallel development: Software: The focus of SCM is not just source files, but all artifacts needed to develop software applications. This includes all files required to produce software resource files, build scripts, thirdparty libraries. But software development often involves artifacts that may not naturally exist as files: requirements, defects, enhancement requests, tasks, and so forth. SCM allows you to manage these artifacts well. Configuration: SCM seeks to provide precise definitions of specific artifact configurations. For example, you can create a configuration that identifies an approved set of requirements or all the files used to create a field test build, including the compilers, build scripts, and other tools. Reproducibility of specific configurations is important for traceability, auditing, and in some cases even regulatory purposes. Management: This means that the flow of changes to existing configurations and the creation of new ones are controlled and tracked. SCM allows you to define rules or workflow that control what can be changed by who. As you can see, SCM requires the features of version control, but it adds a significant layer on top. Let s examine the key features in this layer more closely Introducing the Artifact We ve already used the term artifact, but let s single out what it means to SCM. A typical software development lifecycle requires the development, evolution, and management of things other than source files such as requirements, models, graphics, change requests, schedules, tests, and so on. The term artifact refers to the generalization of objects that can be versioned, branched, merged, etc. Because SCM emphasizes management of all artifacts required to produce software, it must address management of more than source files. Some SCM systems accommodate non-file artifacts by serializing them into files and applying file-based version control. Other SCM systems support non-file artifact types directly, providing type-specific behavior for storage, versioning, merging and so forth. Yet another approach is to provide an SCM solution as an integration layer on top of multiple, lower-level tools such as VCS, defect tracking, and change management applications. How artifact generality is addressed varies greatly from one SCM system to another, but the goal of SCM is to manage all artifacts Branching Branching allows an artifact s version stream to be forked. Each fork can be independently modified, receiving its own versions. There s a big difference between copying an artifact and branching an artifact. Although copying allows each copy to be modified independently, the SCM system does not know that Borland Software Page 11 of 90

12 copied artifacts are related to each other in the repository. In contrast, with branching, the SCM system retains special knowledge about an artifact s branches. This information supports things such as intelligent revision comparison and three-way merging (discussed in the next section). An example of branching and merging is shown in Figure 2. Main branch New branch created from main branch version Revision 3 on the lowest branch merged to both upper branches New branch created from main branch revision Figure 2: Branching and Merging When a new artifact is added to the repository, a main branch is started and new revisions are added to it. At any time, a parallel child branch can be started. In this example, one child branch is created from main branch version 1, and another child branch is created from main branch version 2. Within a branch, the version number starts over (at zero in this example). New revisions are applied to a specific branch, incrementing the version number on that branch but not affecting other branches. Branching is needed to support parallel development on files. However, there are advantages to allowing non-file artifacts to branch as well. For example, if a defect artifact can be branched, the two branches can be used to track fixes to the same defect that exist in different releases. Not all SCM systems support branching for non-file artifacts Merging Inevitably, a change on one branch will need to be propagated to another branch. In Figure 2, version 3 of the artifact on the lowest branch is applied to both of the parent branches. However, you can t just copy a revision from one branch to another branch this could wipe-out changes that are specific to the target branch. Instead, what you want to do is merge the changes from the source to target branch. 7 More specifically, SCM systems store synchronization information that allows three-way merging. The three parts of a merge operation are (1) the source revision containing changes to be propagated, (2) the target revision that will be modified, and (3) the last source revision common to the source and target branches, known as the common ancestor. 7 Note, however, that overwriting the target artifact with the source revision instead of merging it is sometimes the desired effect, for example with binary files. Borland Software Page 12 of 90

13 For files, merging is typically done by passing these three file revisions to a three-way file merge tool. The tool compares both the source revision and target revision to the common ancestor revision and determines two important things: (1) what changes appear in the source revision only that should be propagated to the target revision, and (2) what changes appear in the target that may conflict with changes in the source revision. In many cases, merging detects no conflicts, so the merge tool automatically propagates the source changes to the target revision. When conflicts are detected (and sometimes even when none are), the merge tool typically displays the differences to a user who can review the differences, resolve conflicts, and approve the final result. The merge tool then creates a result file reflecting the target file updated with changes. The SCM system adds the result file to the target revision s branch, creating a new revision. In Figure 2, revision 3 on the lower child branch was merged to both of the upper branches. When it was merged to the main branch revision 3, it created main branch revision 4, which contains the merge results. (The arrow points to the revision that was created as a result of the merge.) For this merge, the common ancestor between the two branches is main branch revision 2: it is the most recent revision that both branches had in common. When the lower child revision 3 is merged with upper child branch revision 2, upper child branch revision 3 was created. For this merge, the main branch revision 1 is the common ancestor. For files, there is more to merge than contents. In an SCM system, files have other properties such as name and description. Merging a file requires merging these properties as well, for example to propagate a name change. Non-file artifacts that branch also require merging in order to propagate changes Sharing and Cheap Copies Over time, you will have a lot of artifacts especially files and some files will have a lot of branches. Consider the effect of containers : if you have a lot of teams, software components, and releases, you will need a lot of independent projects, subprojects, or other containers to support parallel development and separate maintenance. Often the same files will be needed in each of these containers. How do you get the files you need to each of these containers? Forcing every file to branch in order to get a unique branch in every possible container could be a lot of branching, which is expensive. SCM systems address this problem with a technique known as cheap copies. This involves creating references to files in a new container. Similar to Unix links, this happens without actually copying the files themselves (that is, their content or their history). Unlike Unix links, however, the first time a file is modified via a new reference, it is branched. For this reason, cheap copies are also referred to as copy on write sharing. Cheap copies are an important SCM feature to support efficient branching with large projects Change Tracking When we develop software, we tend to work in specific units of work: implement a feature, fix a bug, add a unit test, and so forth. Often a single change involves updates to multiple files. Although it is useful to see the history of individual files, sometimes we want to see why a certain file revision was created and what other files were modified for the same reason. Tags can help, but what we really want is a change container into which artifacts can be placed that are related to the same unit of work. Borland Software Page 13 of 90

14 Lots of such change containers are used by different SCM systems, going by names such as activities, change sets, change packages, jobs, and so forth. What s common to these various facilities is that they allow use to see what was actually changed as well as the work artifacts that support the reason for the changes: requirements, defects, tasks, etc. Moreover, SCM systems typically allow the related artifacts to be placed inside the container and then applied or committed in an atomic transaction. The use of atomic transactions ensures that the entire set of changes is applied or none of them Development Streams So far, we ve talked about containers that hold sets of artifacts: projects, subprojects, folders, etc. We ve also talked about branches as parallel version streams for individual artifacts. In practice, we need to develop or maintain sets of artifacts related to a specific long-term activity: new feature development, bug fixes, a service pack release, etc. In other words, we need a container where the branch of every artifact it contains is dedicated to the corresponding activity. Whether they are for new development or maintenance, we ll call this intersection of containers and dedicated artifact branches a development stream. Think of a development stream as a place where we may apply a continuous stream of work-specific changes as described in the previous section. In some SCM systems, a container type is the same as a development stream. For example, a subproject may be used to separate artifacts belonging to different applications, but a subproject may also be the mechanism used to create multiple development streams for the same application. In other cases, an SCM system may provide separate mechanisms for containers and development streams Change Rules It is not enough to simply capture and organize artifact revisions. SCM systems typically provide a way to control which users can make changes and when. (After all, we re talking about software configuration management.) Security rules provide part of the solution, but security typically does not consider an artifact s state. Consequently, some SCM systems allow you to define change rules that affect how certain changes can be made. An example rule may be that a defect can only be marked fixed by someone in the QA group. Another rule may be that files cannot be added or modified unless a task or other work item is selected as the context, allowing the SCM system to record that context along with the file changes What is Application Lifecycle Management? SCM is not the only process that occurs in software development. Most organizations also use a combination of requirements management, modeling, coding, build management, test management, deployment, and other processes. Although fundamental SCM concepts such as artifacts, versioning, and change management thread throughout these processes, managing the end-to-end lifecycle requires a layer above them all. Application lifecycle management (ALM) is the coordination of all activities in the software development lifecycle. Compared to SCM, whose focus is the management of specific branches, components, and 8 Confusingly enough, such a development stream is sometimes called a branch, not to be confused with the version branches of individual artifacts. Borland Software Page 14 of 90

15 artifacts, ALM broadens the management scope to entire project lifespans and finished goods : complete applications delivered for a specific business goal. ALM is a discipline aimed at improving efficiency and reducing errors. As such, it can be practiced independently from the tools used in any specific development phase. However, practicing ALM is a laborintensive process without support from the tools used in the lifecycle. The following sections describe some of the key features that an ALM solution must address Collaboration If you had to summarize ALM in a single word, you could say that it s all about collaboration. Software development management has evolved from the VCS focus of managing bits to the SCM focus of managing change to the ALM focus of managing processes. Since processes are the activities of people and tools, this means ALM facilitates the collaboration between people and tools. ALM seeks to coordinate people on the same team and those on different teams involved in different project phases. For example, ALM provides a way for QA people to not only see business requirements but to communicate with business analysts. One collaboration issue that ALM must grasp is information timeliness. As our teams get bigger, our application portfolios grow, and our processes become more sophisticated, we cannot depend solely on information pull. That is, we cannot rely on users monitoring large sets of information to discover work they need to address. Time-sensitive information must be pushed on an event or exception basis to appropriate people and tools. ALM solutions provide event-based notifications in a variety of ways such as and publish/subscribe messaging frameworks. An important use case for ALM collaboration is progress reporting. Team leads, project managers, and executives need to see the big picture via customized reporting, analytics, and even data mining. By integrating tools, artifacts, and people, ALM gives managers the oversight they need for monitoring activities and making mid-course corrections Process Improvement If collaboration is the short answer to what is ALM about, process improvement is the short answer to what is ALM s goal. In different organizations, process improvement may be known as process enforcement, reengineering, or enactment. Regardless, the goal of ALM is the same: improve the predictability, quality, and efficiency of software projects. Said another way, ALM strives to reduce process variance, minimize defects, and expend resources more intelligently. Sometimes process improvement is motivated by regulatory pressures (FDA, EMEA, Sarbanes-Oxley), internal evolution towards software development maturity models (COBIT, CMMI, ITIL), or a combination of these. It is important to note that ALM does not promote a specific development process. Rather, it provides a framework for which a chosen methodology can be monitored and managed. In fact, large organizations will often want to use multiple methodologies simultaneously. Which process is appropriate for a given project depends on the team size, its maturity, application size and complexity, and other factors. Whether the methodology is waterfall, RAD, agile, or a custom process, the role of ALM is to allow the methodology to be fine-tuned to reflect lessons learned. Over time, this ensures that teams follow established best practices. Borland Software Page 15 of 90

16 The role of a specific ALM solution, then, is to support the specific processes that the organization wishes to use. This has a number of implications: Automation: As much of the development lifecycle should be automated as possible. Every step that can be codified improves conformance and reduces process errors. Customization: An organization must be able to customize artifact workflows, event-based applications, and even artifact types to support the processes they use. Even end-user tools should be customizable to fit the needs of specific end-user roles. Extension points: It must be possible to add new tools to the ALM framework and integrate them with other tools. Process improvement by managing interactions across development phases is highly dependent on the ALM factor discussed next: traceability Traceability Traceability is an important function that ALM fulfills above phase-specific tools. It entails the linking of artifacts to represent specific relationships: requirements to design artifacts, defects to modified files, parent tasks to child tasks, test cases to requirements, etc. Traceability is important to prevent divergence of the final application from the initial requirements it lets us to follow the original target through its entire lifecycle. It is important that traceability is bi-directional. For example, a business analyst may want to know when test cases are written that verify specific requirements. Conversely, a QA engineer writing test cases must be able to review requirements in context to his or her work and know when they change. (Arguably, everyone in the lifecycle needs to correlate their work back to the appropriate requirements.) By spanning tools and development phases, traceability gives us greater schedule predictability, quality control, and process auditing Orchestrating Distributed Teams Increasingly, we live in a world of globally distributed development (GDD). Even small- to medium-size companies find themselves with software teams in different time zones and on different continents. Whether they are internal groups, contractors, or off-shored development, distributed teams are becoming commonplace. While distributed teams yield benefits such as follow-the-sun development, they impose special collaboration problems as well: Information integrity: How do you provide distributed teams access to up-to-date requirements, source code, defect reports, test cases, and other artifacts? How do we prevent contradictions and ensure one version of the truth? Process compliance: How can you ensure that remote teams are following corporate development practices? Borland Software Page 16 of 90

17 Scalability: How do you scale the information infrastructure to accommodate thousands of distributed users who need to access millions of artifact revisions, potentially representing terabytes of data? High availability: Given that software development has become a mission-critical business operation, how do you keep information available to practitioners on a 24 x 7 basis? Administration: How do you backup, secure, and monitor repositories in a distributed topology? In the pre-alm era, we d expect to find each team independently addressing these issues on a geographicor project-specific basis. We d probably find a hodgepodge of solutions with greatly varying degrees of attention to each issue. When we elevate our focus to ALM, we expect these issues to be addressed uniformly across the entire development organization. Borland Software Page 17 of 90

18 3. StarTeam Basics In this section, we ll review StarTeam basics: its architecture, key components, and core concepts. We ll map StarTeam s terminology and features to the VCS, SCM, and ALM concepts described in the previous section. If you re new to StarTeam or want to brush-up on the essentials, read on The Big Picture If you just read section 2, you may be wondering: how would we classify StarTeam? Is it a VCS tool, an SCM application, or an ALM solution? Well, you have to read the rest of this document and we ll reveal the answer on the last page. Oh, you re one of those who reads the last page when the suspense is too much? All right we won t make you wait: here s how we classify StarTeam: StarTeam supports all of the features of a VCS: a centralized repository, versioning for all file types (not just text), all basic VCS operations, different container types, and fine-grained security. StarTeam is also a complete SCM application: it supports file and non-file artifact types; branching and merging; artifact sharing ( cheap copies ); change tracking; development streams; and change rules. StarTeam supports enterprise ALM foundation features in the following ways: Collaboration: A topic artifact supports threaded discussions, and event-driven notifications are provided via and publish/subscribe messaging. Read-only audit artifacts are automatically generated to provide a detailed log of all data modifications. Customization: StarTeam provides customizable workflow, forms, and artifact properties. An SDK supports custom event-driven applications and the integration of new tools. Bundled graphical clients provide per-user customization features. Traceability: A flexible link facility allows arbitrary artifacts to be related within the repository. Distributed teams: StarTeam uses a unique architecture that allows thousands of users worldwide to access a single instance without replication. Borland Search is a search engine that provides secure searching across multiple StarTeam (and CaliberRM) repositories. StarTeam Datamart is a data mining application that provides multi-repository analytics and custom reporting. StarTeam is integrated with other Borland ALM products (e.g., CaliberRM, Silk, Tempo, and Together), popular IDEs (e.g., JBuilder, Eclipse, Delphi, Visual Studio), and other repository-based products (e.g., HP Quality Center). In short, we can t say that StarTeam is an all-in-one ALM solution, but it is far more than a VCS or even an SCM system. Companies use StarTeam because they are building ALM, and StarTeam provides a strong foundation. Borland Software Page 18 of 90

19 3.2. Standard Architecture Overview The core components of StarTeam architecture are depicted in Figure 3. StarTeam Clients Network StarTeam Server Cross- Platform Client StarTeam SDK Database Server Administrator StarTeam SDK LAN, WAN, VPN, etc. command API StarTeam Server process Vault Hive 1 Files Command StarTeam Line SDK Interface TCP/IP Hive 2 Files Custom Application StarTeam SDK Figure 3: Overview of the StarTeam Architecture As you can see, StarTeam employs a client/server architecture. The Cross-Platform Client (CPC), Server Administrator, and Command Line Interface are example bundled StarTeam clients. StarTeam clients use the freely available StarTeam SDK, so you can write custom applications that have access to the same features as the bundled clients. The SDK is fully featured in Java,.Net, and COM flavors, allowing you to write custom applications for any environment. A single StarTeam client can have multiple sessions to any number of StarTeam servers. All StarTeam clients connect to a StarTeam Server process using TCP/IP, so virtually any kind of network can be used: LAN, WAN, VPN, or the public internet. StarTeam uses a proprietary protocol called the command API, which supports compression and multiple levels of encryption. The command API has been optimized to support high performance, automatic reconnect, delta check-out for slow connections, and other important features. A single deployment instance of StarTeam is known as a server configuration, usually shortened to just configuration. The persistent data of a configuration consists of a database and a vault and is managed by a single StarTeam Server process. The database holds all metadata and non-file artifacts, whereas file contents are stored in the vault. The database can be Microsoft Desktop Engine (MSDE), full SQL Server, or Oracle, and it can reside on the same machine as the StarTeam Server process or a separate machine. Borland Software Page 19 of 90

20 In its SCM capacity, StarTeam s vault is a critical component that affects performance and scalability. In contrast to the traditional delta storage technique, StarTeam s vault uses an innovative (patent pending!) architecture designed for scalability, performance, high availability, and dynamic expandability. Today, customers are storing up to a terabyte of data in a single StarTeam vault, but it was designed to store content up to a petabyte and beyond. Within the vault, files are stored in containers known as hives. A hive is a folder tree containing archive and cache files on a single disk volume. Hives can be dynamically added on existing or new disk volumes, thereby allowing virtually unlimited capacity. StarTeam stores each file revision in a separate archive file in a manner that minimizes space usage as well as duplicate content. Amazingly, StarTeam s vault uses less space than delta-based storage! 9 The StarTeam database and vault can be backed-up dynamically, while the server is in use. This supports 24 x 7 operations that want to minimize down time. Other high availability features and techniques are discussed later StarTeamMPX Components The standard architecture described in the previous section represents the minimal components present in a StarTeam instance: a StarTeam Server process managing a vault and a database and one or more StarTeam clients. With just these components, all basic StarTeam functionality is available. Like all client/server architectures, as the number of clients grows, the server could potentially become a bottleneck. In fact, the scalability of many client/server systems is entirely limited by this bottleneck. Other client/server systems address scalability by deploying multiple instances and replicating information between them to attain synchronization. StarTeamMPX (or simply MPX) is a unique solution to client/server scalability. MPX is a publish/subscribe messaging framework that pushes update events that contain metadata and data to clients. It is optional because it is not required for basic StarTeam functionality. However, when MPX is activated, it improves StarTeam server scalability and improves StarTeam client responsiveness. Basic MPX requires the addition of a single extra component, known as the Message Broker. The Message Broker s role is illustrated in Figure 4. 9 In certain cases where it is more economical to send file deltas to clients instead of full versions, StarTeam generates and caches delta files. However, in most cases sending full versions is more economical. Borland Software Page 20 of 90

21 Client Client command API StarTeam Server process Database Client event API Vault Client update events MPX Message Broker Figure 4: Role of the MPX Message Broker. The Message Broker is a messaging process that uses an event API to receive updates from the StarTeam Server process. The Message Broker broadcasts encrypted messages containing updated artifacts. StarTeam clients subscribe to subjects and receive only messages relevant to them. By receiving updates as soon as they occur, StarTeam clients do not need to poll for updates or refresh information they have cached, significantly reducing the demand-per-client on the StarTeam server. This improves server scalability, but it also improves client responsiveness since updates are received within seconds after they occur. Messages broadcast by a Message Broker benefit clients with active sessions. However, for files MPX offers an optional Cache Agent process that manages its own persistent cache. Cache Agents can be deployed at geographic locations, allowing clients to fetch file contents from the nearest Cache Agent, preventing the need to fetch this content across a longer (and potentially slower) network connection. MPX Cache Agents are illustrated in Figure 5. Borland Software Page 21 of 90

22 Remote site Server site Client Client command API StarTeam Server process Database Client Vault file checkouts Remote Cache Agent Client Remote Message Broker update events broker-tobroker forwarding Root Message Broker update events file checkouts to local clients Root Cache Agent Figure 5: MPX Cache Agents In this example, a Root Cache Agent is deployed network-near to the StarTeam Server process. A Root Cache Agent directly accesses the StarTeam vault, providing local clients with an alternate path to the vault for checking-out files. This reduces demand on the StarTeam Server, enhancing its scalability. This example also shows a Remote Message Broker and a Remote Cache Agent deployed at a remote site. Utilizing broker-to-broker forwarding, each update event is forwarded once to the Remote Message Broker, which then broadcasts it to local clients. Files are streamed to the Remote Cache Agent, which stores them in an encrypted private cache. StarTeam clients network-near to the Remote Cache Agent can check-out files at any time, leveraging the local high-speed network instead of pulling content across the WAN. This further reduces demand from the StarTeam Server while improving remote client responsiveness. Though not shown in this example, MPX offers many other benefits for distributed organizations: An optional companion to the Message Broker is the Multicast Service, which broadcasts messages to local clients using IP multicast. This broadcast protocol further reduces network traffic in large client communities. Borland Software Page 22 of 90

Borland StarTeam 2009. StarTeam Server Help

Borland StarTeam 2009. StarTeam Server Help Borland StarTeam 2009 StarTeam Server Help Borland Software Corporation 8310 N Capital of Texas Hwy, Bldg 2, Ste 100 Austin, Texas 78731 USA www.borland.com Borland Software Corporation may have patents

More information

IBM Rational ClearCase, Version 8.0

IBM Rational ClearCase, Version 8.0 IBM Rational ClearCase, Version 8.0 Improve software and systems delivery with automated software configuration management solutions Highlights Improve software delivery and software development life cycle

More information

Successfully managing geographically distributed development

Successfully managing geographically distributed development IBM Rational SCM solutions for distributed development August 2004 Successfully managing geographically distributed development Karen Wade SCM Product Marketing Manager IBM Software Group Page 2 Contents

More information

2405 - Using Git with Rational Team Concert and Rational ClearCase in enterprise environments

2405 - Using Git with Rational Team Concert and Rational ClearCase in enterprise environments 2405 - Using Git with Rational Team Concert and Rational ClearCase in enterprise environments Bartosz Chrabski Executive IT Specialist WW Competitive Sales Team bartosz.chrabski@pl.ibm.com Peter Hack ClearCase

More information

Global Software Change Management for PVCS Version Manager

Global Software Change Management for PVCS Version Manager Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.

More information

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &

More information

Software Configuration Management (SCM)

Software Configuration Management (SCM) Software Configuration Management (SCM) SCM actually consists of several separate yet cumulative disciplines. Version Management is an entry point for SCM T M Abstract : Software Configuration Management

More information

Integrity 10. Curriculum Guide

Integrity 10. Curriculum Guide Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training

More information

Surround SCM Best Practices

Surround SCM Best Practices Surround SCM Best Practices This document addresses some of the common activities in Surround SCM and offers best practices for each. These best practices are designed with Surround SCM users in mind,

More information

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Integration. CSC 440: Software Engineering Slide #1 Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge

More information

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.) Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source

More information

Key Benefits of Microsoft Visual Studio Team System

Key Benefits of Microsoft Visual Studio Team System of Microsoft Visual Studio Team System White Paper November 2007 For the latest information, please see www.microsoft.com/vstudio The information contained in this document represents the current view

More information

An introduction to the benefits of Application Lifecycle Management

An introduction to the benefits of Application Lifecycle Management An introduction to the benefits of Application Lifecycle Management IKAN ALM increases team productivity, improves application quality, lowers the costs and speeds up the time-to-market of the entire application

More information

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

Nexus Professional Whitepaper. Repository Management: Stages of Adoption Sonatype Nexus Professional Whitepaper Repository Management: Stages of Adoption Adopting Repository Management Best Practices SONATYPE www.sonatype.com sales@sonatype.com +1 301-684-8080 12501 Prosperity

More information

A guide through the concepts of Serena Dimensions. René Steg Steg IT-Engineering, Zurich (Switzerland)

A guide through the concepts of Serena Dimensions. René Steg Steg IT-Engineering, Zurich (Switzerland) A guide through the concepts of Serena Dimensions René Steg Steg IT-Engineering, Zurich (Switzerland) Introduction About René Steg and Steg IT-Engineering Owner of Steg IT-Engineering since 2000 and contracted

More information

CVS versus BitKeeper A Comparison

CVS versus BitKeeper A Comparison Chapter 11 CVS versus BitKeeper A Comparison Since the publication of the second edition of this book, a powerful new versioning system has risen called Bitkeeper, or BK/PRO, to dominate at least certain

More information

Meister Going Beyond Maven

Meister Going Beyond Maven Meister Going Beyond Maven A technical whitepaper comparing OpenMake Meister and Apache Maven OpenMake Software 312.440.9545 800.359.8049 Winners of the 2009 Jolt Award Introduction There are many similarities

More information

How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as

How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as it could be? Borland Core SDP enables your IT organization

More information

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management IKAN ALM Architecture Closing the Gap Enterprise-wide Application Lifecycle Management Table of contents IKAN ALM SERVER Architecture...4 IKAN ALM AGENT Architecture...6 Interaction between the IKAN ALM

More information

Getting Started Guide. StarTeam

Getting Started Guide. StarTeam Getting Started Guide StarTeam Borland Software Corporation 100 Enterprise Way Scotts Valley, California 95066-3249 www.borland.com Borland Software Corporation may have patents and/or pending patent applications

More information

Jazz Source Control Best Practices

Jazz Source Control Best Practices Jazz Source Control Best Practices Shashikant Padur RTC SCM Developer Jazz Source Control Mantra The fine print Fast, easy, and a few concepts to support many flexible workflows Give all users access to

More information

The Nuts and Bolts of Autodesk Vault Replication Setup

The Nuts and Bolts of Autodesk Vault Replication Setup The Nuts and Bolts of Autodesk Vault Replication Setup James McMullen Autodesk, Inc PL4700-V Has your company decided to move toward a replicated Autodesk Vault software environment? Does your company

More information

Distributed Development With Perforce Software. Tony Vinayak Perforce Software

Distributed Development With Perforce Software. Tony Vinayak Perforce Software Distributed Development With Perforce Software Tony Vinayak Perforce Software Introduction Not too long ago, the term distributed development did not exist. Every developer working on a project had to

More information

Online Transaction Processing in SQL Server 2008

Online Transaction Processing in SQL Server 2008 Online Transaction Processing in SQL Server 2008 White Paper Published: August 2007 Updated: July 2008 Summary: Microsoft SQL Server 2008 provides a database platform that is optimized for today s applications,

More information

Essential Visual Studio Team System

Essential Visual Studio Team System Essential Visual Studio Team System Introduction This course helps software development teams successfully deliver complex software solutions with Microsoft Visual Studio Team System (VSTS). Discover how

More information

Serena Dimensions CM. Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF

Serena Dimensions CM. Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF Serena Dimensions CM Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF Move Fast Without Breaking Things With Dimensions CM 14, I am able to integrate continuously

More information

Life Cycle Management for Oracle Data Integrator 11 & 12. At lower cost Get a 30% return on investment guaranteed and save 15% on development costs

Life Cycle Management for Oracle Data Integrator 11 & 12. At lower cost Get a 30% return on investment guaranteed and save 15% on development costs Life Cycle Management for Oracle Data Integrator 11 & 12 Increase productivity Stop wasting your time doing things maually by automating every step in your project s Life Cycle At lower cost Get a 30%

More information

White Paper. Software Development Best Practices: Enterprise Code Portal

White Paper. Software Development Best Practices: Enterprise Code Portal White Paper Software Development Best Practices: Enterprise Code Portal An Enterprise Code Portal is an inside the firewall software solution that enables enterprise software development organizations

More information

Selecting the Right Change Management Solution Key Factors to Consider When Evaluating Change Management Tools for Your Databases and Teams

Selecting the Right Change Management Solution Key Factors to Consider When Evaluating Change Management Tools for Your Databases and Teams Tech Notes Selecting the Right Change Management Solution Key Factors to Consider When Evaluating Change Management Tools for Your Databases and Teams Embarcadero Technologies July 2007 Corporate Headquarters

More information

Software Development In the Cloud Cloud management and ALM

Software Development In the Cloud Cloud management and ALM Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect

More information

Simplified Management With Hitachi Command Suite. By Hitachi Data Systems

Simplified Management With Hitachi Command Suite. By Hitachi Data Systems Simplified Management With Hitachi Command Suite By Hitachi Data Systems April 2015 Contents Executive Summary... 2 Introduction... 3 Hitachi Command Suite v8: Key Highlights... 4 Global Storage Virtualization

More information

One solution for all your Source Configuration Management Needs

One solution for all your Source Configuration Management Needs One solution for all your Source Configuration Management Needs SPECTRUM SOFTWARE, Inc. 11445 Johns Creek Parkway Suite 300 Duluth, GA 30097 Ph: 770-448-8662 Fax: 678-473-9294 www.spectrumscm.com www.spectrumsoftware.net

More information

Distributed Software Development with Perforce Perforce Consulting Guide

Distributed Software Development with Perforce Perforce Consulting Guide Distributed Software Development with Perforce Perforce Consulting Guide Get an overview of Perforce s simple and scalable software version management solution for supporting distributed development teams.

More information

Backup with synchronization/ replication

Backup with synchronization/ replication Backup with synchronization/ replication Peer-to-peer synchronization and replication software can augment and simplify existing data backup and retrieval systems. BY PAUL MARSALA May, 2001 According to

More information

How To Use Attix5 Pro For A Fraction Of The Cost Of A Backup

How To Use Attix5 Pro For A Fraction Of The Cost Of A Backup Service Overview Business Cloud Backup Techgate s Business Cloud Backup service is a secure, fully automated set and forget solution, powered by Attix5, and is ideal for organisations with limited in-house

More information

Best Practices for Deploying and Managing Linux with Red Hat Network

Best Practices for Deploying and Managing Linux with Red Hat Network Best Practices for Deploying and Managing Linux with Red Hat Network Abstract This technical whitepaper provides a best practices overview for companies deploying and managing their open source environment

More information

Data Modeling for Big Data

Data Modeling for Big Data Data Modeling for Big Data by Jinbao Zhu, Principal Software Engineer, and Allen Wang, Manager, Software Engineering, CA Technologies In the Internet era, the volume of data we deal with has grown to terabytes

More information

Comparison: Perforce and Microsoft Team Foundation Server (TFS)

Comparison: Perforce and Microsoft Team Foundation Server (TFS) Comparison: Perforce and Microsoft Team Foundation Server (TFS) Perforce 2012.1 and Microsoft Team Foundation Server (TFS) 2012 This document compares Perforce (version 2012.1) with Microsoft TFS (version

More information

Test Data Management Concepts

Test Data Management Concepts Test Data Management Concepts BIZDATAX IS AN EKOBIT BRAND Executive Summary Test Data Management (TDM), as a part of the quality assurance (QA) process is more than ever in the focus among IT organizations

More information

Gladinet Cloud Backup V3.0 User Guide

Gladinet Cloud Backup V3.0 User Guide Gladinet Cloud Backup V3.0 User Guide Foreword The Gladinet User Guide gives step-by-step instructions for end users. Revision History Gladinet User Guide Date Description Version 8/20/2010 Draft Gladinet

More information

Digital Asset Management

Digital Asset Management A collaborative digital asset management system for marketing organizations that improves performance, saves time and reduces costs. MarketingPilot provides powerful digital asset management software for

More information

Content. Development Tools 2(63)

Content. Development Tools 2(63) Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)

More information

Team Collaboration, Version Management, Audit Trails

Team Collaboration, Version Management, Audit Trails Team Collaboration, Version Management, Audit Trails Best Practices for Successful Project Delivery with VoiceObjects May 2008 www.voiceobjects.com 2 Team Collaboration, Version Management, Audit Trails

More information

Enhance visibility into and control over software projects IBM Rational change and release management software

Enhance visibility into and control over software projects IBM Rational change and release management software Enhance visibility into and control over software projects IBM Rational change and release management software Accelerating the software delivery lifecycle Faster delivery of high-quality software Software

More information

Siebel Installation Guide for UNIX. Siebel Innovation Pack 2013 Version 8.1/8.2, Rev. A April 2014

Siebel Installation Guide for UNIX. Siebel Innovation Pack 2013 Version 8.1/8.2, Rev. A April 2014 Siebel Installation Guide for UNIX Siebel Innovation Pack 2013 Version 8.1/8.2, Rev. A April 2014 Copyright 2005, 2014 Oracle and/or its affiliates. All rights reserved. This software and related documentation

More information

PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone

PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone Standalone PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone Most developers are familiar with Visual SourceSafe. It's a popular version control

More information

TestDirector Version Control Add-in Installation Guide

TestDirector Version Control Add-in Installation Guide TestDirector Version Control Add-in Installation Guide Borland Software Corporation 100 Enterprise Way Scotts Valley, California 95066-3249 www.borland.com Borland Software Corporation may have patents

More information

ORACLE DATABASE 10G ENTERPRISE EDITION

ORACLE DATABASE 10G ENTERPRISE EDITION ORACLE DATABASE 10G ENTERPRISE EDITION OVERVIEW Oracle Database 10g Enterprise Edition is ideal for enterprises that ENTERPRISE EDITION For enterprises of any size For databases up to 8 Exabytes in size.

More information

The 7 Attributes of a Good Software Configuration Management System

The 7 Attributes of a Good Software Configuration Management System Software Development Best Practices The 7 Attributes of a Good Software Configuration Management System Robert Kennedy IBM Rational software Benefits of Business Driven Development GOVERNANCE DASHBOARD

More information

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper Performance testing in Agile environments Deliver quality software in less time Business white paper Table of contents Executive summary... 2 Why Agile? And, why now?... 2 Incorporating performance testing

More information

Modernizing enterprise application development with integrated change, build and release management.

Modernizing enterprise application development with integrated change, build and release management. Change and release management in cross-platform application modernization White paper December 2007 Modernizing enterprise application development with integrated change, build and release management.

More information

Version Control Tools

Version Control Tools Version Control Tools Source Code Control Venkat N Gudivada Marshall University 13 July 2010 Venkat N Gudivada Version Control Tools 1/73 Outline 1 References and Resources 2 3 4 Venkat N Gudivada Version

More information

Oracle Data Integrator 12c: Integration and Administration

Oracle Data Integrator 12c: Integration and Administration Oracle University Contact Us: +33 15 7602 081 Oracle Data Integrator 12c: Integration and Administration Duration: 5 Days What you will learn Oracle Data Integrator is a comprehensive data integration

More information

Change Management Best Practices

Change Management Best Practices General Change Management Best Practices Practice Area Best Practice Criteria Organization Change management policy, procedures, and standards are integrated with and communicated to IT and business management

More information

GlobalSCAPE Wide Area File Services

GlobalSCAPE Wide Area File Services Wide Area File Services: Document Collaboration for the Distributed Business Environment The days of having everyone on a project together in the same office have long passed. To expand global reach and

More information

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources. Software Configuration Management Slides derived from Dr. Sara Stoecklin s notes and various web sources. What is SCM? SCM goals Manage the changes to documents, programs, files, etc. Track history Identify

More information

AUTOMATED DATA RETENTION WITH EMC ISILON SMARTLOCK

AUTOMATED DATA RETENTION WITH EMC ISILON SMARTLOCK White Paper AUTOMATED DATA RETENTION WITH EMC ISILON SMARTLOCK Abstract EMC Isilon SmartLock protects critical data against accidental, malicious or premature deletion or alteration. Whether you need to

More information

using version control in system administration

using version control in system administration LUKE KANIES using version control in system administration Luke Kanies runs Reductive Labs (http://reductivelabs.com), a startup producing OSS software for centralized, automated server administration.

More information

Oracle Database 11g Comparison Chart

Oracle Database 11g Comparison Chart Key Feature Summary Express 10g Standard One Standard Enterprise Maximum 1 CPU 2 Sockets 4 Sockets No Limit RAM 1GB OS Max OS Max OS Max Database Size 4GB No Limit No Limit No Limit Windows Linux Unix

More information

APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING

APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING Application testing remains a complex endeavor as Development and QA managers need to focus on delivering projects on schedule, controlling costs,

More information

LOG AND EVENT MANAGEMENT FOR SECURITY AND COMPLIANCE

LOG AND EVENT MANAGEMENT FOR SECURITY AND COMPLIANCE PRODUCT BRIEF LOG AND EVENT MANAGEMENT FOR SECURITY AND COMPLIANCE The Tripwire VIA platform delivers system state intelligence, a continuous approach to security that provides leading indicators of breach

More information

Working with a Version Control System

Working with a Version Control System Working with a Version Control System Summary Tutorial TU0114 (v2.4) March 18, 2008 This tutorial looks at how you can use Altium Designer s built-in version control capabilities to check project files

More information

IBM TSM DISASTER RECOVERY BEST PRACTICES WITH EMC DATA DOMAIN DEDUPLICATION STORAGE

IBM TSM DISASTER RECOVERY BEST PRACTICES WITH EMC DATA DOMAIN DEDUPLICATION STORAGE White Paper IBM TSM DISASTER RECOVERY BEST PRACTICES WITH EMC DATA DOMAIN DEDUPLICATION STORAGE Abstract This white paper focuses on recovery of an IBM Tivoli Storage Manager (TSM) server and explores

More information

Oracle Endeca Server. Cluster Guide. Version 7.5.1.1 May 2013

Oracle Endeca Server. Cluster Guide. Version 7.5.1.1 May 2013 Oracle Endeca Server Cluster Guide Version 7.5.1.1 May 2013 Copyright and disclaimer Copyright 2003, 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of

More information

Base One's Rich Client Architecture

Base One's Rich Client Architecture Base One's Rich Client Architecture Base One provides a unique approach for developing Internet-enabled applications, combining both efficiency and ease of programming through its "Rich Client" architecture.

More information

Table of Contents. 2015 Cicero, Inc. All rights protected and reserved.

Table of Contents. 2015 Cicero, Inc. All rights protected and reserved. Desktop Analytics Table of Contents Contact Center and Back Office Activity Intelligence... 3 Cicero Discovery Sensors... 3 Business Data Sensor... 5 Business Process Sensor... 5 System Sensor... 6 Session

More information

Project management integrated into Outlook

Project management integrated into Outlook Project management integrated into Outlook InLoox PM 7.x off-line operation An InLoox Whitepaper Published: October 2011 Copyright: 2011 InLoox GmbH. You can find up-to-date information at http://www.inloox.com

More information

Revision Control. Solutions to Protect Your Documents and Track Workflow WHITE PAPER

Revision Control. Solutions to Protect Your Documents and Track Workflow WHITE PAPER Revision Control Solutions to Protect Your Documents and Track Workflow WHITE PAPER Contents Overview 3 Common Revision Control Systems 4 Revision Control Systems 4 Using BarTender with Revision Control

More information

SourceAnywhere Service Configurator can be launched from Start -> All Programs -> Dynamsoft SourceAnywhere Server.

SourceAnywhere Service Configurator can be launched from Start -> All Programs -> Dynamsoft SourceAnywhere Server. Contents For Administrators... 3 Set up SourceAnywhere... 3 SourceAnywhere Service Configurator... 3 Start Service... 3 IP & Port... 3 SQL Connection... 4 SourceAnywhere Server Manager... 4 Add User...

More information

Enterprise Job Scheduling: How Your Organization Can Benefit from Automation

Enterprise Job Scheduling: How Your Organization Can Benefit from Automation WHITE PAPER Enterprise Job Scheduling: How Your Organization Can Benefit from Automation By Pat Cameron Introduction Today's companies need automation solutions to attain the high levels of availability,

More information

SHAREPOINT CONSIDERATIONS

SHAREPOINT CONSIDERATIONS SHAREPOINT CONSIDERATIONS Phil Dixon, VP of Business Development, ECMP, BPMP Josh Wright, VP of Technology, ECMP Steve Hathaway, Principal Consultant, M.S., ECMP The construction industry undoubtedly struggles

More information

Multi-site Best Practices

Multi-site Best Practices DS SOLIDWORKS CORPORATION Multi-site Best Practices SolidWorks Enterprise PDM multi-site implementation [SolidWorks Enterprise PDM 2010] [] [Revision 2] Page 1 Index Contents Multi-site pre-requisites...

More information

Automatic promotion and versioning with Oracle Data Integrator 12c

Automatic promotion and versioning with Oracle Data Integrator 12c Automatic promotion and versioning with Oracle Data Integrator 12c Jérôme FRANÇOISSE Rittman Mead United Kingdom Keywords: Oracle Data Integrator, ODI, Lifecycle, export, import, smart export, smart import,

More information

Mary E. Shacklett President Transworld Data

Mary E. Shacklett President Transworld Data Transworld Data Mary E. Shacklett President Transworld Data For twenty-five years, Transworld Data has performed technology analytics, market research and IT consulting on every world continent, including

More information

Introducing Xcode Source Control

Introducing Xcode Source Control APPENDIX A Introducing Xcode Source Control What You ll Learn in This Appendix: u The source control features offered in Xcode u The language of source control systems u How to connect to remote Subversion

More information

BRINGING CLOUD TRADITIONAL DESKTOP COMPUTING TO APPLICATIONS

BRINGING CLOUD TRADITIONAL DESKTOP COMPUTING TO APPLICATIONS BRINGING CLOUD COMPUTING TO TRADITIONAL DESKTOP APPLICATIONS Overview Our client, a fast growing startup in the Silicon Valley, has built a scalable web based collaboration platform to help businesses

More information

BMC CONTROL-M Agentless Tips & Tricks TECHNICAL WHITE PAPER

BMC CONTROL-M Agentless Tips & Tricks TECHNICAL WHITE PAPER BMC CONTROL-M Agentless Tips & Tricks TECHNICAL WHITE PAPER Table of Contents BMC CONTROL-M An IT workload automation platform... 1 Using standard agent-based scheduling... 1 Agentless scheduling... 1

More information

WHITEPAPER. SBM Path to Production for Enterprises

WHITEPAPER. SBM Path to Production for Enterprises WHITEPAPER SBM Path to Production for Enterprises By Tom Clement Serena Software, Inc. October 2013 Introduction to the SBM Development Process SBM is designed to simplify business process deployment and

More information

Archive Data Retention & Compliance. Solutions Integrated Storage Appliances. Management Optimized Storage & Migration

Archive Data Retention & Compliance. Solutions Integrated Storage Appliances. Management Optimized Storage & Migration Solutions Integrated Storage Appliances Management Optimized Storage & Migration Archive Data Retention & Compliance Services Global Installation & Support SECURING THE FUTURE OF YOUR DATA w w w.q sta

More information

Effective Release Management for HPOM Monitoring

Effective Release Management for HPOM Monitoring Whitepaper Effective Release Management for HPOM Monitoring Implementing high-quality ITIL-compliant release management processes for HPOM-based monitoring Content Overview... 3 Release Management... 4

More information

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service Achieving Scalability and High Availability Abstract DB2 Connect Enterprise Edition for Windows NT provides fast and robust connectivity

More information

DATABASE VIRTUALIZATION AND INSTANT CLONING WHITE PAPER

DATABASE VIRTUALIZATION AND INSTANT CLONING WHITE PAPER DATABASE VIRTUALIZATION AND INSTANT CLONING TABLE OF CONTENTS Brief...3 Introduction...3 Solutions...4 Technologies....5 Database Virtualization...7 Database Virtualization Examples...9 Summary....9 Appendix...

More information

QlikView 11 Source Control Walkthrough

QlikView 11 Source Control Walkthrough QlikView 11 Source Control Walkthrough A QlikView Technology White Paper Originally published: August, 2011 Updated August, 2012 www.qlikview.com 1 Table of Contents BACKGROUND... 3 SOURCE CONTROL BASICS...

More information

Introduction to Source Control ---

Introduction to Source Control --- Introduction to Source Control --- Overview Whether your software project is large or small, it is highly recommended that you use source control as early as possible in the lifecycle of your project.

More information

Oracle Data Integrator 11g: Integration and Administration

Oracle Data Integrator 11g: Integration and Administration Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Oracle Data Integrator 11g: Integration and Administration Duration: 5 Days What you will learn Oracle Data Integrator is a comprehensive

More information

The Real Challenges of Configuration Management

The Real Challenges of Configuration Management The Real Challenges of Configuration Management McCabe & Associates Table of Contents The Real Challenges of CM 3 Introduction 3 Parallel Development 3 Maintaining Multiple Releases 3 Rapid Development

More information

Vault Project - Plant Database Replication. Contents. Software Requirements: AutoCAD Plant 3D 2016 and AutoCAD P&ID 2016

Vault Project - Plant Database Replication. Contents. Software Requirements: AutoCAD Plant 3D 2016 and AutoCAD P&ID 2016 Vault Project - Plant Database Replication This document describes how to replicate the plant database for a vault project between WAN connected locations. By replicating both the vault and the plant database

More information

CHAPTER 7 Software Configuration Management

CHAPTER 7 Software Configuration Management CHAPTER 7 Software Configuration Management ACRONYMS CCB CM FCA MTBF PCA SCCB SCI SCM SCMP SCR SCSA SEI/CMMI SQA SRS USNRC INTRODUCTION Configuration Control Board Configuration Management Functional Configuration

More information

Virtual Application Management with Microsoft Application Virtualization 4.6 and System Center 2012 Configuration Manager

Virtual Application Management with Microsoft Application Virtualization 4.6 and System Center 2012 Configuration Manager Virtual Application Management with Microsoft Application Virtualization 4.6 and System Center 2012 Configuration Manager This whitepaper describes the virtual application management capabilities provided

More information

TimePictra Release 10.0

TimePictra Release 10.0 DATA SHEET Release 100 Next Generation Synchronization System Key Features Web-based multi-tier software architecture Comprehensive FCAPS management functions Software options for advanced FCAPS features

More information

In the same spirit, our QuickBooks 2008 Software Installation Guide has been completely revised as well.

In the same spirit, our QuickBooks 2008 Software Installation Guide has been completely revised as well. QuickBooks 2008 Software Installation Guide Welcome 3/25/09; Ver. IMD-2.1 This guide is designed to support users installing QuickBooks: Pro or Premier 2008 financial accounting software, especially in

More information

Version Uncontrolled! : How to Manage Your Version Control

Version Uncontrolled! : How to Manage Your Version Control Version Uncontrolled! : How to Manage Your Version Control Harold Dost III, Raastech ABSTRACT Are you constantly wondering what is in your production environment? Do you have any doubts about what code

More information

WhatsUpGold. v3.0. WhatsConnected User Guide

WhatsUpGold. v3.0. WhatsConnected User Guide WhatsUpGold v3.0 WhatsConnected User Guide Contents CHAPTER 1 Welcome to WhatsConnected Finding more information and updates... 2 Sending feedback... 3 CHAPTER 2 Installing and Configuring WhatsConnected

More information

Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University

Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University Introduction to Software Configuration Management CprE 556 Electrical and Computer Engineering Department Iowa State University 1 Example Initially, implementation is in Modula-2 on a Mac. A11 B11 A12

More information

IBM Tivoli Storage Manager

IBM Tivoli Storage Manager Help maintain business continuity through efficient and effective storage management IBM Tivoli Storage Manager Highlights Increase business continuity by shortening backup and recovery times and maximizing

More information

WHITE PAPER. Understanding Transporter Concepts

WHITE PAPER. Understanding Transporter Concepts WHITE PAPER Understanding Transporter Concepts Contents Introduction... 3 Definition of Terms... 4 Organization... 4 Administrator... 4 Organization User... 4 Guest User... 4 Folder Hierarchies... 5 Traditional

More information

Configuration & Build Management

Configuration & Build Management Object-Oriented Software Engineering Using UML, Patterns, and Java Configuration & Build Management Outline of the Lecture Purpose of Software Configuration Management (SCM) Some Terminology Software Configuration

More information

SAN Conceptual and Design Basics

SAN Conceptual and Design Basics TECHNICAL NOTE VMware Infrastructure 3 SAN Conceptual and Design Basics VMware ESX Server can be used in conjunction with a SAN (storage area network), a specialized high speed network that connects computer

More information

How To Apply Software Archeology To Your Development Process

How To Apply Software Archeology To Your Development Process How To Apply Software Archeology To Your Development Process Presented for: EclipseCon 2008 Thursday, March 13, 2008 Michael Rozlog michael.rozlog@codegear.com CodeGear Who is Mike? You just said that

More information

WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE. Contents

WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE. Contents WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE Contents Working in Teams with CaseComplete... 2 Need an introduction to how version control works?... 2 Exclusive Checkout... 3 Multiple

More information