Make Subversion Agile

Preview:

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

Make Subversion Agile in aDistributed Development

Environment

Steve BerczukAgile Expert and Author

Jim CampigliVP Product Marketing

QUICKPOLL

What agile methodology are you using now?

○ Scrum

○ XP

○ Other

○ Not using agile

QUICKPOLL - RESULTS

What agile methodology are you using now?

○ Scrum

○ XP

○ Other

○ Not using agile

Make Subversion Agile in aDistributed Development

Environment

Steve BerczukAgile Expert and Author

© 2010 Steve Berczuk

AGENDA

• Agile Basics

• How SCM Enables Agile Teams

• Distributed Agile Challenges

• Review

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

Steve Berczuk

© 2010 Steve Berczuk

• www.berczuk.com/blog

• www.scmpatterns.com

• steve@berczuk.com

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

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

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

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

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

Software Configuration Management

• SCM Functions

• SCM & Agile Teams

© 2010 Steve Berczuk

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

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

Agile Development

© 2010 Steve Berczuk

Repository

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

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

Distributed Teams

• Challenges

– Communication

– Feedback

• Integration

• SCM tools and processes can help

© 2010 Steve Berczuk

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

SCM In Context

© 2010 Steve Berczuk

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

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

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

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

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

Thank you!

For more information:

Steve BerczukEngineer, Humedica

steve@berczuk.comwww.berczuk.com

www.berczuk.com/blogwww.scmpatterns.com

© 2010 Steve Berczuk

QUICKPOLL

Is your development organization…?

○ Local to one site

○ Regional

○ National

○ International

QUICKPOLL - RESULTS

Is your development organization…?

○ Local to one site

○ Regional

○ National

○ International

Make Subversion Agile in aDistributed Development

Environment

Jim CampigliVP Product Marketing

AGENDA

• Central Server Architecture

• Proxy Server

• Subversion MultiSite

• Subversion Clustering

• Summary

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.

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.

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:

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.

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.

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.

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.

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

Customers

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.

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: sales@wandisco.com– 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

Recommended