Transcript
Page 1: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

1

© 2006 IBM Corporation11

Collaborative Software DevelopmentDeveloping Software like a Band Plays Jazz

Dr. Erich GammaDistinguished EngineerJazz Technical [email protected]

© 2006 IBM Corporation22

Our Journey: XDE -> CDE

Eclipse Way

Page 2: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

2

© 2006 IBM Corporation33

� An effort to create a scalable, extensible team collaboration platform.

� A vision for the future of software delivery – supporting a workforce that is organizationally and globally distributed.

� A community at Jazz.net – the online venue for open commercial development of Jazz-based products.

The Jazz Project

© 2006 IBM Corporation44

Jazz and Team Concert

� Jazz is a technology platform

� Rational Team Concert is the first Jazz product

Page 3: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

3

© 2006 IBM Corporation55

Collaborative Development Environments

� Guiding Principles for Team Concert

– Integration of work flows and artifacts

– Team First – the tools know about the team

– Collaboration on artifacts/work products following the rules of the team (Process)

– Transparency/visibility into what is happening in project for everybody

The purpose of a Collaborative Development Environment is to create a frictionless surface for development by eliminating or automating many of the daily, non-creative activities of the individual and the team and by providing mechanisms that encourage creative, healthy, and high-bandwidth modes of communication among a project’s stakeholders – Grady Booch

© 2006 IBM Corporation66

Team Concert

Build� Continuous integration

� Build engine

� Work Item and Change Set Traceability

� Run Personal Builds

� Integration with Build Forge

SCM� Change sets

� Suspending changes

� Workspaces, Streams

� Components, Baselines

� Snapshots

� ClearCase Connector,SVN Bridge

Work Items� Defects, Enhancements

� Task tracking

� Approvals

� Iteration planning

� Workflow customization

� ClearQuest Connector

� Project, Teams, Users

� Process enactment, customization, role based permissions

� In-context Collaboration, Events, Presence

Project Health� Reports

� Dashboards (project, team, personal)

Page 4: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

4

© 2006 IBM Corporation77

Integration

– Tools should be invisible

– Users work and collaborate on tasks

• Integrated flows• Linked artifacts

XXtracking the code review of a fix

XXXtracking status

XXXworking on multiple releases concurrently

XXinterrupting development due to a high priority bug fix

XXxreconstructing a context for a bug/build failure

XXtracking a broken build

XXrun a personal build

XXXfind out if a fix is in the build?

XXXXFix a bug

XXXstarting an ad hoc/dynamic/tiger team

XXXfollowing the team’s process

XXXXXwhat is happening in the team?

XXXjoining a team

Project

Mgt.

Reports

Build

SC

M

Work

Items

Tools

Tasks

© 2006 IBM Corporation88

Integration: Tracing Artifacts

Work Item

IterationPlan

Build

Release

Change SetSnapshotUser

Stream

Artifacts

subscribesapprovesreviews related

implements

promoted

built from

found in

plannedfor

included

reportedagainst

included

included

Workspace

change flow

� Work items track work and issues

Page 5: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

5

© 2006 IBM Corporation99

Team First

Members

Build

Release/Iteration Plan

Categories

Streams

Queries

Events

has

produces

definesgenerates

worksin

is responsible

shares

Process

Team

followsowns

� Tools know the Team

� Each team is different

© 2006 IBM Corporation1010

Team First: Scoped Collaboration

� Multiple level of information visibility

� Isolation levels:

– individual user

– team

– teams of teams

� Distributedteams Team Team

Team of Teams

Page 6: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

6

© 2006 IBM Corporation1111

Notifications

� RSS feeds enable everybody to be informed of changes

� Feeds for the:

– individual user

– team

– team of teams

© 2006 IBM Corporation1212

Rules/Process

� All collaborations have underlying context specific rules and patterns

� Each project follows a process

� Each team is unique and thus can work differently ⇒⇒⇒⇒ Team’s own their process

� Team members play roles defined by the process

Page 7: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

7

© 2006 IBM Corporation1313

Process

� Process manifested through:

– artifact types and their states

– role-specific preconditions and follow-up actions on operations manipulating artifacts

– artifact change events

– role-specific and permissions

Eclipse Way

Scrum

OpenUP

© 2006 IBM Corporation1414

Transparency/Visibility: Dashboards

� Knowing what is going on without having to ask

� At a glance view on team artifacts

� Three dashboard types:

– project

– team

– individual user

Viewlets

Page 8: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

8

© 2006 IBM Corporation1515

A Personal Dashboard

© 2006 IBM Corporation1616

A Team Dashboard

Page 9: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

9

