IBM Rational Software Rational Team Concert powered by Philippe Krief, PhD Jazz Jumpstart Team Eclipse Comitter [email protected] Sou nd Atta ched Les Jeudis de l’Objet 29 Mai 2008, Nantes © 2008 IBM Corporation Agenda • Motivation and goals • High level architecture • Jazz in Action • Guiding Principles • Jazz Ecosystem • Roadmap 2 From the Eclipse Way to Jazz © 2008 IBM Corporation 1 IBM Rational Software Motivation and Goals © 2008 IBM Corporation Why are we doing Jazz? The Development Landscape has shifted! Late Late 90’s: 90’s: Focus Focus on on Point Point Tools Tools Who can build the best Java IDE, the best C IDE, the best Web Tool,… When When we we built built Eclipse: Eclipse: Focus Focus on on One One Developer Developer Seamless integration across a set of tools to improve the productivity of one developer Today, Today, we we must must focus focus on on the the Team Team and and its its Collaboration Collaboration Geographically Distributed Accelerated Delivery Demands Agility with Predictability Innovation and Repeatability Improve Improvethe theProductivity Productivity ofof the theEntire EntireTeam Team Increased Need for Transparency 4 From the Eclipse Way to Jazz © 2008 IBM Corporation 2 Jazz: Forces in Motion ALM ALM Eclipse Eclipse Experience Experience “Web “Web2.0” 2.0” Agile Agile Practices Practices 5 © 2008 IBM Corporation The demand for Application Lifecycle Management (ALM) • Traceability of relationships between artifacts “Managing dependencies between high-priority change requests and ongoing application development efforts “sometimes seems like it isn’t humanly possible.” (US healthcare company) • Automation of high level processes “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) • Reporting provides visibility “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) A Forrester Research report, “The Changing Face of Application Life-cycle Management” 6 6 From the Eclipse Way to Jazz © 2008 IBM Corporation 3 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 In the opening talk of the first Web 2.0 conference, Tim O'Reilly and John Battelle summarized what they saw as 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 7 © 2008 IBM Corporation From Eclipse to Jazz • Eclipse Phenomena – – – – 2.5 millions downloads (Eclipse 3.3) 6 years shipping on time More than 20 projects delivered on top of Eclipse 17 millions LOC • Why? – – – Extensible Platform Based on Open Standards Eclipse Community • How? Describing the process => the Eclipse Way : Tooling the process 8 From the Eclipse Way to Jazz © 2008 IBM Corporation 4 Our Eclipse Way Practices continuous integration continuous testing enable sign off live betas always have a client enable show progress feedback update API first community involvement transparency milestones first validate component centric drive with open eyes reduce stress end game consume your own output validate learn adaptive planning attract to latest new & noteworthy retrospectives explore dynamic teams common Agile practices common Open Source practices validate scaling-up practices 9 © 2008 IBM Corporation But… there are Pain Points on… • Team Awareness – – – – – – – joining a team get my environment configured to be productive what is happening in my team collecting progress status following the team’s process starting an ad hoc team ad hoc collaboration/sharing of changes Boring and painful ⇒ Time thieves 10 From the Eclipse Way to Jazz © 2008 IBM Corporation 5 But… there are Pain Points on… (cont.) • Build awareness – – – – – – 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 Boring and painful ⇒ Time thieves 11 © 2008 IBM Corporation But… there are Pain Points on… (cont.) • Project Awareness – – – – – – – 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 ⇒ Time thieves 12 From the Eclipse Way to Jazz © 2008 IBM Corporation 6 What if your tools know… • • • • about your teams about your artifacts who is responsible for what rules under which circumstances code can be delivered • • • • 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 – Code quality, traceability, test runs, intellectual property 13 © 2008 IBM Corporation The Jazz project People working together to deliver great software Jazz is a project and platform for transforming how people work together to deliver greater value and performance from their software investments. • A major investment by IBM to create a scalable, extensible team collaboration platform. • IBM’s vision for the future of software delivery -- supporting a workforce that is increasingly organizationally and globally distributed, fluid and dynamic. • An evolution of the Rational portfolio, which will evolve to support the Jazz technology platform over time. • A community at Jazz.net – the online venue for open commercial development of select Jazz-based products. 14 From the Eclipse Way to Jazz © 2008 IBM Corporation 7 IBM Rational Software High Level Architecture © 2008 IBM Corporation Tools Collaboration generally means exponential complexity! Until now, building an integrated platform required a cross tools understanding: Each integrated tool had to know about each other tool. Tool Tool A’ A Tool E Tool F Tool B Tool C Tool D 16 From the Eclipse Way to Jazz © 2008 IBM Corporation 8 Tools Collaboration based on Middleware Services • With the Jazz platform, the tools communicate only with the platform: • By listening to normalized/standardized events from the platform • By sending normalized/standardized events to the platform Tool Tool A’ A Tool B Tool C Tool D Tool E Tool F Events & Services Adaptive Process Enactment & Continuous Analysis Artifact relationships Team Collaboration Services 17 © 2008 IBM Corporation Rational Team Concert Work Items •Bug tracking •Task tracking •Planning •Approvals Source Control •Change Sets •Streams •Baselines Build System •Coverage •Static analysis Adaptive Process Enactment & Continuous Analysis Artifact relationships Foundation: Project Areas, Teams, Users, Process, Chat, Presence, Events, Alerts, Dashboard, Reports, Search Team Concert provides an integrated Collaborative development environment Using a single repository Integrated Version Control, Work Item and a Build System 18 From the Eclipse Way to Jazz 18 © 2008 IBM Corporation 9 An evolution for new and existing customers The Evolution of the IBM Rational Software Delivery Platform New Offerings Existing Offerings Rational Build Forge Rational ClearCase Evolution to Jazz Technology Platform Rational ClearQuest Work Items SCM Build Rational RequisitePro Rational RequisitePro Rational Team Concert Standard Rational ClearQuest Reporting Future Products Rational Quality Manager Built on the Jazz Technology Platform Rational Build Forge ClearQuest ClearCase Build Forge Rational RequisitePro Rational ClearCase Rational Team Concert Enterprise Requirements Composer Other... Rational Quality Manager --- Other Rational & Non-Rational Offerings FUTURE IBM RATIONAL SOFTWARE DELIVERY PLATFORM 19 19 © 2008 IBM Corporation Playing with Others Bridge Import One way data migration Connectors SVN Bridge links work items with change sets. Mylin repository connector (incubator) Two way data synchronization ClearQuest Bugzilla repository Jazz Repository Jazz Repository CVS or SVN repository 20 From the Eclipse Way to Jazz Subversion repository Jazz Repository © 2008 IBM Corporation ClearCase (Base and UCM) 20 10 Jazz Platform Architecture Jazz Web Client Jazz Eclipse Client Other Clients Jazz Client Extensions Eclipse Platform HTTP, Web Services, RSS, JRS (RestFull) Jazz Team Server Jazz Server Extensions Web UI Repository Jazz Kernel Collaboration Eclipse Equinox (OSGi) Application Server 21 © 2008 IBM Corporation Jazz Platform Architecture - Open Source middleware Jazz Web Client Jazz Eclipse Client Other Clients Jazz Client Extensions Eclipse Platform HTTP, Web Services, RSS, JRS (RestFull) Jazz Team Server Web UI Jabber Jazz Server Extensions Jazz Kernel Apache Derby Eclipse Equinox Apache Tomcat 22 From the Eclipse Way to Jazz © 2008 IBM Corporation 11 Jazz Platform Architecture - Enterprise middleware Jazz Web Client Jazz Eclipse Client Other Clients Jazz Client Extensions Eclipse Platform HTTP, Web Services, RSS, JRS (RestFull) Jazz Team Server Jazz Server Extensions Web UI Lotus Sametime DB2 / Oracle Jazz Kernel Eclipse Equinox Websphere 23 © 2008 IBM Corporation Extend team collaboration to a broader range of users, from business to software professional Eclipse Clients Web Clients MS.net Clients (future) IBM Desktop Clients Jazz Client Extensions Web 2.0 Visual Studio (Future) Rational Software Architect Eclipse Platform Rational Systems Developer Lotus Mashup Rational Application Developer Eclipse Platform Rational Team Concert Business Partner Clients Jazz Team Server Eclipse Platform Visual Studio (Future) Lotus QuickR (Future) Tooling Extensions Tooling Connectors Microsoft Sharepoint (Future) 24 From the Eclipse Way to Jazz © 2008 IBM Corporation 12 IBM Rational Software Jazz in Action Use Case: Broken Build © 2008 IBM Corporation Broken Build workflow Team TeamLead Lead Developer Developer Build BuildEngine Engine Run Runthe theBuild Build Check CheckBuild BuildResults Results Create CreateProblem ProblemReport Report Problem Report Triage Problem Report Triage Check Problem Report Check Problem Report Fix Bug Fix Bug Commit CommitChanges Changes Run Runthe theBuild Build Check CheckBuild BuildResults Results Mark PR as Resolved Mark PR as Resolved 26 From the Eclipse Way to Jazz © 2008 IBM Corporation 13 IBM Rational Software Guiding Principles… © 2008 IBM Corporation Collaboration - Team First • Explicit team structure and roles – Contributor can belong to more than one team • Team awareness – – – – event feeds per team presence indication workload chat in context • Team autonomy – – – – 28 From the Eclipse Way to Jazz team owns its process team owns components team has its plans team has its build © 2008 IBM Corporation 14 Process Awareness • Jazz is Process neutral – Support many different practices and processes • Tool understands how a team works. Process is Specific… – to the project – to the team – to the current milestone phase – to the assigned roles • Process controls how the tools behave 29 © 2008 IBM Corporation Process Awareness (Cont) Process must be highly tweakable to be tolerable – – – Reactive, not controlling Non-intrusive: only when required Helpful: self-explaining, quick fixes Reduce team member mistakes Free the team members minds 30 From the Eclipse Way to Jazz © 2008 IBM Corporation 15 Traceability over… Work Items • Automatic linking…. 31 © 2008 IBM Corporation Traceability… Builds • A Build is a first-class object • Build engine is “pluggable”: – Associated build results, tests – Full navigability to all artifacts contributing to a build, directly or indirectly – Jazz Build Engine, – CruiseControl, – BuildForge, – Maven (incubator)… 32 From the Eclipse Way to Jazz © 2008 IBM Corporation 16 Transparency in… Planning Knowing what is going on without having to ask! • Integrates planning with execution • Easily see what needs to be done, what is being worked • Real-time window on project status 33 Based Basedon ondata datacollected collectedininreal-time real-time from fromactual actualdevelopment developmentwork. work. Always accurate. Always accurate. © 2008 IBM CorporationNo extra effort required to gather data No extra effort required to gather data Transparency in… Planning (Cont.) • Providing visibility into the progress of development efforts outside of the team 34 From the Eclipse Way to Jazz © 2008 IBM Corporation 17 Transparency in… Dashboards/Reports • Scoped by – – – • Viewlet collection – – – – 35 Project Team User Events, feeds Queries, bookmarks Reports with drill down Planning © 2008 IBM Corporation IBM Rational Software Ecosystem © 2008 IBM Corporation From the Eclipse Way to Jazz 18 We are self-hosting since October 2006 Ottawa Beaverton Toronto • Source Control • Reporting • Community Site Zurich • Build • Process • • 2-way 2-wayXeon XeonServer Serverrunning running application applicationserver server(WAS) (WAS)and and another running DB2 another running DB2 • • 100 100developers, developers,20 20testers, testers,88doc doc self-hosting self-hostingon onJazz. Jazz. • • 20,000 20,000change-sets change-sets • • 40,000 40,000work workitems items • • 250 250repository repositoryworkspaces workspaces • • 66K 66Kfiles files • • 10GB 10GBfile filecontent contentuncompressed uncompressed • • Integration Integrationstream streamhas has30K 30Kfiles files • • 40 40builds buildsaaday day • • Weekly Weeklyintegration integrationbuild build 37 • • • • Jazz Development Server UI Foundation Work Items Agile Planning Code Coverage Saint-Nazaire Lexington • Static Analysis Raleigh • Repository • Web UI • Interoperability • Testing • Requirements © 2008 IBM Corporation Jazz.net: Jazz Community Site 38 From the Eclipse Way to Jazz © 2008 IBM Corporation 19 .net Community and Support April 2008: Jazz Community = 3,000 IBMers + 7,000 Non-IBMers = 10,000 Users! 39 © 2008 IBM Corporation .net Community and Support (cont) Open Commercial Development Customers can view the progress of the project Engage with developers / support via forums Open to all Complements the IBM support channel 40 From the Eclipse Way to Jazz © 2008 IBM Corporation 20 IBM Rational Software Roadmap © 2008 IBM Corporation Jazz and Rational Team Concert Timeline 2007 2008 Rational Team 2009 Rational Team Concert Beta 1 Rational Team Concert 1.0 GA Concert 1.0 Fixpacks Rational Team Rational Team Concert Beta 2 Concert 1.5 Beta Drivers Rational Team Concert 1.5 GA Availability of other Jazz-based products: Requirements Definition, Quality Mgmt, Test Lab Mgmt, Enterprise Reporting May: 1.0Beta 3 Apr: 0.6M6 Feb: 0.6M5 Nov: 0.6M4 Oct: 0.6M3 Aug: 0.6M2 Jun: 0.6M1 Jazz Closed Jazz.net Pilot Begins Launch Jazz Team Self hosts Jazz 0.5 2007 42 From the Eclipse Way to Jazz Jazz 0.6 Jazz 1.0 Jazz 0.6 Jazz 1.0 Milestone Drivers Milestone Drivers 2008 © 2008 IBM Corporation 2009 42 21 Rational Team Concert in Mid 2008 SVN CC CQ BF Install Manager – 60 day Eval SVN Zip File SVN Install Manager -60 day Eval Express-C Express Derby DB2 Express, DB2 or Oracle Tomcat Up to 10 Users Authentication Server Level User Permissions Standard DB2 Express, DB2 or Oracle Tomcat or WAS Tomcat or WAS Up to 50 Users Up to 250 Users Authentication User Import and Synchronization Server Level User Permissions Proxy Support – when available as add-on CC/CQ Connectors Express-C and Express are fully-enabled Collaborative ALM environments. They differ only on scale and “high end” capabilities. Each Edition is additive – all capabilities in lower packages are available in higher packages. Customizable Work Items Role-based Process Permissions Reports User Customizable Dashboards Free for qualified Open Source Projects and Academic use 43 © 2008 IBM Corporation Summary Jazz is a vision and technology platform Rational Team Concert is first product based on Jazz Leveraging Open Commercial Development Go to Jazz.net download Rational Team Concert give us feedback! 44 From the Eclipse Way to Jazz © 2008 IBM Corporation 44 22 © 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 products and services are 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. 45 © 2008 IBM Corporation 45 Rational Team Concert in Mid 2008 (cont.) 46 From the Eclipse Way to Jazz © 2008 IBM Corporation 23 Rational Team Concert will add value to Ideally Eclipse Centric Development teams Java/J2EE C/C++ PHP* Eclipse based language plug-ins* Small to medium sized teams 0 - 10 users (Express-C) 10 - 50 (Express) 50 - 250 (Standard) ClearCase and ClearQuest Customers with Connectors Bridge to Subversion via Eclipse 48 From the Eclipse Way to Jazz © 2008 IBM Corporation 48 24 Jazz and Team Concert • Jazz is a technology platform • Rational Team Concert – – • Team Concert is the first Jazz based product Source control, build system, work items Other products will follow Rational Team Concert Free for qualified Open Source Projects and Academic use 49 © 2008 IBM Corporation Collaboration - Team First • Explicit team structure and roles RSS Feed Customize events process for the team or inherit from the project – Contributor can belong to more than one team • Team autonomy – – – – – team owns its process team owns components team has its plans team has its builds team has its streams Builds status • Team awareness Query Result – event feeds per team – presence indication – workload • Chat in context Manage team memberships 50 From the Eclipse Way to Jazz Roles inside Artefact theHyperlinks team Team Workload © 2008 IBM Corporation 25 Customize process for the team or inherit from the project Collaboration Effectively collaborate on software development artifacts • Changes, Baselines, Builds, Plans, Work items… • What is happening – • Manage team memberships and user roles Context – • Scoped feeds Links, history Approvals 51 © 2008 IBM Corporation Foundation: Feeds, Presence • Team central – • Scoped events – – • My events Team events Dashboard – • Team awareness Event viewlets User presence – Integrated online chat My Way your way: Subscribe to event feeds of interest 52 From the Eclipse Way to Jazz © 2008 IBM Corporation 26 Work Items Planning tracking • Tight eclipse integration • Iteration planning – – • From unstructured to structured Work item decomposition Personal planning – My work My Way your way: • Work item types • Workflows • Approvals • Save preconditions 53 © 2008 IBM Corporation Builds • • • Build awareness for developers Build results integrated into eclipse Linkage between – – – – • • • Work item fixed in build Build corresponding to a Build and release change-sets in build Private system builds Build comparison Build promotion, tagging My Way your way: • Build definitions • Build result contributions 54 From the Eclipse Way to Jazz © 2008 IBM Corporation 27 Dashboards/Reports • Scoped by – – – • Project Team User Viewlet collection – – – – Events, feeds Queries, bookmarks Reports with drill down Planning My Way your way: • Create dashboards • Add and customize viewlets 55 © 2008 IBM Corporation Jazz Plans jazz.net: Open Community Work Items News Groups Wiki 56 From the Eclipse Way to Jazz © 2008 IBM Corporation 28 .net Community and Support Open Commercial Development Customers can view the progress of the project Engage with developers/support via forums Open to all Complements the IBM support channel April 2008: Jazz Community = 3,000 IBMers + 7,000 Non-IBMers = 10,000 Users! 57 © 2008 IBM Corporation 57 Getting Started • Go to Jazz.net – – – – Forums Developer Wiki Blogs Install • Jazz workshop • Install – Try the JUnit Sample Project 58 From the Eclipse Way to Jazz © 2008 IBM Corporation 29 Think differently • Current approaches for building tools don’t go far enough “We can't solve problems by using the same kind of thinking we used when we created them.” A. Einstein 59 © 2008 IBM Corporation Transparency in… Development (Project Health) • 60 From the Eclipse Way to Jazz Based on data collected in real-time from actual development work – No extra effort required to gather data – Always accurate © 2008 IBM Corporation 30 Transparency Knowing what is going on without having to ask! • Transparency in planning – – • Transparency in development – – – • available to all live updated automatic linking build results/reports Dashboard Transparency in process – – – team structure team roles team rules 61 © 2008 IBM Corporation Change Sets, Streams, Components • Component based development: – – – Components Base lines Snapshots • Multi-streaming is cheap (branching), • Server side workspaces – – • • • • 62 From the Eclipse Way to Jazz flexible flowing of change sets Enables ad hoc sharing of changes, change set sharing Change-set cherry picking Suspending changes Private versions Refactoring tracking ⇒ enables aggressive/agile refactoring My Way your way: • Customizable flows • Stream levels • Delivery rules © 2008 IBM Corporation 31 Guiding Principles Help people work together to be more effective: • Integration • Team First • Collaboration • Transparency Collaborate with pleasure 63 © 2008 IBM Corporation Integration • • Tools should be invisible Users work and collaborate on tasks Reports Project Mgt. X X X X X X X X X X X X X X following the team’s process starting an ad hoc/dynamic/tiger team Find out if a fix is in the build Tools: Work Items, SCM, Build deliver a change to the team find out if a fix is in the build? run a personal build tracking a broken build X X interrupting development due to a high priority bug fix X X X X tracking the code review of a fix Tracking status X Tools: Build, reports, project mgmt From the Eclipse Way to Jazz X X X tracking status 64 X Interrupt work for priorityX fixX X X Tools: Work items, SCM reconstructing a context for a bug/build failure working on multiple releases concurrently Tools Build X X SCM X what is happening in the team? Work Items joining a team Tasks Joining a team Tools: Work Items, SCM X X X © 2008 IBM Corporation 32 Tools collaboration generally means exponential complexity! Tool A Tool E Tool F Tool B Tool C Tool D 65 © 2008 IBM Corporation By “Integration” we mean… • Tools collaboration based on middleware services – Built on an extensible platform – Using a Common repository Tool A Tool B Tool C Tool D Tool E Tool F Events / Services Adaptive Process Enactment & Continuous Analysis Artifact relationships Team Collaboration Services 66 From the Eclipse Way to Jazz © 2008 IBM Corporation 33 Rational Team Concert Work Items •Bug tracking •Task tracking •Planning •Approvals Source Control •Change Sets •Streams •Baselines Build System •Coverage •Static analysis Adaptive Process Enactment & Continuous Analysis Artifact relationships Foundation: Project Areas, Teams, Users, Process, Chat, Presence, Events, Alerts, Dashboard, Reports, Search Team Concert provides an integrated Collaborative development environment Using a single repository Integrated Version Control, Work Item and a Build System 67 From the Eclipse Way to Jazz 67 © 2008 IBM Corporation 34