The Keys To
Distributed & Agile
Application Development
in the Cloud
How leading firms are winning with strategies
for efficient application development, without
relying on co-location
The Keys To Distributed & Agile Application Development White Paper | Copyright ©2011 CollabNet Inc., 3
Agile Development
The pursuit of cost reductions and greater product release efficiencies has fueled the expansion of distributed Agile development. To recreate the advantages of co-location in distributed settings, companies have been looking to email, collaboration tools and traditional social networks. However, companies usually have little or no synergy between these disparate tools, and miss the development context.
As an alternative, leading companies are moving towards integrated platforms for development. Of particular interest are global repositories that managers, developers and others can access for wikis, discussion forums, code review, tracking and more. There are clear benefits to having a central hub where team members can share updates regardless of time zone or task and even automate
traditionally manual and error-prone tasks. This approach can dramatically improve productivity, quality and efficiency. Over time, integration can also help build trust between dispersed team members.
This white paper will highlight solutions for application development in globally dispersed organizations. Insights and strategies for maximizing efficiencies in a distributed environment will be presented, along with best practices.
The four key takeaways for managers and developers are that:
1. Agile no longer requires co-location for everything; 2. Tight collaboration and coordination is vital; 3. The right technology is imperative; and
4. A single integrated platform creates multiple efficiencies while increasing transparency, reuse and trust within dispersed teams
DISTRIBUTED AGILE: NEXT-GEN INTEGRATION CHANGES THE GAME
Proponents of distributed Agile developmentpoint to cost savings, faster go-to market speeds, increased productivity and better operational effectiveness. Advocates for co-location speak of face time, impromptu idea exchange, body language and other dynamics that are diluted in emails and teleconferences.
However, as cloud-based development has matured, IT managers and teams have grasped the fact that distributed Agile is not only
practical, but often preferable. This is particularly true for distributed solutions that replicate th e best features of co-location.
Distributed software development solution provider firm, CollabNet, is a market leader which has more than 400,000 developers and project staff worldwide leveraging CollabNet TeamForge to accelerate software delivery, from idea to application. CollabNet is a rapid technology innovator, and relies heavily on Agile development principles, despite regionally distributed development centers around the world. Hence, CollabNet itself is a showcase of how to unite and optimize distributed assets, using the TeamForge platform.
“We’ve organized the TeamForge product group into several smaller teams, some of which are co -located, and some that are dispersed,” said Brian Zeichick, TeamForge Product Manager at CollabNet. “Several of the members are in unique locations; Individual teams report into one product manager and one project manager. All teams roll up into an overall management team that meets on a weekly or bi -weekly basis.”
“Put the stressful aspect of
running meetings on the more
senior people, whether it’s the
architects or the product and
project managers.”
– Brian Zeichick, TeamForge Project Manager at CollabNet
The Keys To Distributed & Agile Application Development White Paper | Copyright ©2011 CollabNet Inc., 5
Retrospective meetings that dissect what worked (and what didn’t) are also pivotal, and migrate easily to a distributed model. Finding a time that works for the core development team is the priority. “Put the stressful aspect of running meetings on the more senior people, whether it’s the architects or the product and project managers,” Zeichick said.
Rapport building is a principal dynamic offered by co-location. It lends a social facet to teams, not only around tasks but also at a personal level. “For the teams that are distributed I strongly encourage some sort of shared social aspect,” Zeichick said.
This, Zeichick said, can be as simple as putting up an online profile that talks about who you are and what your interests are. Here again, a cloud-based solution is ideal for social networking among distributed teams. But even with a solid online social networking structure, Zeichick said, “It’s important to actually get together at least a few times a year.”
FIVE KEY TAKEAWAYS OF SINGLE-PLATFORM DISTRIBUTED AGILE:
1. Even though one of the primary tenets of The Agile Manifesto is that you need to be co-located, it’s no longer required for everything;
2. If you’re not co-located, tight collaboration and coordination is imperative. Make sure that everyone is communicating, both in real time and in non-real time;
3. Tools are critical, but they are not the only answer. It’s necessary to have good processes in place, and for senior staff to meet in person as frequently as possible;
4. Technology will help bridge most obstacles so code review, wikis, discussion forums, bug tracking, requirement tracking, Continuous Integration and SCM tools are very important; and 5. Having one integrated platform helps breeding synergy, transparency, productivity and trust
increases efficiencies across projects and organizations.
“For the teams that are distributed
I strongly encourage some sort of
shared social aspect.”
– Brian Zeichick, TeamForge Project Manager at CollabNet
VISIBILITY AND TRUST BUILDING
Achieving visibility across teams and projects is critical when doing
distributed Agile. Integrated platforms like TeamForge use monitoring events to communicate code review, meeting notes and more. When a developer updates an artifact, that update
triggers a monitoring event, which sends an email to everyone monitoring that artifact.
For example, a VP of Engineering walking into a customer meeting will see an updated artifact and know the team has fixed something. That VP can confidently inform the customer that a fix was made. Monitoring events also triggers updates to Quality Assurance, alerting them that a developer has fixed a certain item so they can test it. After QA approves, that triggers another alert and the developer moves to a new task.
As for trust building, there is no silver bullet. However, encouraging cross-location meetings of senior developers is a basic guideline, as well as ensuring that:
Message and direction are clearly communicated so that there is abundant transparency about what the goals are for the larger team;
Commitments to the team are followed through; and
Changes are clearly communicated so that people feel they’re in the loop and not the last to know
ABOUT THE AUTHOR
Lothar Schubert leads product marketing for CollabNet's core products, including TeamForge and Subversion Edge. Lothar has 15+ years experience designing, building and marketing enterprise products. Prior to joining CollabNet, Lothar held senior positions at Precise and SAP, where he was driving product marketing for SAP's
development and integration platform, SAP NetWeaver. Lothar holds masters degrees in business (MBA, UCLA) and Physics / Computer Sciences.
ABOUT COLLABNET
CollabNet is the recognized leader in leveraging collaboration, Agile methods, and Cloud computing to transform the way software development organizations develop and deploy applications. We enable our customers to efficiently manage lifecycles, development processes, distributed teams, and projects. Our lightweight and easy-to-use platform, offered in the Cloud on the Codesion™ hosting platform and in on-premises versions, delivers substantial cost, quality, and time-to-market improvements to more than 7,000 customers, from workgroups to enterprises. For more information, please visit www.collab.net.