Jazz Project and Rational Team Concert Overview: Jazz Project and Rational Team Concert Overview IBM Rational Software Giora Katzir, Rational Software, IBM Software Group, Israel CTO
Disclaimer and Non-Disclosure: Disclaimer and Non-Disclosure Though this represents our current direction, these plans are subject to change
Nothing in this presentation is intended to create any representations or warranties
IBM Rational warranties are contained in the applicable license agreements
Agenda: Agenda Setting the Stage
Jazz Project Overview
Rational Team Concert Overview
Demo
The Jazz Project Approach
Extending Jazz
Slide4: Setting the Stage
Jazz Project Overview
Rational Team Concert Overview
Demo
The Jazz Project Approach
Extending Jazz Agenda
Forces in Motion: Forces in Motion Evolving business requirements
Agile programming
Web 2.0 and Social Networking
Application Lifecycle Management (ALM)
The Eclipse phenomenon and our experiences
The Shift: Intense focus on business outcomes: The Shift: Intense focus on business outcomes Increase customer intimacy & knowledge to grow relationships & markets Manage value and mitigate risks via improved project management Align technology and business goals to enable flexibility & innovation Consume & integrate value in organizationally diverse environments Control costs & gain operational efficiency while meeting compliance mandates
What’s different today?: What’s different today? 2007 and beyond: Shifts in software delivery What we’re seeing
Increasingly diverse and cross organizational global project teams
SOA, Web-centric & Web 2.0 enabling new business models
Popularity of Agile development and social networking models
Interest in replicating the proven models of open, community- governed software delivery models “2/3 of our projects span multiple business units” “People knew it was a train wreck; no one could see what to do.”
“We’ve done two acquisitions in six months and we can’t lose customers”
“We run on the Web – and we run fast — new code makes us really nervous”
“We have to go where the best talent is, but we have IP and compliance realities” What we’re hearing…
Changing Business and IT Environment: Changing Business and IT Environment Demand for visibility into IT
Mandate to drive down cost of ongoing operations
Changes in IT governance
Geographic and organizational distribution
More complicated architectures and processes “Managing dependencies between high-priority change requests and ongoing application development efforts “sometimes seems like it isn’t humanly possible.” (US healthcare company)
“We had a consulting company define a methodology for us. We still have it on a shelf somewhere. A process needs to live in the tools we use if it's ever going to be followed.” (Transportation company)
“Automating our build-deploy-test processes would probably save each of our developers about an hour a day.” (Financial services firm)
“We do progress reporting the same way we've been doing it for 40 years. It's all manual: weekly status meetings, progress reports, demonstrations. We’d love to get test results from nightly builds posted somewhere instead of having to run people down to ask them whether things are working yet.” (Bank)
Customers are maturing their approach to software delivery : Team Individual Business Resource availability Project management Portfolio management Process management Organization Customers are maturing their approach to software delivery Design & construction Managing value & risk with continuous portfolio and lifecycle management
aligned with business imperatives Team productivity via change, quality & release management Cross organizational process & project management with an emphasis on collaboration and asset utilization F O C U S S C O P E Pre-1980’s Compilers and Editors and simple test tools Integrated Develop. Env (IDE) including
Source Code Mgmt Systems 1980’s – 1990’s
Lifecycle tools integrated with best practices process guidance
Late 90’s - Today
Real time Middleware platform including process activation
Future
www.agilemanifesto.org Agile programming: www.agilemanifesto.org Agile programming
Slide11: You cannot be Agile if you are not in shape
Scrum is CMM Level 3 compliant
Implies that it builds on a Level 2 organization!
If you do not know what proble, you are solving, then any solution is as good as any other
If you do not have the preconditions for going Agile, you will fail
Half of all SCRUM projects fail
Preconditions to Agile:
Open communication
Basic competencies
Lean
Stakeholder Engagement
Freedom
Balanced Maturity Coplien – Bootstrapping Agile
Social Networking – Power of communities: Wikipedia on Web 2.0:
a perceived second generation of web-based communities and hosted services … that facilitate collaboration and sharing between users
Key principles of Web 2.0:
the web as a platform
data as the driving force
network effects created by an architecture of participation
innovation in assembly of systems and sites composed by pulling together features from distributed, independent developers (a kind of "open source" development)
lightweight business models enabled by content and service syndication
the end of the software adoption cycle ("the perpetual beta")
software above the level of a single device, leveraging the power of The Long Tail.
ease of picking-up by early adopters
Social Networking – Power of communities
Social computing turns individual preferences into niche markets that can be identified and reached: people you don’t people you know Social computing turns individual preferences into niche markets that can be identified and reached you review comment buy blog sell syndicate rate society economy the world tag
Pillars of ALM*: Pillars of ALM* Traceability of relationships between artifacts
Automation of high-level processes
Providing visibility into the progress of development efforts
* Forrester Research report, “The Changing Face of Application Life-cycle Management”
The make up of ALM support*: The make up of ALM support* Greater insight for problem resolution and better control and management
Collaboration and communication across the board
Better quality control, risk management and impact analysis
Connected requirements lifecycle
Instrumentation and more relevant metrics
Support for geographically distributed IT teams (internal and external to the organization)
Democratization of roles and role support
Process and workflow
Change and agility-driven environment
Seamless integration between the different phases of the application lifecycle and interoperability with solutions from other providers. *Ovum report “Application Lifecycle Management Market Analysis”
From Eclipse to Jazz: From Eclipse to Jazz Pre-Eclipse Way
Culture: shipping matters, delivering quality on time
Eclipse
6 years shipping on time
Reflecting on process
Describing the process the Eclipse Way
Jazz
Tooling the process
The Eclipse Way --- Iterative/incremental: The Eclipse Way --- Iterative/incremental endgame release 3.2 M1 plan develop stabilize 6 weeks warm-up retrospective initial release plan decompression 3.1 M2 plan develop stabilize … plan develop stabilize sign-off sign-off sign-off 6 weeks 6 weeks fix - spit & polish test fix test
What is behind the Eclipse Way: What is behind the Eclipse Way Practices underpinned with values
ship quality on time
Used, developed and improved over time
Worked for us (and others)
Practices are from all kinds of sources
XP, Scrum, Crystal Clear, RUP, …
Patterns - Organizational Patterns of Agile Software Development – Coplien
It is not low ceremony
Approvals, verifications, reviews
It is agile: iterative, time-boxed, incremental, feature-based, collaborative, transparent, customizable
What is behind the Eclipse Way: What is behind the Eclipse Way
5 Years Shipment in Time !: 5 Years Shipment in Time !
But… there are Pain Points…: But… there are Pain Points… Joining a team
Get my environment configured to be productive
What is happening in my team
Collecting progress status
Following the team’s process
Ad hoc collaboration/sharing of changes
Starting an ad hoc team
Is the fix in the build?
What will be in the next build?
Tracking a broken build
Avoid breaking a build/personal build
Why is this change in the build?
Reconstructing a context for a bug/build failure
Creating, tracking iteration plans
Interrupting development due to a high priority bug fix
Working on multiple releases concurrently
Tracking the code review of a fix
Referencing team artifacts in discussions
How healthy is a component?
Collecting project data/metrics?
Boring and painful Team awareness Build awareness Project awareness
What if your tools know…: What if your tools know… … about your teams
… about your artifacts
… who is responsible for what
… rules under which circumstances code can be delivered
Code quality, traceability, test runs, intellectual property
… how to bootstrap a project
… how to help new team members get started
… your favorite work item types and their state transitions
… when the build runs and what to do if it breaks
Jazz: Technology Innovation for the Rational Software Delivery Platform: Jazz: Technology Innovation for the Rational Software Delivery Platform Eclipse
Experience Web 2.0 Agile
Practices
ALM
Slide24: Setting the Stage
Jazz Project Overview
Rational Team Concert Overview
Demo
The Jazz Project Approach
Extending Jazz Agenda
What is Jazz? : What is Jazz? Innovation A major investment by IBM to create a scalable, extensible team collaboration platform for seamlessly integrating tasks across the software lifecycle Community Jazz.net – Jazz project venue for open commercial development of Jazz platform and Jazz-based products and an extension of the world wide Eclipse ecosystem Vision A vision for the value and experience that future Rational products can bring to software and systems delivery teams Rational Products A commercial project led by the IBM team that brought you the Eclipse Platform. Rational Team Concert will be the first product built on Jazz and feature tooling the agile practices. Innovative Software Engineering
How is the Thinking Behind Jazz Different?: How is the Thinking Behind Jazz Different? Function First Team First Jazz will challenge us to think first about how people work together and then about the tool function needed by individual practitioners for specific roles Manual Process Aware & Transparent Focuses on automating the unique dynamic of a team enhancing productivity by enabling real-time collaboration, visibility and transparency across the team, and process enactment Desktop Integration Lifecycle Integration Eclipse established a desktop client integration model for individuals, Jazz will establish a similar integration model across the lifecycle of software projects
The value of the technology?: 27 The value of the technology?
Enables teams to collaborate in real time in the context of the work they are doing
Provides visibility into accurate current project health information drawn directly from actual work across the team
Automates traceability and auditability by managing artifacts and their inter-relationships across the lifecycle
Enables custom process enactment via process automation & definable checkpoints
Provides an extensible technology platform for building products & adapters
Jazz Customer Value: Jazz Customer Value Accelerate time to value: Steer projects iteratively and integrate/test continuously to cut downstream scrap and rework
Improve project predictability: Real time instrumentation of changing work products for lifecycle assessment of progress and quality
Extract organization value and knowledge: Balance existing reusable assets with evolving user needs and employ know-how and skills from anywhere in a collaborative development environment.
Right-size development governance: Dynamically adapt process agility and level of process rigor to be commensurate with the uncertainty in the estimate to complete.
Focus value to the business: Link work and artifacts across the lifecycle to optimize economic outcomes
Improve effectiveness in a globally and organizationally distributed environment: through improved transparency, best practices capture and enactment, project dashboarding
Tap into community value: Extend Jazz-based offerings, e.g. Rational Team Concert, with broader value of the Eclipse community
Jazz Platform Architecture – Open Source middleware : Apache
Derby Jazz Platform Architecture – Open Source middleware Eclipse Equinox Jazz Kernel Jazz Server Extensions Web UI Eclipse Platform Jazz Client Extensions Apache Tomcat Jabber Jazz Web Client Jazz Eclipse Client Jazz Team Server Other Clients HTTP, Web Services, RSS, Atom
Jazz Platform Architecture – IBM middleware : Jazz Platform Architecture – IBM middleware Eclipse Equinox Jazz Kernel Jazz Server Extensions Web UI Eclipse Platform Jazz Client Extensions WebSphere Lotus
Sametime Jazz Web Client Jazz Eclipse Client Jazz Team Server Other Clients DB2 HTTP, Web Services, RSS, Atom
Jazz Components Overview: Jazz Components Overview Source
Control Work Items Team Build Repository Process Inter-op Other Systems Collaboration Iteration Planning 31 Inter-op Static
Analysis Code
Coverage Project
Health
Jazz: Enabling innovation in the Rational Software Delivery Platform: Jazz: Enabling innovation in the Rational Software Delivery Platform 32
Slide33: Setting the Stage
Jazz Project Overview
Rational Team Concert Overview
Demo
The Jazz Project Approach
Extending Jazz Agenda
What is Rational Team Concert?: What is Rational Team Concert? A New Family of Products based on Jazz Technology
Optimized for Agile development teams in midsized & large businesses
Integrates the entire team around an integration server
Includes Enhanced Eclipse Development environment
Primary Features
In-place collaboration between team members
Support and enforcement for development processes
Transparency of status and trends through automated data-gathering and reporting
Motivation
Enable flexible, agile application lifecycle management
Low administrative footprint optimized for agile teams in SMB & large businesses
Add value for existing ClearCase and ClearQuest customers
Step one in the rollout of “lifecycle service integration” middleware in the Rational SW Delivery Platform
Evolving the Rational Software Delivery PlatformAn open ecosystem based on IBM middleware: Built for development efficiency: Allows developers to innovate rather than duplicating efforts, figuring out who to hand off to, or tracking and reporting status Evolving the Rational Software Delivery Platform An open ecosystem based on IBM middleware Integrated Work Item Function
Integrated SCM Function Integrated Events / Status Function Rational Build Forge ClearCase SCM
(optional) ClearQuest Work Items
(optional) Asset Governance and Collaboration Rational ClearCase/ ClearQuest Rational Functional Tester/ Performance Tester Third-party products (i.e., Subversion connectors) Rational Asset Manager Point Product Integrated Platform
Target Scenarios we will Support with Rational Team Concert v1.0: Target Scenarios we will Support with Rational Team Concert v1.0 36 Import Co-exist Connectors CVS or SVN repository Bugzilla
repository Rational Team Concert v1.0 Provide capability to import from tools into RTC v1.0 Subversion repository Rational Team Concert v1.0 Integration with the SVN repository with the Collaborative development capabilities of RTC (Workitems, Build) ClearCase
(Base CC and UCM) ClearQuest (includes CQ enabled UCM) Rational Team Concert v1.0 Bi-directional Synchronization
Team Concert Connectors : Team Concert Connectors 37 Network shares &
Other systems Rational ClearCase/
ClearQuest
Other Repositories UCM / Base CC
projects Agile Dev Team Add/edit
Deliver Rebase Integration Build
Build Forge (optional) Add/edit
Deliver Rebase ClearCase/ClearQuest
Dev Team
Release Integration Governance focused teams cannot hold agile teams accountable
Jazz and Team Concert Timeline: Jazz Platform 0.6M1 Jazz Platform 0.5
Jazz Platform 0.6
Availability Jazz Platform 1.0 Jazz Closed Pilot begins Jazz.net Launch
Team Concert Beta 1
Other technology incubators Team Concert 1.0 Team Concert 2.0 Continued beta and incubator drivers Team Concert 1.0
Fix packs Jazz worldwide team
self hosts at jazz.net
Team Concert Beta 2 Jazz Platform 0.6
Milestone drivers Jazz Platform 1.0
Milestone drivers Jazz and Team Concert Timeline 2008 2009 2007 2010
Who are the customers RTC** will address?: 39 Who are the customers RTC** will address? Small and medium business: Ideally, development teams with an affinity for Eclipse based development.
Small teams in large enterprises who want an agile development process.
Bringing the Jazz technology to the ClearCase and ClearQuest Customers
Create innovation and thought leadership for Rational Customers
** In the first release 2008
Rational Team Concert for Agile Teams: Rational Team Concert for Agile Teams Agile teams need more than just an SCM system. They need tools to help them plan, organize, build, and ship their products.
Traditional SCM Agile best practices focused on the structure of the artifacts, Rational Team Concert adds the structure of the team and its process.
Helps structure and plan iterations with measurable executable output so that the teams know what is expected of them.
Rich integration allows team members to easily switch between different roles which is typical for agile teams (planning, development, testing).
Low total cost of ownership.
Slide41: Setting the Stage
Jazz Project Overview
Rational Team Concert Overview
Demo
The Jazz Project Approach
Extending Jazz Agenda
The Roadmap to the Jazz Vision: The Roadmap to the Jazz Vision If you are using or buying Rational’s existing products (e.g., ClearQuest, ClearCase, BuildForge, Reqpro) you are on the Strategy Roadmap for Jazz. That is, we’ll evolve you to the value over time with minimal disruption …
We will introduce a new middleware jazz-based server family to the Rational product portfolio enabling more flexible & dynamic lifecycle service integration & team collaboration branded Rational Team Concert …
As we introduce new offerings, they will increasingly be based on the Jazz technology (e.g., Lab manager, EQM , Reporting, etc) although they may not necessarily all be branded RTC
Jazz is an enabling technology designed and built in an open commercial community model at jazz.net. Jazz is not an IBM Rational product
The roadmap: Two roads, one destination: The roadmap: Two roads, one destination Software Supply Chain Rational Team Concert
Extended Deployment
Slide44: Setting the Stage
Jazz Project Overview
Rational Team Concert Overview
Demo
The Jazz Project Approach
Extending Jazz Agenda
Delivering greater openness & customer participation in the products they depend on for software delivery: Delivering greater openness & 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 development Open source contribution of
selected Jazz technology
Slide46: Jazz Community Site
Open Commercial Development: Open Commercial Development IBM does two types of development - open source and commercial
Open source has traditionally implied two things
a license agreement that makes the result free
an open, transparent, release early and ofren development process
Commercial development has traditionally meant two things
a commercial license (inherent)
a closed development process (traditional practice, but not inherent)
IBM's innovation is to use an open, transparent, release early and often process for commercial development.
The license is still commercial
"Open" means that people are free to join the community doing development
"Transparent" means everyone can see what's going on.
“Release early and often” means more opportunity receive and incorporate feedback
Open transparent process is more than publishing the source code. In an open transparent process, from requirements and planning through delivery
Open Commercial Development: What can you do?: Open Commercial Development: What can you do? Open Commercial Development: Participating with the Jazz and Rational Team Concert development teams in an open and transparent way that reduces friction
Download, try out, and (we hope) feedback on betas and incubators, including source code
Access, Create, and update work items
Access milestone and component iteration plans
Provide input on requirements
Access the development wiki
Participate in discussions on the development community newsgroups
How We Use Jazz: How We Use Jazz Beaverton Build
Process Ottawa Source Control
Reporting
Community Site Lexington Interop
Testing Zurich UI Foundation
Work Items
Agile Planning
Code Coverage Saint-Nazaire Static Analysis 2-way Xeon Server running application server (WAS) and another running DB2
70 developers, 20 testers, 8 doc selfhosting on Jazz.
18,000 change-sets
35,000 work items
250 repository workspaces
66K files
10GB file content uncompressed
Integration stream has 30K files
40 builds a day
Weekly integration build
Academia: Academia Jazz Faculty Grants
University of California, Irvine
Researching how to organize and present large amounts of information to a team using multiple monitors
University of British Columbia
Exploring dynamic organization of teams with Emergent Expertise Locator tool
University of Victoria
Looking into congruence of project dependencies with communications
Other notable work
Several universities currently exploring applications in classroom use
Many research interests, including paring down for educational use, software global factory, static analysis, visualization of repository information, program understanding and transformations, reverse engineering, knowledge management, code review, agile methods, repository mining, impact of change analysis
Have announced another round of Jazz grants – proposals due by 11/13/07.
Slide51: Setting the Stage
Jazz Project Overview
Rational Team Concert Overview
Demo
The Jazz Project Approach
Extending Jazz Agenda
Anatomy of a Jazz extension: Anatomy of a Jazz extension One or more of the following
Client library
Services / REST services
Storage model extension
Web extension
All components are following the same pattern.
There are no exceptions.
Not even for Jazz.
S