Agile's Too Slow: Developing a Facebook App for the Obama Campaign - Andy Slocum
Andy worked on the Facebook application for the Obama campaign. In two months they build a Facebook app that could assist users in encouraging their friends to register and vote. There where only two people on the project and they came in with the common ideas of XP: continuous integration, weekly iterations, story estimates, developer testing, etc.
Except that all of the above was way too heavy for the Obama campaign's pace. They'd have an Iteration planning meeting on Monday and by the Tuesday it was out of date because so much had changed. Also Facebook apps don't really run very well outside of Facebook so they could only write tests around code that was completely isolated from the Facebook stuff. So they basically moved to a lean process with priorities set at the standup meeting every day. They also ditched the idea of continuous integration as there were only two people to integrate.
An interesting part of the presentation was about the lack of privacy in Facebook. Any Facebook app can get the birth date, state of residence, and name of any user and all their friends. So the Obama app could use existing voter registration databases to figure out if a user's friends were already registered.
They deployed the application multiple times a day. Their load testing was asking one of the stakeholders, who had over a thousand Facebook friends, to test out the new features.
The Ogre and the Wimp: Cleaver Influencing Tricks - Help the Most Reluctant Teams -- Anda Abramovici
This talk was about how to introduce agile practices to particularly stubborn developers. Anda was a consultant on project where she had a bunch of developers who didn't want to pair or use TDD. She conspired with an upper level manager known for her toughness to come in and play the Ogre while she played the wimp. She would join the team and pretend to be just as unhappy and resistant to TDD and Pairing as the rest, but then the Ogre would come in and demand that the team increase it's test coverage. Then she'd feign resistance while helping the developers respond to the 'crazy' demands of the Ogre.
Later they conspired to move a bunch of equipment into Anda's workstation so she had no place to sit. So she shared an station with another developer. Eventually they started pairing.
They also recommended using free drinks to help the wimp bond with her new team.
All this seemed a little dishonest to me and has a large chance of backfiring if the wimp was ever found out as an agile advocate. It did, however, work for them.
Slow and Brittle: Replacing End to End testing -- Arlo Belshee and James Shore
This was a workshop where we discussed the problems of End to End testing (they tend to be, uh, slow and brittle) and possible solutions. I had to leave to catch my flight to Austin (I'm on a plane to Lone Star Ruby Conf as I type this) before the end so I'm interested to hear what they came up with. One of the answers was the idea of giving up on trying to test all paths in an End to End test and focusing on unit tests and an abbreviated 'smoke test' suite that is forbidden to go above 5 minutes. There was quite a lot of passion in the room.
OK, I'm exhausted. Time to hit 'Publish Post' and relax for a bit as tomorrow will be my third conference in as many days.
Subscribe to:
Post Comments (Atom)
About Me
Backstop Solutions (current job)
Obtiva (old job)
ThoughtWorks (old job)
Object Mentor (apprentice)
Apprenticeship at Object Mentor Blog
Obtiva (old job)
ThoughtWorks (old job)
Object Mentor (apprentice)
Apprenticeship at Object Mentor Blog
Blog Archive
- December 2010 (1)
- August 2010 (3)
- July 2010 (5)
- June 2010 (4)
- May 2010 (4)
- August 2009 (21)
- July 2009 (22)
- June 2009 (19)
- May 2009 (12)
- April 2009 (12)
- March 2009 (4)
- January 2009 (1)
- December 2008 (1)
- November 2008 (12)
- October 2008 (2)
- September 2008 (10)
- August 2008 (5)
- June 2008 (3)
- May 2008 (3)
- April 2008 (2)
- March 2008 (3)
- February 2008 (2)
- January 2008 (5)
- November 2007 (1)
- October 2007 (1)
- September 2007 (1)
- August 2007 (6)
- July 2007 (3)
- June 2007 (4)
- May 2007 (5)
- April 2007 (4)
- March 2007 (10)
- February 2007 (13)
- January 2007 (7)
Categories-
- Code (61)
- Apprenticeship (57)
- Rails (53)
- commentary (48)
- Ruby (31)
- RSpec (20)
- Metrics (17)
- metric_fu (13)
- Flog (9)
- complexity (9)
- testing (9)
- RailsConf2009 (8)
- git (8)
- RubyConf2008 (7)
- test_coverage (7)
- Bugs (6)
- Mocking (6)
- craftsman_swap (6)
- not_code (6)
- Agile2009 (5)
- Amazon (5)
- refactoring (5)
- ActiveRecord (4)
- JRuby (4)
- Linux (4)
- LoneStarRubyConf2008 (4)
- RailsConf2010 (4)
- Saikuro (4)
- XP (4)
- churn (4)
- design (4)
- Fixtures (3)
- LoneStarRubyConf2009 (3)
- Math (3)
- Obtiva (3)
- RailsConf2007 (3)
- Rake (3)
- Rcov (3)
- RubyKaigi2010 (3)
- RubyMidwest2010 (3)
- Svn (3)
- legacy_code (3)
- Flay (2)
- GLSEC (2)
- Mingle (2)
- SQuiD (2)
- TextMate (2)
- Windows (2)
- WindyCityRails (2)
- javascript (2)
- lean (2)
- Backstop (1)
- Bundler (1)
- DUST (1)
- EVDO (1)
- GC (1)
- IO (1)
- MacRuby (1)
- MongoDB (1)
- OSS (1)
- OSX (1)
- Routes (1)
- RubyWorks (1)
- Tomcat (1)
- attachment_fu (1)
- cache-fu (1)
- citcon (1)
- consulting (1)
- craftsmanship (1)
- css (1)
- db (1)
- iPhone (1)
- interview (1)
- mac (1)
- memcached (1)
- memprof (1)
- oracle (1)
- ord_sessions (1)
- ostatus (1)
- pairing (1)
- redis (1)
- restful_authentication (1)
- singleton_class (1)



0 comments:
Post a Comment