If you can't read please download the document
Upload
kingargyle
View
1.947
Download
0
Embed Size (px)
Citation preview
Lions, Tigers, and Bears:
Scrum, XP and Eclipse
David CarverBlog: intellectualcramps.blogspot.comTwitter: kingargyleEmail: [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