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 White Paper
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 Development Drivers The Keys To Distributed & Agile Application Development White Paper Copyright 2011 CollabNet Inc., 3
DISTRIBUTED AGILE: NEXT-GEN INTEGRATION CHANGES THE GAME Proponents of distributed Agile development point to cost savings, faster go-to market speeds, increased productivity and better operational effectiveness. Advocates for colocation 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 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 assets, using the TeamForge platform. We ve organized the TeamForge product group into several smaller teams, some of which are colocated, 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. Integrated platforms like TeamForge solve a host of issues around distributed development. Among these are pair programming and knowledge sharing. Centralized wikis and discussion forums allow dispersed team members to post questions and get answers quickly from team experts anywhere in the world. Posts then become a searchable information source. The Keys To Distributed & Agile Application Development White Paper Copyright 2011 CollabNet Inc., 4
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, For the teams that are distributed I strongly encourage some sort of shared social aspect. Brian Zeichick, TeamForge Project Manager at CollabNet 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. The Keys To Distributed & Agile Application Development White Paper Copyright 2011 CollabNet Inc., 5
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 The Keys To Distributed & Agile Application Development White Paper Copyright 2011 CollabNet Inc., 6
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 onpremises 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. For more information on CollabNet s agile tools and training visit www.collab.net/consulting/agile/ 2011 CollabNet, Inc. All rights reserved. CollabNet is a trademark or registered trademark of CollabNet Inc., in the US and other countries. All other trademarks, brand names, or product names belong to their respective holders. 091911