®
IBM Software Group
Offshore development: Making it a success with agile practices and team collaboration Rolf Nelson Team Concert Product Manager
[email protected]
© 2008 IBM Corporation
IBM Software Group | Rational software
Agenda What is Agile and Why are teams adopting it? Source: Scott Ambler’s agile adoption survey – February 2008
Why do distributed and especially offshore Agile projects fail more frequently? What is the Jazz project and Rational Team Concert? How can Rational Team Concert improve the success rate of distributed and offshore Agile projects? How do I get started with Rational Team Concert today?
IBM Software Group | Rational software
What is Agile? An iterative and incremental (evolutionary) approach performed in a highly collaborative manner with just the right amount of ceremony to produce high quality software in a cost effective and timely manner which meets the changing needs of its stakeholders.
Core principles “Fits just right” process Continuous testing and validation Consistent team collaboration Rapid response to change Ongoing customer involvement Frequent delivery of working software
IBM Software Group | Rational software
Agile has gone Mainstream From the analyst community "Thirty-five percent of .…respondents have projects or pilots underway, and only 12 percent do not see a fit for Agile processes in their organizations. The fact that 88 percent of these organizations (one-third of which have over 10,000 employees) are using or evaluating Agile processes proves that Agile processes have truly hit the mainstream." - Excerpt from “And the Agile Survey Says…” Agile Journal, March 6, 2006
Third-party research suggests even wider adoption Have you adopted any Agile techniques? “No” 35%
“Yes” 65%
Source: Ambler „Agile Adoption Rate Survey‟ of over 4200 Dr. Dobb‟s subscribers, February 2008
IBM Software Group | Rational software
Why Agile?
The confluence of pressures to reduce costs and quickly deliver high quality solutions is forcing development organizations to change the way they work. Liz Barnett – “Tackling Offshore Agile Development” – April 2006
How Have Agile Approaches Affected Your Productivity? 1% 4% 22%
13%
Much Lower Somewhat Lower No Change Somewhat Higher Much Higher
60%
How Have Agile Approaches Affected the Quality of Systems Deployed? 3%
29%
6%
14%
Much Lower Somewhat Lower No Change Somewhat Higher Much Higher
48%
Agile Projects Success Rates (%) (214 co-located projects, 210 not co-located, 129 offshoring/outsourcing)
77.5 All Co-Located Not Co-Located Offshoring
82.7 71.7 59.5
0
20
40
60
80
100
IBM Software Group | Rational software
Challenges with Agile in complex, distributed projects Compliance requirement Low risk
Critical, Audited
Geographical distribution Co-located
Entrenched process, people, and policy
Global
Minimal
Significant
Agile Development Organization distribution (outsourcing, partnerships)
Application complexity Simple, single platform
Complex, multi-platform
Team size Under 10 developers
Third party
In-house
Degree of Governance 100’s of developers
Informal
Formal
IBM Software Group | Rational software
But many offshore projects are not successful. Why? “Offshore makes communication harder both due to distance, which makes it difficult to work face to face, and the timezone effect.” Martin Fowler – “Using an Agile Software Process with Offshore Development” – July 2006
IBM Software Group | Rational software
A few reasons why distributed and offshore projects fail? Communication, Communication, Communication! Agile Manifesto states: “The most efficient and effective method of conveying information to and within a development team is face to face conversation”
Iteration Plan is not well understood, rigid or too high level It has been suggested that teams use short and flexible iterations of 2-4 weeks and communicate the plan and changes to everyone.
Code and Build Integration problems are more prevalent “Use Continuous Integration to Avoid Integration Headaches” – Martin Fowler: Lessons Learned
Inability to easily determine accurate project status and how I fit in? Results in team frustration when there are unexpected schedule slips within distributed development teams. Can result in project cancellation or restructuring by management.
IBM Software Group | Rational software
What is the Jazz Project? An effort to create a scalable, extensible team collaboration platform Designed for a workforce that is Ensure regulatory organizationally and globally compliance distributed in a changing
global environment A community at www.jazz.net the site for open, commercial development of Jazz products
“Teams know what is going on without having to ask”
IBM Software Group | Rational software
Jazz is a technology foundation Rational Team Concert is the first Jazz based product Rational Requirements Composer
Rational Quality Manager
Rational Team Concert
Enterprise Reporting
Project Management
Others… Business Partner & IBM Offerings
Best Practice Processes
In Context Collaboration
Team Awareness Dashboards
Security
Events Notification
Search and Query
JAZZ TEAM SERVER Open Lifecycle Service Integrations Client Integrations
Server Integrations
Eclipse
Rational ClearCase 7.1
Web 2.0
Rational ClearQuest 7.1
Visual Studio (4Q)
Rational Build Forge 7.1
Others to come…
Rational Asset Manager 7.1 Subversion
IBM Software Group | Rational software
Rational Team Concert: A closer look Project Transparency
Iteration Planning Integrated iteration planning and execution Task estimation linked to key milestones Out of the box agile process templates
SCM Integrated stream management Component level baselines
Server-based sandboxes Identifies component in streams and available baselines ClearCase connector
Customizable web based dashboards Real time metrics and reports Project milestone tracking and status
Work Items Defects, enhancements and conversations View and share query results Support for approvals and discussions Query editor interface ClearQuest connector
Build Work item and change set traceability Build definitions for team and private builds Local or remote build servers Supports Ant and command line tools Integration with Build Forge
Jazz Team Server Single structure for project related artifacts World-class team on-boarding / offboarding including team membership, sub-teams and project inheritance Role-based operational control for flexible definition of process and capabilities
Team advisor for defining / refining “rules” and enabling continuous improvement Process enactment and enforcement In-context collaboration enables team members to communicate in context of their work
IBM Software Group | Rational software
A few reasons why distributed and offshore projects fail? Communication, Communication, Communication! Agile Manifesto states: “The most efficient and effective method of conveying information to and within a development team is face to face conversation” How do we achieve effective communication across physical or temporal boundaries? How can I get the information I need from my own context and from my specific role? How do we communicate our processes across the lifecycle – and to distributed team members? I have dependencies on my project on other teams. Can I subscribe to events from their project too? I’m in India and trying to figure out what a specific code change occurred and who made it? I can’t wait till the morning for an email response. I need to know now.
IBM Software Group | Rational software
Enables process awareness and guidance Team Advisor
• Rules can be run when delivering changes to enforce team or organizational standards – rules can have exceptions for critical business needs • Helps ensure higher quality results through enforcement of agreed-upon standards Using “Rational Method Composer” • Rules are configurable
or “Eclipse Process Framework”
• “Quick Fixes” can be specified to simplify corrective action • Process rules can be defined, refined “on the fly”, enabling continual improvements • Out of the box processes include OpenUP, Scrum, The Eclipse Way, etc
16
IBM Software Group | Rational software
In-context collaboration – for me, for team, for project Team Central Shows what is happening on project News & events Build status What’s being worked on Changes Configurable (RSS feeds) - New kinds of information easily added Personalizable Each team member can tailor to their needs
17
IBM Software Group | Rational software
In-context collaboration – for me, for team, for project Team Awareness
Team Central Shows what is happening on project News & events Build status
Shows team members and their online status Shows what they are working on
What’s being worked on Changes Configurable (RSS feeds) - New kinds of information easily added Personalizable Each team member can tailor to their needs
18
IBM Software Group | Rational software
Who made this change? For what reason?
IBM Software Group | Rational software
A few reasons why distributed and offshore projects fail? Iteration Plan not well understood, rigid or too high level It has been suggested that teams use short and flexible iterations of 2-4 weeks and communicate the plan and changes to everyone. How can I get the whole team on board for the iteration plan? How does everyone on the team know what their role is in the iteration plan?
How do we communicate changes to the iteration plan? How many iterations should we have? What worked last time? What didn’t? How easily can we change the scope of iterations and when we do, notify just those who are impacted?
Length of Iterations (% respondents) No Iterations
5.6
> 8 Weeks
1.4
7-8 Weeks
1.7
5-6 Weeks
7.2
4 Weeks
22.8
3 Weeks
16.7
2 Weeks
32.8
1 Week < 1 Week
9.2 3.1
IBM Software Group | Rational software
Iteration Planning
Plan and execute on iterations while managing load
Understand how well you are progressing against your targets in real-time
Drag-and-drop work items to change owners/create child parent relationships
IBM Software Group | Rational software
A few reasons why distributed and offshore projects fail? Code and Build Integration problems are more prevalent “Use Continuous Integration to Avoid Integration Headaches” – Martin Fowler: Lessons Learned How can I set up continuous integration and automate the build process? How can we mitigate broken builds or fix one if it fails even if we did not submit the failed code? How can I communicate the status of builds to everyone on the team regardless of location? I need to be able to replicate the build environment in my private build to minimize failures.
I’m a tester and I need to be notified when the fix I need to test is in a successful build? I’m a customer and I want to know if the fix I reported is in an intermediate build?
IBM Software Group | Rational software
Continuous Builds and Failure Recovery Create build definitions for team and private builds
Create local or remote build servers
Can reconstruct a workspace from a failed build!
Identify work items and change sets that went into the build
Historical view of the build queue with status 24
IBM Software Group | Rational software
A few reasons why distributed and offshore projects fail? Inability to easily determine accurate project status and how I fit in? Results in team frustration when there are unexpected schedule slips within distributed development teams. Can result in project cancellation or restructuring by management. How do we keep everyone on the team informed of progress without having to ask? Our program managers are in another country and on a different timezone. I need to keep them informed of status weekly, and it’s taking away from my ability to deliver my work! The high level executives want status and it is in the tool but they don’t use an IDE? I don’t want to have to extract everything for them so they can see it in PowerPoint / Excel? I wish I could just point them to a URL and let them use a browser to see status? If I just knew the most important things for me to be working on I’d be fine. If we all had known that the database component team was behind schedule we could have helped out earlier when we all had some spare cycles.
IBM Software Group | Rational software
Dashboards and reporting Trending by project or by individual team
Team member details Current milestone status
IBM Software Group | Rational software
What are customers saying about Team Concert? "Its automated project management dashboards are transparent to everyone – not just managers. This immediate and automated feedback helps keeps teams on track and motivated to achieve project goals." --Han Jie - Senior Consultant, Siemens
" Where we previously used separate systems, with Rational Team Concert we now have well integrated functionality. Our developers are more efficient because they are better able to focus on important issues. Our project managers greatly value the ability to customize these dashboards and instantly provide status on their milestones!" --Mika Koivuluoma - Production Manager, TietoEnator
"Having a unified and extensible environment is very compelling for us. Rational Team Concert provides the team transparency and visibility needed to keep work progressing so everyone knows what‟s going on without fingerpointing." --Carson Holmes - Unified ALM Services Manager, Noblestar
27
IBM Software Group | Rational software
Summary: Improve business agility and project success rates IBM Rational Team Concert
Facilitates the principles of high-performance teams
Supports enactment of any process, including multiple built in Agile templates such as Scrum, Agile, Eclipse Way and OpenUP transparent integrated presence wikis OPEN real-time reporting chat automated hand-offs Web 2.0 custom dashboards automated data gathering EXTENSIBILITY Eclipse plug-ins services architecture FREEDOM TO CREATE
Manage Process & Iterations
Communicate In Context
Collaboration In Context Team Awareness Integrated / traceable Visible Iteration Planning
Scrum & agile templates Process awareness Process Flexibility Starting ad-hoc teams
Improve Integration
Continuous Integration Build Checkpoints Enable fixing failed builds JIT code reviews
Business Visibility
Transparency Objective commonality Project health checks Dashboards Reporting/Metrics
Agile Team Size 6 5
200+ 1
101 to 200
6 8
51-100
16 24 29
21 to 50
66
11 to 20
84
6 to 10
126
1 to 5
95
0
20
40
60
80
Attempt
100 Success
142
114
120
140
160
IBM Software Group | Rational software
The Rational Team Concert Family “Each edition has a server license that includes three developer clients. Allows you to get started with 3 developers with Express-C Edition for no cost – first 3”
Standard Corporate teams
Express Express-C Consultants & students In-context collaboration Open source middleware Up to 10 users/server
Departmental / SMB Transparent development Out-of-the-box process automation Commercial middleware Up to 50 users/server
Customizable process Real-time project health Lower cost of LDAP administration Enterprise scalability and extensibility Up to 250 users/server
IBM Software Group | Rational software
Jazz.net: Delivering greater openness and customer participation in the products they depend on for software delivery
IBM is opening up the Rational Software Delivery Platform for greater ease of consumption, extensibility and integration to meet the unique usage needs of our customers
IBM is providing transparent, collaborative customer participation in the development of new Rational technologies through an open commercial community Open Commercial Community
Open commercial development Open source contribution of selected Jazz technology Open Source Community
IBM Software Group | Rational software
Additional resources Find out more about Rational Team Concert http://ibm.com/rational/rtc or http://www.jazz.net Download a trial version of Rational Team Concert Standard Edition http://www.ibm.com/developerworks/downloads/r/rtc/learn.html?S_TACT=105AGX15&S_CMP=LP
Explore Rational Team Concert tutorials, demos and other developer learning resources http://ibm.com/developerworks/spaces/jazz See how the distributed and offshore, agile Jazz team, delivered Rational Team Concert on time using Rational Team Concert. https://jazz.net/blog/index.php/2008/07/07/the-smoothest-end-game-ever-but-why/
IBM Software Group | Rational software
IBM Rational Contacts/Programs For IBM Sales… Contact your local IBM or Rational Sales Representative - Or – In the U.S. Call 1-877-426-3774 Priority Code: 104CBW61 for other countries visit the directory of worldwide contacts https://www.ibm.com/planetwide/
For Business Partners… Check out the Jazz Ensemble (registration required) https://jazz.net/community/ensemble/index.jsp
For Academic Institutions… Check out the Rational Academic initiative – http://www-304.ibm.com/jct09002c/us/en/university/scholars/products/rational/
For Open Source Projects… Check out Rational Team Concert for Open Source (registration required) https://jazz.net/community/academic/?p=openSourceUse
IBM Software Group | Rational software
Additional Software Development Resources Learn more about Rational Team Concert by visiting: http://www.ibm.com/rational/rtc/
Video/webcast: Share with others this Jazz update http://www.ibm.com/software/info/television/index.jsp?lang=en_us&cat=dtacollaboration&ite m=xml/D500038R17900L64.xml Trial Code: IBM Rational Team Concert trial download http://www.ibm.com/developerworks/downloads/r/rtc/learn.html
IBM Software Group | Rational software
Free trial downloads of IBM Rational tools one stop shopping for IBM’s most popular trial code downloads
Provides easy access to IBM’s most popular trial software including: IBM Rational Software Architect V7 IBM Rational Application Developer V7 SEK available if you prefer DVD to download
Provide a collection of supporting resources for each trial that is easy to find on the web: Complimentary tech support* Forums Installation Guides Demos & tutorials ROI materials Pricing information from the IBM online catalog
ibm.com/developerWorks/downloads
Actual product download page
IBM Software Group | Rational software
developerWorks events developerWorks Live! Complimentary Briefings: New! Two-three day briefing developerWorks Live! mini conference One day briefings Rational Business Developer Extension (EGL): An innovative rapid development technology Building a better infrastructure The developer and the on demand IBM environment
Information on demand live: Building the next generation of database applications
Half day briefings Achieving enterprise application security Architecture, design and construction using the IBM Rational Software Delivery Platform Building next-generation SOAs with SCA and SDO Change and release management for software development Eclipse: Empowering the universal platform Effective software testing: Tools and strategies for project success Hacking 101 Managing requirements throughout the software development lifecycle Open community tools: An open stack development platform
ibm.com/developerWorks/offers/techbriefings
IBM Software Group | Rational software
IBM Rational Training Solutions
Boost your productivity with Rational application development software! Enhance productivity in building business applications Learn powerful techniques to support collaborative teamwork Streamline and automate change across the application lifecycle Reduce project risk by improving requirements management
Top-Rated Courses: Mastering the Management of Iterative Development – RP601 Essentials of the Rational Unified Process V7.0 – RP401 Business Modeling with the UML – RR621 Essentials of Rational ClearCase Basics for Windows – RS311 Mastering Rational ClearQuest Multisite Administration – RS641
Recently Announced New Courses: Essentials of IBM Rational Software Modeler V7.0 – RD561 Essentials of IBM Rational Systems Developer V7.0 – RD551 Essentials of IBM Rational Software Architect Extensibility – RD571 Mastering IBM Rational Software Architect – RD881 Essentials of Tailoring Methods with IBM Rational Method Composer V7.0 – RP521 Essentials of Manual Testing with IBM Rational Manual Tester – RT421 Administration Workshop for Rational ClearCase for UNIX – RSP01
MULTIPLE DELIVERY FORMATS IBM Rational boot camps ibm.com/training/us/catalog/rational/bootcamps IBM Rational instructor-led online training ibm.com/training/us/catalog/rational/ilo IBM Rational Web-based training library ibm.com/training/us/catalog/rational/weblibrary
ibm.com/training/us
IBM Software Group | Rational software
Want to Buy What You’ve Seen Today? The IBM Software Catalog makes it easy to shop for IBM software. Quickly find the products you need by name or by category.
Obtain up-to-date product and pricing information. And when you're ready, place your order by phone or online. Shop the way that works best for you! The IBM Software Catalog is available in a PDF format
ibm.com/software/catalog/subscribe The IBM Software Catalog is also available in an interactive online version ibm.com/software/catalog
Or you can call 1-877-426-3774 Phone number for other countries on website
IBM Software Group | Rational software
Question & Answer Session No need to submit your questions more than once – Your question will not be posted to this page until it is answered For the latest information on IBM Rational Software Delivery Platform Webcasts, visit http://www.ibm.com/developerworks/views/global/webcasts.jsp
Thank you for participating!
IBM Software Group | Rational software
Take Action Visit IBM Rational http://www.ibm.com/rational
© Copyright IBM Corporation 2007. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM Rational products and services are trademarks or registered trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
IBM Software Group | Rational software
Agile Adoption Survey Done by Scott Ambler in February 2008 Message sent out to Dr. Dobbs Journal mailing list Data, summary, and slides downloadable from www.ambysoft.com/surveys/
642 respondents:
54.8% were developers, 29.4% were in management 41.6% had 10-20 years IT experience, 37.2% had 20+ years 37.7% worked in orgs of 1000+ people 71% worked in North America, 17% in Europe, 4.5% in Asia