Optimizing Borland Starteam for Distributed Teams

Total Page:16

File Type:pdf, Size:1020Kb

Optimizing Borland Starteam for Distributed Teams Optimizing Borland® StarTeam® for distributed teams The best techniques for supporting distributed teams A Borland White Paper By Randy Guck, Chief Scientist Borland Software Corporation January 2005 Optimizing Borland® StarTeam® for distributed teams Contents Overview ............................................................................. 3 The distributed team dilemma: Centralize or replicate? .......... 3 Distributed teams and network concerns .............................................................................. 3 Replication: Advantages and concerns ................................................................................. 4 Centralized repositories: Advantages and concerns.............................................................. 5 Is replication dead? ............................................................................................................... 7 Distributed teams the StarTeam way ..................................... 7 Standard client/server features for distributed teams ............. 8 Command API compression ................................................................................................. 9 Delta checkout .................................................................................................................... 11 Auto-reconnect.................................................................................................................... 13 StarTeamMPX: Turning the network inside-out ......................15 StarTeamMPX Cache Agent: Distributed file caching..............20 Basic Cache Agent architecture .......................................................................................... 20 Stacked Cache Agents......................................................................................................... 23 Cache Agent-aware StarTeam clients ................................................................................. 25 Using Cache Agents with the Cross-Platform Client...................................................................... 26 Using Cache Agents with the bulk checkout utility........................................................................ 27 StarTeam Import/Export Manager .........................................28 Summary: The world according to StarTeam..........................32 Glossary .............................................................................34 References .........................................................................36 2 Optimizing Borland® StarTeam® for distributed teams Overview Software development teams are increasingly becoming spread around the globe. Organizations are leveraging new talents, time zones, and tools made possible by a networked world. If you work on a distributed team, how should you manage lifecycle tools with shared repositories such as Borland® StarTeam®? If you centralize files, change requests, and other application lifecycle management (ALM) artifacts, how can you address performance and reliability? If you replicate artifacts to distributed sites, how do you handle synchronization and conflicts? This white paper describes the best techniques for supporting distributed teams with StarTeam. The problems with replication are discussed, and the case for supporting your organization with centralized StarTeam repositories is made. Features with which you can optimize StarTeam for distributed teams, including new features introduced with StarTeam 2005, are described. These features address responsiveness, limited network bandwidth, and even unreliable networks. The distributed team dilemma: Centralize or replicate? This section examines the basic dilemma that organizations face when deploying a repository- centric client/server application such as StarTeam. Basically, the question boils down to: Can you centralize the repository and provide adequate performance to remote teams? Or should you deploy multiple repositories and attempt to replicate and synchronize between them? Distributed teams and network concerns So, your organization has decided on StarTeam to manage core development processes. Congratulations! But now you have to figure out how to make StarTeam work for your distributed team. You have one group in Chicago, another in Europe, and a third group in 3 Optimizing Borland® StarTeam® for distributed teams India. All of your developers require access to the same projects, views, files, change requests, and tasks. And, to complicate matters, the transatlantic VPN connection between sites isn’t highly reliable; there are occasional outages ranging from minutes to hours. How do you deploy StarTeam to maximize distributed team productivity while avoiding administrative headaches? Geography often creates its own challenges, but sometimes network issues arise even when distance is not a factor. In sufficiently large organizations, LANs and WANs can experience periods of congestion or instability, raising similar issues as those experienced by geographically dispersed teams. In both cases, team members need access to the same application lifecycle artifacts but are faced with network latency, bandwidth, and reliability issues. Would you rather centralize your repository or distribute multiple copies and synchronize them? Let’s examine both approaches in more detail. Replication: Advantages and concerns Some repository-centric systems recommend that the way to address distributed teams is to replicate the repository between remote sites and continuously synchronize them. By providing a “network near” repository instance, remote teams experience two primary benefits: • Performance: Accessing a local repository over a local, high-speed LAN generally performs better than accessing the same information over a slower, long-distance network. • Accessibility: Except for the inability to synchronize, a local repository will be unaffected by the unavailability of long-distance access. Hence, local teams can access artifacts even when the WAN, VPN, or ISP connection is down. However, organizations that attempt to implement replication eventually discover that there are many costs, some of which are not obvious at the outset: 4 Optimizing Borland® StarTeam® for distributed teams • Administrative costs: Each replicated server requires its own administration, backup, monitoring, and other maintenance. You might find that you need repository, security, database, and other expertise at each remote site. • Artificial merge conditions: Replication forces artificial merge conditions in cases in which you wouldn’t otherwise want it. Two developers working on the same file might introduce conflicting changes. Whereas they might otherwise avoid merge conflicts via locking, with separated repositories, they will not realize that they are introducing a conflict. This creates more work during synchronization, lengthening the development cycle. • Network demands: Replication creates its own bandwidth and reliability issues. As more replicated repositories are deployed and project sizes grow, network demands increase (which is the reason that replication was deployed in the first place!) And if available bandwidth can’t keep up with the constant replication…think house of cards in a strong wind. • Other costs: Replication means extra server hardware, licenses, redundancy, backup media, and more. But suppose a centralized repository performed well even over long-distance, bandwidth- constrained networks? What if developers could use locally cached data, with less reliance on online access to the repository? What if you could get replication’s benefits without the cost? Centralized repositories: Advantages and concerns Most organizations prefer centralized repositories. Why? Among the advantages of centralized repositories: • Overall cost: With a centralized repository, your most expensive infrastructure costs—servers, high-capacity storage, high availability/failover support—are deployed in one place. Furthermore, your administrative expertise can be concentrated in one place. 5 Optimizing Borland® StarTeam® for distributed teams • Security control: With a centralized repository, it is much easier to perform administrative security tasks such as user and group management. • Process control: Workflow rules and repository customizations can be managed in one location. Artifacts can be locked in one place, when needed, to synchronize updates across the entire enterprise. • Backups: Comprehensive backup procedures can be more easily managed when they occur in a central location. Recovery and disaster-recovery plans are easier to manage with fewer “moving parts” in the overall infrastructure. • Upgrade control: New product versions can be installed and the repository can be upgraded at a single installation. At the same time, centralized repositories introduce challenges for distributed teams. There are two primary concerns: • Performance: How can you provide adequate performance to remote teams, which might be constrained by network bandwidth? The more users and the more lifecycle artifacts you have, the higher the demands on long-distance network segments. • Accessibility: The longer the “wire” between two sites, the less reliable it becomes. During a “network brownout”, how do you keep remote teams productive until connectivity is restored? We’ve tipped our hand that StarTeam promotes centralized repositories over replication. Just to whet your appetite a bit, here’s an interesting fact: real customer benchmarks have shown that StarTeam’s performance over a global
Recommended publications
  • Code Review Is an Architectural Necessity
    Code review is an architectural necessity Colin Dean @colindean 1 @ColinDean Software Engineer Organizer, Abstractions.io Wearer of many hats 2 My words are my own and not my employer(s), past or present. Please save questions until the end of the presentation. 3 Agenda • Quick anecdote • What is code review? • What problems does code review solve? • Quality attributes code review ensures • Tips for code reviews • Limitations 4 5 Agenda • Quick anecdote • What is code review? • What problems do code review solve? • Quality attributes code review ensures • Tips for code reviews • Limitations 6 What is code review? 7 Code review is the process by which those who maintain a software codebase evaluate a proposed change to that codebase, regardless of the source of the proposed change. 8 Code review is systematic examination of computer source code. Code Review, Wikipedia 9 Peer Review 10 Code Review 11 Code Review Vocabulary • Change - an individual unit of work altering what exists • Submission - a collection of changes • Submitter - the person proposing the submission • Reviewer - the people evaluating the submission • Annotation - remarks or ratings bestowed upon the submission 12 The submitter proposes changes in a submission, which is evaluated by a reviewer, who annotates or accepts it. 13 Most formal Least formal Team Pair Peer Inspection Walkthrough Ad-hoc review review programming deskcheck, passaround Wiegers’ peer review formality spectrum 14 Most formal Least formal Team Pair Peer Inspection Walkthrough Ad-hoc review review programming deskcheck, passaround Wiegers’ peer review formality spectrum 15 16 Agenda • Quick anecdote • What is code review? • What problems does code review solve? • Quality attributes code review ensures • Tips for code reviews • Limitations 17 Aside from the primary goal of reducing defects, Code review solves two major problems.
    [Show full text]
  • Visual Build Help
    Visual Build Professional User's Manual Copyright © 1999-2021 Kinook Software, Inc. Contents I Table of Contents Part I Introduction 1 1 Overview ................................................................................................................................... 1 2 Why Visual................................................................................................................................... Build? 1 3 New Features................................................................................................................................... 2 Version 4 .......................................................................................................................................................... 2 Version 5 .......................................................................................................................................................... 3 Version 6 .......................................................................................................................................................... 4 Version 7 .......................................................................................................................................................... 7 Version 8 .......................................................................................................................................................... 9 Version 9 .........................................................................................................................................................
    [Show full text]
  • Versie Beheer Systemen (VCS) 1
    Versie beheer systemen (VCS) 1 Computerclub Volwassenen, Jeugd en Informatica vzw www.vji.be Versie beheer systemen (VCS) Inleiding ..................................................................................................................................... 2 Beheer repository en client programma’s .............................................................................. 2 In- en uitchecken, merging, labeling, branching.................................................................... 2 Software ..................................................................................................................................... 3 Microsoft Visual SourceSafe (VSS) ...................................................................................... 3 SourceOffSite..................................................................................................................... 3 VSSConnexion................................................................................................................... 3 Borland StarTeam .................................................................................................................. 3 CVS (Concurrent Versions System) ...................................................................................... 4 CvsGui................................................................................................................................4 TortoiseCVS......................................................................................................................
    [Show full text]
  • Starteam 16.2
    StarTeam 16.2 Release Notes Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK http://www.microfocus.com Copyright © Micro Focus 2017. All rights reserved. MICRO FOCUS, the Micro Focus logo and StarTeam are trademarks or registered trademarks of Micro Focus IP Development Limited or its subsidiaries or affiliated companies in the United States, United Kingdom and other countries. All other marks are the property of their respective owners. 2017-11-02 ii Contents StarTeam Release Notes ....................................................................................5 What's New ........................................................................................................ 6 16.2 ..................................................................................................................................... 6 StarTeam Command Line Tools .............................................................................. 6 StarTeam Cross-Platform Client ...............................................................................6 StarTeam Git Command Line Utility. .........................................................................7 StarTeam Server ...................................................................................................... 7 Workflow Extensions ................................................................................................ 8 StarTeam Web Client ................................................................................................8 16.1 Update 1 ......................................................................................................................9
    [Show full text]
  • Teamcity 7.1 Documentation.Pdf
    1. TeamCity Documentation . 4 1.1 What's New in TeamCity 7.1 . 5 1.2 What's New in TeamCity 7.0 . 14 1.3 Getting Started . 26 1.4 Concepts . 30 1.4.1 Agent Home Directory . 31 1.4.2 Agent Requirements . 32 1.4.3 Agent Work Directory . 32 1.4.4 Authentication Scheme . 33 1.4.5 Build Agent . 33 1.4.6 Build Artifact . 34 1.4.7 Build Chain . 35 1.4.8 Build Checkout Directory . 36 1.4.9 Build Configuration . 37 1.4.10 Build Configuration Template . 38 1.4.11 Build Grid . 39 1.4.12 Build History . 40 1.4.13 Build Log . 40 1.4.14 Build Number . 40 1.4.15 Build Queue . 40 1.4.16 Build Runner . 41 1.4.17 Build State . 41 1.4.18 Build Tag . 42 1.4.19 Build Working Directory . 43 1.4.20 Change . 43 1.4.21 Change State . 43 1.4.22 Clean Checkout . 44 1.4.23 Clean-Up . 45 1.4.24 Code Coverage . 46 1.4.25 Code Duplicates . 47 1.4.26 Code Inspection . 47 1.4.27 Continuous Integration . 47 1.4.28 Dependent Build . 47 1.4.29 Difference Viewer . 49 1.4.30 Guest User . 50 1.4.31 History Build . 51 1.4.32 Notifier . 51 1.4.33 Personal Build . 52 1.4.34 Pinned Build . 52 1.4.35 Pre-Tested (Delayed) Commit . 52 1.4.36 Project . 53 1.4.37 Remote Run . ..
    [Show full text]
  • Tasktop Integration Hub Editions.Pdf
    TASKTOP EDITIONS Tasktop provides organizations the capabilities needed to transform software delivery by integrating their entire value stream. Choose which edition is right for your business. PRO ENTERPRISE ULTIMATE Starter package For organizations For organizations for integrating two interested in that want the benefit Lifecycle tools. connecting part of of a fully integrated their software delivery software delivery value stream. value stream. From $12.50 Request a Quote Request a Quote Endpoint Connector Types per user, per month* Connect Any 2 Connect up to 5 Lifecycle Tools Unlimited Lifecycle Tools Lifecycle Tools DevOps Tools - $ Unlimited Database Tools - $ Unlimited Enterprise Integration Support PRO ENTERPRISE ULTIMATE Integration Designer Web-based integration designer and administra- tion interface for configuring integrations Rapid Project Scaling Scale to hundreds of projects with just a few clicks Attachment Synchronization Share screenshots and diagrams along with your artifacts Comment Synchronization Use comments for in-context collaboration Smart Mappings Automatically maps common artifact attributes Smart Change Detection Optimized for high-performance Model-based Integration Management Included and Custom Included and Custom Map artifacts to a central model instead of Included Models Models Models creating endless tool pairs Artifact Relationship Management Maintain critical context by mirroring 1 Relationship Unlimited Relationships Unlimited Relationships relationships like parent-child, validated by or blocked
    [Show full text]
  • Using Visual COBOL in Modern Application Development Micro Focus the Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK
    Using Visual COBOL in Modern Application Development Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK http://www.microfocus.com © Copyright 2018-2020 Micro Focus or one of its affiliates. MICRO FOCUS, the Micro Focus logo and Visual COBOL are trademarks or registered trademarks of Micro Focus or one of its affiliates. All other marks are the property of their respective owners. 2020-08-25 ii Contents Using Visual COBOL in Modern Application Development ........................... 4 Introduction to Modern Application Development ................................................................4 What is Modern Application Development? ..............................................................4 Key Concepts in Modern Application Development ..................................................5 Steps Involved in Modern Application Development ................................................ 6 Agile Methods ..................................................................................................................... 7 Introduction to Agile Methods ...................................................................................7 Agile Development Workflow ....................................................................................7 Agile Development and Micro Focus Development Tools .........................................9 Continuous Integration ...................................................................................................... 11 Introduction to Continuous Integration ..................................................................
    [Show full text]
  • Main Brochure2.Indd
    Automate your Build Process . Powerful and fl exible user interface . Automate version control, compilers, install builders, deployment, testing, notifi cations, and lots more... Dynamic build process using fl ow control, iterators, loops, and exceptions . Full debugger built in - breakpoints, variable watches, live logging . Script events for every action to customise your build process Hierarchical Logging Error Handling FinalBuilder ActionStudio . The log is presented in the same . Easily detect and handle errors during . Allows development of native FinalBuilder hierarchy as your build process your build process actions . Optionally view live log output . Exception handling actions . Includes property page designer and as the build runs include: TRY, CATCH, FINALLY code editor with syntax highlighting . Builds logs are automatically . Control the fl ow of your build process . Develop actions in VBScript, JScript, COM, archived and recover from errors or any .Net language such as C#, VB.Net or Delphi for .Net . Export the log as XML, HTML, or . Unhandled errors trigger the OnFailure Text action list . Included in all editions of FinalBuilder VSoft Technologies Pty Ltd http://www.fi nalbuilder.com ABN: 82 078 466 092 P.O. Box 126, Erindale Centre, ACT 2903, Australia salesinfo@fi nalbuilder.com Phone: +61 2 6282 7488, Fax +61 2 6282 7588 news://news.fi nalbuilder.com FinalBuilder Integrates with your version control system . Microsoft TeamSystem Use a GUI instead of XML fi les . Microsoft Visual SourceSafe . Perforce Although FinalBuilder uses an XML based fi le format, you . IBM Rational ClearCase don’t need to understand it or even look at it. The FinalBuilder . QSC Team Coherence GUI allows you to quickly and easily create a build process .
    [Show full text]
  • 24 X 7 Borland Starteam
    24 x 7 Borland StarTeam A practical look at high availability A Borland White Paper Randy Guck Chief Scientist, Borland Software Corporation January 2005 24 x 7 Borland StarTeam Contents Overview ..................................................................................4 High-availability fundamentals .................................................4 How available is highly available? ............................................................................................5 A distorted term .......................................................................................................................................5 Availability by the numbers ....................................................................................................................5 The myth of the nines ..............................................................................................................................6 A better approach to availability.............................................................................................................7 High availability at what cost? ...................................................................................................8 Availability vs. investment......................................................................................................................9 ALM high availability in perspective..................................................................................................10 Enemies of high availability .....................................................................................................11
    [Show full text]
  • Key Facts Key Benefits Key Features Continuous Integration for Everybody
    7.0 Continuous Integration for Everybody “Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily — leading to multiple integrations per day. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.” Martin Fowler Key Facts “So the reason I made the TeamCity is a userfriendly continuous integration (CI) server for switch is because of the professional developers and build engineers. It is trivial to setup and time it take to set it up: 20 absolutely free for small teams. minutes. Everything was fully functional in under 20 minutes. I absolutely got no Key Benefits error at all. I just got through all the step of the wizard and • Automate code analyzing, compiling, and testing processes, with having then: done. Unit testing, code instant feedback on build progress, problems and test failures, all in simple, coverage, build, reports, etc... intuitive webinterface; And it’s absolutely free for • Run multiple builds and tests under different configurations and platforms small team.” simultaneously; Sebastien Lachance, Software Developer at • Make sure your team sustains an uninterrupted workflow with the help of BXSYSTEMS Pretested commits and Personal builds; • Have build history insight with customizable statistics on build duration, “Teamcity is totally awesome, success rate, code quality and custom metrics; after i got the grails project • Enable
    [Show full text]
  • Konstantin Yakovlev, Phd
    Konstantin Yakovlev, PhD. Curriculum Vitae. Page 1 of 4 KONSTANTIN YAKOVLEV, PhD +7 (926) 270 89 79 [email protected] www.kyakovlev.me PERSONAL PROFILE I am a highly motivated, hard-working and open-minded person possessing a sound (10+ years) experience in research, education and software development. I am a PhD in theoretical computer science. I used to work at the frontier research centers, top-ranked universities, well-established software development companies and dynamic startups both at my home country and abroad. I am always enthusiastic and happy to be part of a vibrant dynamic team involved in solving complex technical problems and ensuring The Next Big Things happen day by day, every day. SOFT SKILLS • Strong communication skills • High-level of computer and technological competence • Presentation skills • Focused professional • Team work skills • Flexible and adaptive • Planning and time management skills • Patient and tolerant AREAS OF EXPERTISE • Artificial Intelligence • Languages and technologies of programming • Automated Planning • Object-oriented design • Machine Learning • Database design • Robotics • Theory of algorithms EDUCATIONAL BACKGROUND Institute for Systems Analysis, research center of Russian Academy of Sciences Moscow, Russia Doctor of Philosophy in Theoretical Computer Sciences 2006-2010 Peoples' Friendship University of Russia, top-ranked university in Russia Moscow, Russia Master of Applied Mathematics and Informatics (Honors) 2004-2006 Peoples' Friendship University of Russia, top-ranked university
    [Show full text]
  • Esa Study Contract Report
    ESA STUDY CONTRACT REPORT ESA Contract No: Subject: Contractor: ESA ITT Number Current and Future Tech- Distributed Systems Group, AO/3-12280/07/NL/CB nologies for Collaborative Vienna University of Tech- Working Environments nology ESA CR() No: No of volumes: 1 Contractor’s Reference: This Volume No: 1 TEUN Abstract: This document reports the final, detailed result of the study on current and future technologies for collaborative working environments (CWEs). The goal of this study is to analyze current CWEs and whether they and their future trends are suitable for large- scale multinational organizations. To this end, we have analyzed the structure of large-scale organizations in general, and of ESA in particular, with respect to organization, geographical distribution, and IT environments. Requirements for CWEs used in collaborative work are presented. Based on an initial list of criteria given by ESA, we have revised and extended the list to introduce a comprehensive set of criteria for evaluating CWEs. The state-of-the- art CWEs are discussed and classified. We have selected 15 representative CWE products and evaluated and compared them in detail. From the evaluation and comparison of CWE products, we have presented our findings of current issues and future trends of CWEs. In particular, existing products provide many features required by large-scale and multinational organizations but those features are not well-integrated into a single system. Due to the complexity of collaborative work within those organizations, often many CWEs are used in parallel and it is not easy to integrate those CWEs together. The work described in this report was done under ESA Contract.
    [Show full text]