33
1 ntire contents © 2008 Forrester Research, Inc. All rights reserved.

Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

Embed Size (px)

DESCRIPTION

Webinar featuring Jeffery Hammond, Senior Analyst at Forrester Research covering the Software Configuration Management (SCM) space. Mr. Hammond and members of Forrester Research's consulting team explain the reasons behind Subversion's rapid ascent to the leadership position in the SCM space, and discuss the findings of the TEI study.

Citation preview

Page 1: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

1Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Page 2: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

2Entire contents © 2008  Forrester Research, Inc. All rights reserved.

What is Software Configuration Management?

► Configuration management tools track changes to development artifacts including but not limited to source code

• What are supposed to build or produce? What are we building or producing? What did we produce?

• Configuration management provides an effective, prudent, and logical function of project management that enforces a set of rules.

• The goal of most developers is to set up the simplest system possible to achieve the desired result of control.

Page 3: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

3Entire contents © 2008  Forrester Research, Inc. All rights reserved.

What development professionals look for in a SCM tool

• Platform support

• Scalability

• Ease of use

• Ease of acquisition

• Ease of administration

• Integrations with IDEs and other ALM tools

• Reporting and analytics

• Price

• Support for geographically distributed development teams

• Vendor stability

Page 4: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

4Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Forrester Wave™: Standalone SCM Solutions, Q2 ’07

Page 5: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

5Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Subversion is gaining share with development shops

“What SCM tools are commonly used in you application development organization?”

Base: 211 European application development professionals, Q4 2008Base: 479 Americas application development professionals, Q1 2009

Page 6: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

6Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Base: 1298 application development professionals Source: Forrester – Dr. Dobbs Developer Technographics Q3 09

Subversion is popular with devs, especially Agile ones

“What is the primary SCM system you typically use?” (Choose one)

Page 7: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

7Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Why do developers choose Subversion?

• Platform support

• Scalability

• Ease of use

• Ease of acquisition

• Ease of administration

• Integrations with IDEs and other ALM tools

• Reporting and analytics

• Price

• Support for geographically distributed development teams

• Vendor stability

Price

Ca

pab

ility

(qua

lity

+ fe

atur

es)

Substitution zone

“Cadillac” products

“Honda” products

Page 8: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

8Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Strategy 1: Remote access to a centralized repository

• Scales easily to support development sites of all sizes

• Provides a single source of truth

• Enables centralized administration

• Requires that the SCM solution perform adequately over WAN

• Can creates issues for commits, build, remote access

This is the model most Subversion shops work with…

Page 9: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

9Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Strategy 2: Broker-mediated remote access to a centralized repository

• Improves performance in locations with poor network conditions

• Hub-and-spoke model can provide “network-near” performance

• Uses proxy and cache servers specific to the SCM solution

• Can also use generic proxy and cache servers

Svnsync is a read only implementation of this solution

Page 10: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

10Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Strategy 3: Repository replication

• Periodic synchronization of repositories

• Requires reconciliation of contradictory changes

• Involves a period of time in which data is out of date

• Involves considerable hardware and administration expenditures

• SCM license costs tend to be higher

“Mastership” creates admin issues and bottlenecks

Page 11: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

11Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Strategy 4: Peer-to-peer communication

• Read/write repositories broadcast updates

• Each repository is a full copy of “the truth”

• No mastership issues

• No single point of failure

• Gives distributed teams local read/write access for build/CI

• Requires robust and timely replication capabilities

WANdisco is an example of a peer to peer model

Page 12: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

12Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Agenda

• What Is Total Economic Impact TM (TEI)?

• Approach

• The interviewed company

• Key findings

• Other benefits

• Conclusions

Page 13: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

13Entire contents © 2008  Forrester Research, Inc. All rights reserved.

What is Total Economic Impact?

• Forrester’s TEI is the “Language of Value”

• TEI ≠ TCO– TEI provides a complete economic picture of tech purchase decisions

• The four fundamental elements of TEI: – Benefits to the entire organization (not just IT)

