Download ppt - Make Subversion Agile

Transcript
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


Recommended