© 2006 IBM Corporation1717

Team of Teams Dashboard

© 2006 IBM Corporation1818

Team of Teams Dashboard

Page 10: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

10

© 2006 IBM Corporation1919

Video Demo: Joining a Team

© 2006 IBM Corporation2020

Support for Scalable Agile Development

� Eclipse/RAD supports agile practices for a team member

– Refactoring

– Unit testing, test coverage

� Team Concert provides agility for a team

– Teams

– Process templates

– Iteration planning

– Continuous integration

– Agile SCM practices

– Visibility/transparency

Page 11: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

11

© 2006 IBM Corporation2121

Process Templates

� Different agile templatesavailable:

– Agile

– Scrum

– OpenUP

– Eclipse Way

� Agile process specific work item types

� Process can be tweakedat any time

© 2006 IBM Corporation2222

Teams

� Easy to set-up easy to get started

– Dynamic teams,Fluid teams

� Team owns its process

Page 12: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

12

© 2006 IBM Corporation2323

Iteration Planning

� Planning integrated with bug/defect tracking

– Process template defines process specific work item types

� Work break down(Stories, Tasks)

� Work load ofteam members

© 2006 IBM Corporation2424

Iteration Planning applied for Scrum

Page 13: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

13

© 2006 IBM Corporation2525

Visibility: Reports/Dashboards

� Burndown charts

� Configurable dashboards

� Visibility for everyone

© 2006 IBM Corporation2626

Continuous Integration– Build results integrated into

eclipse

– Build awareness

– Linkage between

•Work item fixed in build

•Build corresponding to a•Build and release•change-sets in build

– Personal builds

Page 14: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

14

© 2006 IBM Corporation2727

Green Builds: Build Tracking Item

Build Result

Work Item

Dashboard

© 2006 IBM Corporation2828

Build Status Tracking

Page 15: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

15

© 2006 IBM Corporation2929

Build and Test Health

© 2006 IBM Corporation3030

Test Health

Page 16: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

16

© 2006 IBM Corporation3131

Agile SCM Best Practices*

� Jazz SCM supports agile best practices

� Easy collaboration on change sets– Attach to work item

� Refactoring tracking ⇒⇒⇒⇒ enables aggressive/agile refactoring

� Private versions

� Delivery rules

� Suspending changes

� And more…

* Software Configuration Management, Patterns: Effective Teamwork, Practical IntegrationBy Steve Berczuk with Brad Appleton Published by Addison-Wesley

© 2006 IBM Corporation3232

Summary: Agile Practice Coverage

IterationsSprints

ProductBacklog

Retrospectives

ContinuousIntegration

Integration Build

Private System Build

RefactoringPair programming

Private workspace

Task level commit

Burndown

Code line Policy

Unit Test

Sprint ReviewMeeting

Daily Stand-up

Stories

Smoke Test

AcceptanceTest Private

Versioning

Test First

Onsite Customer

Task Branch

Agile SCM Patterns*

XP

Scrum

Impediments

Page 17: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

17

© 2006 IBM Corporation3333

Integrations with Others

33

Import Bridge Connectors

CVS or SVN repository

Bugzilla repository

Jazz Repository

One way data migration

Subversion repository

Jazz Repository

SVN Bridge links work items with change sets.

Mylin repository connector (incubator)

ClearCase (Base and UCM)

Two way data synchronization

Jazz Repository

© 2006 IBM Corporation3434

New & Noteworthy since Beta 1

� SCM

– Subversion bridge

– Version graph

– Command line

� Web UI

– Dashboard

� Process

– Process editors

– Scrum, Agile process templates

� Work items

– Link queries

– Mylin Incubator

� Jazz Team Server

– LDAP

– Permissions

– Oracle support

– Server administration

� Planning

– Team load, My work view

� Build

– Personal builds

– “Found in” links

Page 18: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

18

© 2006 IBM Corporation3535

www.jazz.net the Jazz community

© 2006 IBM Corporation3636

Getting Started

� Go to Jazz.net

– Browse the forums

– Read the Blogs

� Explore the JUnitSample Project

– Read the sampleguide

Page 19: Collaborative Software Development Developing Software ...alt.java-forum-stuttgart.de/jfs/2008/folien/B6.pdf · Collaborative Software Development Developing Software like a Band

19

© 2006 IBM Corporation3737

Conclusions

� Jazz and Team Concert is developed and used by a globally distributed team

� RTC scales from small teams up to significant effor ts

� Experiences

– we have become more continuous

– things important to us we make explicit

– increased awareness

– improved practices

Effortless access to assets, notifications, reporti ng, and tracking for everybody from anywhere


Top Related