2011 Wikimedia fundraiser/sprints

This page is intended to serve as high-level documentation of development sprints for the 2011 fundraiser. At the end of each development sprint, we hold a retrospective meeting, where the team answers the following questions:


 * What worked well during the sprint?
 * What did not work well during the sprint?

Answers to 'what did not work well' are assigned an 'owner' who is responsible for overseeing the improvement of the problem. If, by the end of the next sprint the problem is not resolved, it remains listed under 'what did not work well'.

The answers to these questions are documented for each sprint (see below), as well as any high-level notes about the sprint in question.

Sprint 8
20 September, 2011 - 4 October 2011

In progress

Sprint 7
6 September, 2011 - 20 September, 2011

What worked

 * Real, recorded user testing of potential credit card forms
 * Pair programming
 * Our 'agility' - adjusting on the fly to changing situations without sacraficing throughput
 * Team dynamic
 * Effective targetting/selection of work to be done
 * Having a burnup chart
 * Acceptance criteria on

What didn't

 * Code review and deployment still a major bottleneck
 * Implement mandatory code review/code hygiene day (Owner: Arthur)
 * Getting answers from Global Collect is slow, API docs misleading, we occasionally get untrue answers, finding the truth requires hacking, discovering hidden fees
 * Get financial estimates to determine projected cost of using Global Collect (Owner: James)
 * Review documentation for any more potential 'gotchas' and any ambiguity (Owner: Katie)
 * Review latest documentation for inconsistencies (Owner: Jeremy)
 * Generate list of our known needs for what we must accomplish for full GC integration (Owner: Katie/Kaldari)
 * Get to the bottom of the 'Portugese bug' [Occasionally displaying iframe contents in language other than English...] (Owner: Kaldari)

Sprint 6
23 August, 2011 - 6 September, 2011

What worked

 * Better integration of analytics engineering with the rest of the engineering team
 * Having the business analyst handle external requests for one-off requirements, which increased developer focus and reduced expensive context switching
 * Whiteboarding/brainstorming sessions for new engineering challenges
 * Smooth deployments
 * Branching the DonationInterface extension for new feature development to not pollute trunk.

What didn't

 * Business analyst could make acceptance criteria clearer
 * Have a separate engineering kick-off meeting for analytics engineering (Owner: James)
 * Review dev-ready story cards with engineers during sprint kick-off (Owner: James)
 * Not getting code review performed quickly enough by people outside of the fundraiser engineering team
 * Tag fundraiser engineering related revisions that need code review with 'fundraising' (Owner: Arthur)
 * Email URL to 'fundraising' tagged revisions to the Fundraising team for internal code review (Owner: Arthur)

Sprint 5
16 August, 2011 - 23 August, 2011

View Sprint 5 in Mingle.

What worked

 * There was exactly enough work to do
 * Performing code review internally amongst the team
 * Starting to bring Ryan Faulkner back into the rest of the development cycle

What didn't

 * Mingle flow/acceptance criteria for Faulkner (analytics) (Owner: James/Faulkner)
 * Getting Faulkner and his analytics integrated with the the rest of the development cycle (Owner: James/Arthur)
 * Get the entire development team to a point of self-sufficiency for code review (Owner: Arthur)
 * Make acceptance criteria clearer (Owner: James)
 * Improve accuracy of story point estemation (Owner: James)
 * Have all operations-related issues managed by Jeff (Owner: Arthur)

Sprints 3 & 4
19 July, 2011 - 2 August, 2011 & 2 August, 2011 - 16 August, 2011

View Sprint 4 in Mingle.

These sprints are combined as we did not have a retrospective/kick off for Sprint 3 due to vacation/Wikimania travel.

What worked

 * Pre-commit code review
 * Lots accomplished in spite of obstacles (eg vacation, Wikimania)
 * Arthur had lots of dev time during sprint 3

What didn't

 * Mingle flow/acceptance criteria for Faulkner (analytics) (Owner: James/Faulkner)
 * Getting Faulkner and his analytics integrated with the the rest of the development cycle (Owner: James/Arthur)
 * Community visibility (Owner: Arthur)
 * Lack of clarity in acceptance criteria (Owner: James)
 * Poor story points estimation (Owner: James)

Sprint 2
5 July, 2011 - 19 July, 2011

What didn't

 * Mingle flow/acceptance criteria for Faulkner (analytics) (Owner: James/Faulkner)

Sprint 1
20 June, 2011 - 5 July, 2011

What worked

 * Deployment at the beginning of sprint
 * Lack of WikiLove sucking up Kaldari's time
 * Feedback process shaping future cards
 * Mingle
 * Unit testing!

What didn't

 * Deployment documentation out of date (Owner: Arthur)

Sprint 0
13 June, 2011 - 20 June, 2011

What worked

 * Story cards were well defined
 * Zack didn't have to do anything
 * Daily stand-ups
 * Mingle
 * Including Pats remotely for stand-ups
 * Breaking story cards into tasks
 * Pair programming
 * Code review
 * Business analys (James) rocks

What didn't

 * Speak up during standups for phone participants (Owner: Arthur)
 * Factoring in external responsibilities during sprint planning (Owner: James)
 * Didn't get Arthur enough development time (Owner: Arthur and James)
 * Deployment documentation out of date (Owner: Arthur)
 * Lack of clarity for the next sprint (Owner: James)