– Costs

– Risk

– Flexibility

Page 14: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

14Entire contents © 2008  Forrester Research, Inc. All rights reserved.

• Review of existing relevant Forrester research

• Interviews with WANdisco’s SMEs

• In-depth interview with a Subversion MultiSite customer

• Construction of a financial framework — the model — around the interviewed company

• Construction of a case study — the narrative

Forrester’s approach

Page 15: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

15Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Company interviewed for the study

• Global F500 manufacturer of electronic components

– Software development performed in 2 primary locations in the USA and Asia, with developers in 3 other locations in Europe, Asia and the USA. Support for over 400 software developers globally.

– Used a single Subversion repository located in the USA prior to deploying MultiSite. All software builds executed in the USA

• Decided to adopt Subversion MultiSite because:

– Asian developers were waiting for up to 2 days for builds to complete.

– Needed to provide redundancy for Subversion so there was no single point of failure.

• MultiSite customer since 2007

• Has MultiSite running in two locations (USA and Asia)

– Usage grown from 170 to 520 active users

– Source code revisions grown from 500,000 to millions.

Page 16: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

16Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Key findings - Benefits

• Increased Asian developer productivity due to decreased latency

– Wait times for software builds to complete reduced from 2 work-days to 1.5 hours

– Builds can happen in parallel at every Subversion site

– 3 -year risk adjusted benefit of $194,161.

• Increases productivity due to improvement in bug fix rate

– MultiSite used to replicate bug tracking system. Bug fix rate improved by 30%.

– Bug tracking can happen in parallel at every Subversion site

– 3 -year risk adjusted benefit of $556,060

• According to the development manager …“…builds were much more real time and people were able to more agilely track what changes are

happening in the Subversion source tree, and it made the groups that were distant actually work better together when they didn’t have to wait for things to happen . . .”

Page 17: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

17Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Key findings – Benefits (cont.)

• Developer downtime avoided for Subversion system upgrades

– Developers can use alternate Subversion repository

– 3 -year risk adjusted benefit of $19,535

• Reduced labor needed to perform security audits

– MultiSite allowed identification of dormant/orphan accounts, and to setup user access controls. Time to respond to security audits reduced from 5 to 2 days.

– 3 -year risk adjusted benefit of $6,749

• Total 3 year risk adjusted benefit of $776,509

Page 18: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

18Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Key Findings - Costs

• Software license fees and maintenance fees– Reflects standard list pricing for the customer’s installation as of September 2009.

– 3 year risk adjusted cost of $259,908

• Servers for running MultiSite– Does note require dedicated servers, Assume 2 entry level servers.

– 3 year risk adjusted cost of $8,000

• Implementation labor costs– 2 week evaluation. Cutover from test to production required 2 hours downtime for

390 developers.

– 3 year risk adjusted cost of $41,654

• Ongoing support costs– 1 hour of server maintenance monthly (12 hours/year)

– 3 year risk adjusted cost of $1,530

• Total 3 year risk adjusted cost of $311,092

Page 19: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

19Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Key findings – Financial Summary, ROI and payback period

• Total 3 year risk adjusted benefits: $ $776,509

• Total 3 year risk adjusted costs: $311,092

• 3 year ROI:

– Risk adjusted: 150%

– Best case: 167%

• Payback period:

– Risk adjusted: 11 months

– Best case: 9 months

• Higher ROIs can be achieved with more sites and developers.

Page 20: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

20Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Other Benefits

• Avoid developer downtime while maintaining Subversion servers.

• Load-balance between the servers.

• Clearly identify the owners and originators of intellectual property.

• Identify active Subversion users and reduce the number of Subversion accounts.

• Substantially increase the number of software flavors that the company supports and releases.

• Reduce the labor effort required for security audits.

Page 21: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

21Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Conclusions

• Forrester found that organizations that use Subversion MultiSite can realize:

– Increased developer productivity because by providing developers with local access to source code repositories.

