Lions, Tigers, and Bears: Scrum, XP, and Eclipse

Embed Size (px)

Citation preview

Lions, Tigers, and Bears:
Scrum, XP and Eclipse

David CarverBlog: intellectualcramps.blogspot.comTwitter: kingargyleEmail: [email protected]

[email protected]

Project Experience
PsychoPath Xpath 2.0 Processor

Xpath 2.0 Processor

8300 Unit Tests

Originally Failed over 90 % of Xpath 2.0 Test Suite

3 Part-Time Community Developers not Paid by Members

Project Experience
PsychoPath Xpath 2.0 Processor

Development Time 6 months

Passes 8300 Unit Tests

Test Results, FindBugs Trends, and Duplicate Code Stats available on Hudson.

Project run using Techniques in this Talk.

Adopters Apache Xerces-J for XSD 1.1 Assertion support.

Possible Project Pains

Project PlanningMay not necessarily reflect the work that is happening.

Plan is produced 3 months into the Development.

Not all features done have a corresponding bugzilla

Time for IP approval

Developer Bug Assignment/ManagementToo many bugs ASSIGNED to a Developer

Too many bugs that LOOK like they are being fixed but are not.

Possible Project Pains

Features Emphasised over Bug Fixes

Failure to have Unit Tests or Functional Tests

Developer/User Documentation is treated as an after thought

No Frequent ReleasesMaybe once a year is too long for your community?

Becoming Popular/SuccessfulTime and Resources are limited.

Communication

The Agile Manifestoa statement of values

Process and toolsIndividuals and interactionsoverFollowing a planResponding to changeoverMountain Goat Software and www.agilemanifesto.orgComprehensive documentationWorking softwareoverContract negotiationCustomer collaborationover

Project Planning

Eclipse Project Development Process

Does NOT equal the Eclipse Development Process

Source: Eric Gamma - How (7 years of) Eclipse Changed my Views on Software Development InfoQ

Scrum In Pictures

Image available at www.mountaingoatsoftware.com/scrum

Product Backlog

Contains the Features and Bugs for the Product

Manages by the Product Owner.Community votes weigh more than individual company needs.

Reviewed and reprioritized by the Product Owner before the start of the next iteration.

Sprint Backlog

Contains a mixture of bugs and features

Prioritized by the Product Owner/Community.

The work that is PLANNED to be done during an iteration.

TEAM reviews at the very beginning of an iteration.Sprint planning should take no more than a Day. Ideally less.

Make the Backlog easily viewable consumable by the Community.

No changes during a sprint

Plan sprint durations around how long you can commit to keeping change out of the sprint

Change

Eclipse Bug/Feature/Task Assignment on WST.XSL

Only Assign a task during the iteration it is being worked on.

Allows for clear communication to the community

Shows what is ACTUALLY being worked on

Keeps Developer/Committer backlog manageable

Review at the end of each iteration and before the next iteration begins. Re-evaluate the backlog.

Technical Practices

Software Craftsmanship

Not only working software,but also well-crafted software

Not only responding to change,but also steadily adding value

Not only individuals and interactions,but also a community of professionals

Not only customer collaboration,but also productive partnerships

That is, in pursuit of the items on the left we have found the items on the right to be indispensable.

Builds

Continuous Integration Builds need to be fast30 Minutes or less

If a build fails, FIX IT before anything else.

Write Unit Tests.

Integrate with Source Control Daily, Hourly, as often as possible.Most failures happen from poor integration practices.

Make the Build Results Public...Communicate the Health of your Builds

Communicate Project Health

XP Concepts

Unit Tests Test Drive Development if Possible.

Continuous IntegrationSynchronize Daily with the Repository.

Only check in code that passes tests.

Work is not completed until all tests pass on both your machine and the build machine.

Fix Failing Tests as soon as they happen. There is no such thing as a random failure.

Do not be afraid to Refactor. Tests can allow you to refactor ugly code to Clean maintanable code.

Additional Resources

BooksAgile Estimating and Planning Mike Cohn

Clean Code Robert Martin

Refactoring Martin Fowler

Web SitesExtreme Programming

Scrum Alliance

Mountain Goat Software

Eclipse Development Process

Muokkaa otsikon tekstimuotoa napsauttamalla

Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso