35
Make Subversion Agile in a Distributed Development Environment Steve Berczuk Agile Expert and Author Jim Campigli VP Product Marketing

Make Subversion Agile

Embed Size (px)

DESCRIPTION

The biggest challenge to effective agile development in a distributed environment lies in maintaining the same level of communication and the same level of access to your Subversion repositories that’s possible when everyone works from one location. The implementation architecture and the tools you choose to support distributed development can either help or hurt.

Citation preview

Page 1: Make Subversion Agile

Make Subversion Agile in aDistributed Development

Environment

Steve BerczukAgile Expert and Author

Jim CampigliVP Product Marketing

Page 2: Make Subversion Agile

QUICKPOLL

What agile methodology are you using now?

○ Scrum

○ XP

○ Other

○ Not using agile

Page 3: Make Subversion Agile

QUICKPOLL - RESULTS

What agile methodology are you using now?

○ Scrum

○ XP

○ Other

○ Not using agile

Page 4: Make Subversion Agile

Make Subversion Agile in aDistributed Development

Environment

Steve BerczukAgile Expert and Author

© 2010 Steve Berczuk

Page 5: Make Subversion Agile

AGENDA

• Agile Basics

• How SCM Enables Agile Teams

• Distributed Agile Challenges

• Review

Page 6: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 6

Steve Berczuk

© 2010 Steve Berczuk

• www.berczuk.com/blog

• www.scmpatterns.com

[email protected]

Page 7: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 7

Agile and SCM

• Communication

• Collaboration

• Feedback

• Agile and SCM establish a framework to

– Enable focus

– Eliminate distractions

© 2010 Steve Berczuk

Page 8: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 8

Agile Manifesto

•Individuals and Interactions over Processes and Tools

•Working software over Comprehensive Documentation

•Customer Collaboration over Contract Negotiation

•Responding to Change over Following a Plan

Good SCM is essential for Agile Software Development

© 2010 Steve Berczuk

Page 9: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 9

What is Agile?

© 2010 Steve Berczuk

• Incremental and Iterative– Feedback, Adapt

– Focus on delivering value

• Self-Organizing Teams– Commitment

• Communication

• Working Code– Tests

– Integration

– Private Workspaces

Page 10: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 10

Agile is…

• Values:

– Communication

– Feedback

– Working Code

• Tools:

– Continuous Integration

– Version Management

– Automated Testing

© 2010 Steve Berczuk

Page 11: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 11

Software Configuration Management

• SCM Functions

• SCM & Agile Teams

© 2010 Steve Berczuk

Page 12: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 12

What is SCM?

• Functions:– Identification

– Control

– Status Accounting

– Audit and Review

• Activities:– Getting Code

– Building

– Branching and Merging

• Communication

• Working Software

© 2010 Steve Berczuk

Page 13: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 13

Agile Development

© 2010 Steve Berczuk

Repository

Page 14: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 14

SCM & Agile Teams

• Coordination

– Version Management

– Build Management

– Testing

• Essential Function with Low Overhead

© 2010 Steve Berczuk

Page 15: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 15

Distributed Teams

• Challenges

– Communication

– Feedback

• Integration

• SCM tools and processes can help

© 2010 Steve Berczuk

Page 16: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 16

SCM In Context

© 2010 Steve Berczuk

Page 17: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 17

Distributed Agile Success Factors

• Project Management

– Shorter Sprints

• Engineering Practices

– Integrate Frequently

– Test

• Review and Retrospect

© 2010 Steve Berczuk

Page 18: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 18

Tools

• Tools Help

• Process/Workflow First

• Qualities– Fast

– IDE Integration

– Issue Tracking Integration

– Build Integration

– Automation

• People are Human

© 2010 Steve Berczuk

Page 19: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 19

Summary

• SCM Tools and Practices Enable Agility

• Distributed Teams -> Communication Challenges

• Version Management & CI are communication