– Increase the bug fix rate, assuming the bug tracking system is replicated using MultiSite.

– Minimize or eliminate developer downtime during Subversion maintenance and upgrades.

Page 22: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

22Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Michael Speyer

+1 617.613.6349

[email protected]

www.forrester.com

Thank you

Page 23: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

23Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Page 24: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

24Entire contents © 2008  Forrester Research, Inc. All rights reserved.

• Key Features

• Architecture Overview

• Distributed Agile Development

• Subversion Clustering

• Subversion High Availability

• System Requirements

• Summary

Agenda

Page 25: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

25Entire contents © 2008  Forrester Research, Inc. All rights reserved.

• Peer-to-peer architecture with no single point of failure.

– Not master-slave or multi-master.

• Subversion repositories connected over a WAN synchronize automatically with each write operation.

• Developers at all locations experience LAN speed performance for both read and write operations.

• Built-in hot backup and automated recovery features eliminatedowntime.

Key Features

Page 26: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

26Entire contents © 2008  Forrester Research, Inc. All rights reserved.

• Replicator implemented as a transparent network proxy at each site.

– Client configurations don’t change.

– Subversion’s functionality doesn’t change.

• LAN-speed performance over a WAN due to a combination of :

– Unique Active-Active replication capability

– Network optimization features.

Architecture

Page 27: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

27Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Subversion MultiSite supports distributedAgile by enabling:

• Continuous communication.

– Latest changes are available everywhere at LAN-speed.

– Merge conflicts are caught and fixed when they occur.

• Continuous build integration.

– Each site can perform builds and test locally with the latest code.

Distributed Agile Development

Page 28: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

28Entire contents © 2008  Forrester Research, Inc. All rights reserved.

• Central servers can’t support Agile in large distributed environments.

– Slow networks cause remote sites to checkout and commit infrequently.

– Continuous build integration becomes impractical

• Proxy server solutions have the same network performance issues for commits and other writes.

– Remote sites can’t perform builds locally if write steps are involved.

Distributed Agile Development

Page 29: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

29Entire contents © 2008  Forrester Research, Inc. All rights reserved.

• Same replication technology as Subversion MultiSite.

• Offload build process from development servers at large sites.

• Latest changes from development servers are available on build servers.

• Can be implemented in combination with Subversion MultiSite.

Subversion Clustering

Page 30: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

30Entire contents © 2008  Forrester Research, Inc. All rights reserved.

High Availability

• Ensures continuous hot backup of the primary server to one or more backup servers.

• Leverages the same automated recovery features as Subversion MultiSite and Subversion Clustering.

• Failover agent automatically redirects clients to backup server(s) in the event of a network outage or server failure.

Page 31: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

31Entire contents © 2008  Forrester Research, Inc. All rights reserved.

• Server Versions Supported

– Subversion server versions 1.3 and above are supported.

• Backend Support:

– FSFS and Berkeley DB are supported.

• Supported Clients

– Subversion command line, SmartSVN, RapidSVN, TortoiseSVN, Subclipse, and any HTTP client that works with Subversion.

• System Requirements

– WANdisco for Subversion will run in any J2SE 1.5 or above compliant Java runtime environment. A minimum of 64 MB of RAM and 450MHz CPU is recommended for the server

System Requirements

Page 32: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

32Entire contents © 2008  Forrester Research, Inc. All rights reserved.

• Unique technology allows distributed development teams to work as one at LAN-speed over a WAN, instead of working in silos.

• Dramatically reduces development time and cost.

• Peer-to-peer architecture with no single point of failure.

• All servers can be monitored and administered from a single location.

• Built-in continuous hot backup and self-healing capabilities eliminate risk.

• Makes full 24X7 operation possible in a globally distributed environment.

• Enables Agile development in a distributed environment.

• Transparent implementation eliminates retraining.

Summary

Page 33: Forrester Research on Optimizing Globally Distributed Software Development Using Subversion

33Entire contents © 2008  Forrester Research, Inc. All rights reserved.

Customers