Agile Development with Jazz and Rational Team Concert Mayank Parikh mayank.parikh.@in.ibm.com Acknowledgements: Thanks to Khurram Nizami for some of the slides in this presentation
Agile Values: A Foundation for Agile Development Individuals Interactions Processes and Tools We value Working Software over Comprehensive Documentation Customer Collaboration Contract Negotiation Respond to Change Following a Plan That is, while there is value in the items on the right, we value the items on the left more. Source: www.agilemanifesto.org 2 2
Threats to Agile Principles Working Software Customer Collaboration Limited Stakeholder / Team Face Time Interrelated products and versions Individuals Interactions Respond to Change 3 3
Addressing Agile Principles Individually Exposes Pain Elsewhere Example: Continuous Integration Working Software Respond to Change Unable to keep pace with rapid results Example: Workflow & Change Request Automation Respond to Change Individuals & Interactions Unable to work together to best address changes leveraging reuse, productivity, teaming Example: More frequent meetings, virtual web conferences Customer Collaboration Working Software Respond to Change Unable to frequently show incremental results Unable to prioritize and adjust to changing & new customer demands 4 4
Addressing Agile Principles Together Enables You to Overcome Common Challenges Working Software Limited Stakeholder / Team Face Time Customer Collaboration Individuals Interactions Interrelated products and versions Respond to Change Source: www.agilemanifesto.org 5 5
Collaboration Central Binding Element of Agile Principles Communication, Cooperation, Trust, Adaption, Self Organization All Elements of Collaboration Found in all agile methods and practices Hard to address and apply individually, requires conscience of big picture Agile Manifesto states: The most efficient and effective method of conveying information to and within a development team is face to face conversation 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 Agile product success rates(%) 214 co-located, 210 near, 129 far Source: Scott Ambler Agile Adoption Rate Survey of over 4200 Dr. Dobb s subscribers, February 2008 60 72 78 83 All Co-Located Near Located Far Located 0 20 40 60 80 100 6 6
Traditional software delivery environments reinforce the problem: Islands of People, Process and Information Little to no project visibility Data locked in proprietary APIs Poor process and workflow integration High maintenance and administration costs Persistent functional, geographic and organizational silos 7
Jazz: A platform for software integration and collaboration Integrated, loosely coupled Logic User Interfaces Data Models Workflow Administration Third-party products Open Source Solutions Product A Product B Process Workflow Product C Product D HTTP/REST Shared Platform Services Real-time, transparent access to project data, risks and progress 8
Open Services for Lifecycle Collaboration Simplifying collaboration across the software delivery lifecycle Open Services for Lifecycle Collaboration Open interfaces. Open possibilities. An industry initiative for making it easier to use software delivery tools in combination. Barriers to sharing resources across the software lifecycle Multiple vendors, open source projects, and in-house tools Private vocabularies, formats and stores Entanglement of tools and data The Open Services initiative is Building a community of software vendors, open source projects, integrators, and corporate IT teams, operating at open-services.net Creating public specifications of resources and services for sharing the things that software teams rely on, like change requests, test cases, defects, requirements and user stories Delivering loosely coupled resource formats and services with just enough standardization 9
Rational Team Concert A unified client UI Unified Work Items, Agile Planning, SCM, Build Mgmt, Reporting Work Items Single UI, storage and process Planning Reduces Cost of Ownership Administrative costs Training/Adoption Customizations SCM Build Management Reporting One Tool! With unified storage DB LOGIC 10
Rational Team Concert: An open, extensible architecture Supporting a broad range of desktop clients, IDE s and languages Eclipse Clients Web Clients Microsoft.NET Clients Rational Desktop Clients Jazz Client Extensions Web 2.0 Visual Studio Rational Software Architect Eclipse Platform Rational Systems Developer Rational Business Developer Rational Developer for z Rational Developer for i Rational Team Concert Collaboration Presentation: Mashups Best Practices Discovery Query Storage Administration: Users, projects, process JAZZ SERVICES Business Partner Extensions Your Extensions IBM Rational Extensions 11
Rational Team Concert - A Closer Look Agile Planning Integrated release/iteration planning Effort estimation & progress tracking taskboards Out of the box agile process templates Project Transparency Customizable web based dashboards Real time metrics and reports Project milestone tracking and status SCM Integrated stream management Component level baselines Server-based sandboxes Identifies component in streams and available baselines SVN, Git, CC bridge, connector Work Items Defects, enhancements and conversations View and share query results Support for approvals and discussions Query editor interface ClearQuest bridge, 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 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 Jazz Team Server 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 12 12
Team Concert enables teams to more easily adopt and support Agile development with greater team productivity and results Facilitates the principles of high-performance teams IBM Rational Team Concert transparent integrated presence wikis OPEN realtime reporting chat automated hand-offs Web 2.0 custom dashboards automated data gathering EXTENSIBILITY Eclipse plug-ins services architecture FREEDOM TO CREATE Working Software Individuals Interactions Respond to Change Customer Collaborative Continuous integration Manage team assets Change driven Integrated / traceable Starting ad-hoc teams Team awareness Process awareness Ad-hoc sharing Process flexibility Iterative plan-execution Multiple releases JIT code reviews Transparency Objective commonality Project health checks Context driven 13
In-Context Collaboration 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 Team Awareness Shows team members and their online status Shows what they are working on 14 14
Enables process awareness and guidance Team Advisor Rules can be run when delivering changes to enforce team or organizational standards 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 1515
Work items Subscribe to work items you're interested in Predefined, custom and personal queries Integrated discussion threads Understands and persists work items' relationship to SCM and build artifacts Query results 1616
Source Code Management Easily suspend and resume work Work in parallel without making branch copies Reproduce the exact workspace of any build 17 17
Builds Create build definitions for team and private builds Supports Ant and command line build tools Create local or remote build servers Identify work items and change sets that went into the build Historical view of the build queue with status 1818
RTC for Continuous Integration Incremental and flexible integration with a great reduction in complexity RC2 Stabilization Stream Weekly Integration Stream (Product Builds) RC2 Continuous Integration Stream (Product Builds) deliver and accept baselines Team Stream (Team Builds) Repository Workspace (Private Builds) suspend/resume deliver and accept change sets good build failed build deliver/accept Developers deal mainly with accepting and delivering to their team stream. Flowing changes to and from the product and weekly integration streams provides multi-level staged continuous integration support across a complex system. Each build references a snapshot of the artifacts that were built. Reproducing a build or patching a build is as simple as creating a new stream from the snapshot. 19
RTC for Continuous Integration Web Based Build Build when you need to, from anywhere to anyone From Team Concert Web UI: Request new build Request rebuild of existing build Exposes build facilities to wider community Provides access to build function from any desktop 20
RTC for Agile Planning & Execution Close the gap between estimation and execution NOT just a disconnected spreadsheet Project execution doesn t change to plan adjustments No realtime rollup of project execution, individual, team, iteration, release Designed for project leads, not covering individual work management and planning Not connected to project deliverables changes, scm, builds, etc With Rational Team Concert Live work load bars show who is overbooked Live progress status bars show Individual and Team progress Many vantage points taskboards, backlogs, work breakdown, release, iterations, ranked list, etc.. Rollup of progress / load individual, iteration, release.. All planning is 100% Web based so all can access it Full process control across both VS.NET and Eclipse teams Engages development in planning to produce better predictability Work Load Bar Progress Bar 21
Iteration Planning Understand how well you are progressing against your targets in real-time Plan and execute on iterations while managing load Drag-and-drop work items to change owners/create child parent relationships 22 22
RTC for Agile Planning & Execution Build, Manage, and prioritize your backlog put your work in its place 2323
RTC for Agile Planning & Execution Manage work better - answer common questions without asking See the work in progress or completed Show stories linked to a set of associated tasks and their status Drag and drop work items to change their state. 24
RTC for Agile Planning & Execution Plan and rebalance more effectively plan risk assessment More detailed developer estimation.. low, nominal, high Color codes high risk tasks for quick identification and action Automatically calculates probability of task fitting into the schedule 25
RTC for Agile Planning & Execution Get the answers you need advanced visual query building Bulk Edit Mode 26
RTC for Agile Planning & Execution Keep metrics in focus at the right level individual, team, project dashboards 27
RTC for Agile Planning & Execution Example: Agile Planning Dashboard 28
RTC for Agile Planning & Execution Example: Development Dashboard 29
RTC for Scaling Agile Establish the rules of the road and help your project work with them Guarded RTC operation Quick Fixes can be specified to simplify corrective action. Out of the box processes include Scrum, iterative, or any process Verification required Configurable Rules can be run to enforce team or organizational standards. Can be refined on the fly for continuous improvements 30
RTC for Scaling Agile Work on multiple product versions and teams while maintaining order Team of Team Stream Team Streams Developer Streams 31
Additional resources For more information: Find out more about Rational Team Concert at: http://ibm.com/rational/rtc Explore Rational Team Concert tutorials, demos, trials, and other developer learning resources at: https://jazz.net/projects/rational-team-concert/ Check out the ROI Calculator at http://www.ibm.com/rational/rtc/roi 32 32
3333