© 2010 Steve Berczuk

Page 20: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 20

More Info

• Software Configuration Management Patterns: Effective Teamwork, Practical Integration by Steve Berczuk & Brad Appleton

• Continuous Integration: Improving Software Quality and Reducing Risk by Paul Duvall and Andy Glover

• CM Crossroads: www.cmcrossroads.com

© 2010 Steve Berczuk

Page 21: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 21

Thank you!

For more information:

Steve BerczukEngineer, Humedica

[email protected]

www.berczuk.com/blogwww.scmpatterns.com

© 2010 Steve Berczuk

Page 22: Make Subversion Agile

QUICKPOLL

Is your development organization…?

○ Local to one site

○ Regional

○ National

○ International

Page 23: Make Subversion Agile

QUICKPOLL - RESULTS

Is your development organization…?

○ Local to one site

○ Regional

○ National

○ International

Page 24: Make Subversion Agile

Make Subversion Agile in aDistributed Development

Environment

Jim CampigliVP Product Marketing

Page 25: Make Subversion Agile

AGENDA

• Central Server Architecture

• Proxy Server

• Subversion MultiSite

• Subversion Clustering

• Summary

Page 26: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 26Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 26

Central Subversion Server

• 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

– Single point of failure architecture limits availability.

Page 27: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 27Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 27

Proxy Server

• 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.

– Master server is a single point of failure for commits and other writes.

– No guarantees of transactional consistency between master and slave servers.

Page 28: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 28Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 28

Subversion Multisite

• 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.

Subversion MultiSite supports distributed agile by enabling:

Page 29: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 29Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 29

Subversion MultiSite

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

• Subversion repositories connected over aWAN synchronize automatically with eachwrite operation.

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

• Built-in hot backup and automated disaster recovery features make third party solutions completely unnecessary.

• Transparent implementation doesn’t change Subversion’s behavior, so there’s no retraining.

Page 30: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 30Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 30

Subversion Clustering

• Allows Subversion servers to bedeployed in an active-active cluster.

• Same replication technology asSubversion MultiSite.

• Offload build process from development servers at large sites.

• Latest changes from development serversare available on build servers.

Page 31: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 31Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 31

Subversion Clustering

• Shared nothing clustering

– No sharing of disk, memory or CPU.

• No single point of failure.

– Even load balancers can be made redundant.

• The cluster appears to end users as a single Subversion server.

• Intelligent load balancing for optimal performance.

• Failover is transparent and immediate.

Page 32: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 32Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 32

Subversion Clustering

• Can be implemented in combination with Subversion MultiSite.

• Local clusters can be combined into aactive-active WAN cluster.

• Entire solution can be monitoredand administered fromone location.

Page 33: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 33

Customers

Page 34: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 34

Summary• Unique technology allows distributed teams to work as one at LAN-speed over a WAN, not in silos.

• Subversion MultiSite supports distributed agile development by enabling:

– Continuous communication

– Continuous build integration

– High availability with no downtime.

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

• Subversion Clustering combines intelligent load balancing with WANdisco’s unique technology to remove the performance bottleneck of a central server and eliminate downtime at a single location.

• Subversion Clustering can be implemented standalone or in combination with Subversion MultiSite to enable local clusters to be combined into an active-active WAN cluster.

• Both solutions make full 24X7 operation possible.

• Both solutions feature a transparent architecture that eliminates retraining.

Page 35: Make Subversion Agile

Copyright © 2009 - 2010 WANdisco, Inc. All rights reserved. 35

Questions and Next Steps

• For more information on Subversion or to request a copy of slides used in today’s presentation, please contact:

– Email: [email protected]– Web: www.wandisco.com– Phone: 866 846 0404 (U.S.)– Phone: +44 (0)114 3039985 (Europe)

Join the Subversion Community today!http://subversion.wandisco.com/

Learn more about Subversion services and traininghttp://wandisco.com/svn/services