BOFs: An Opinion

Wednesday, April 28, 2010

Most conferences nowadays have BOFs, “Birds of a Feather” sessions usually held after-hours on one or more nights of the conference. These are informal get-togethers where folk sit around and talk about a topic. These topics are usually set in advance, either by conference organizers or existing speakers. Like most conference sessions, attendance varies. This is my experience with BOFs, at any rate.

This year, at cf.Objective, Bob Silverberg asked if I’d coordinate a Test-Driven-Development (TDD) BOF with him. I accepted. I expected a handful of people. I was wrong in this expectation. It started small but quickly got way too big for normal BOF comfort. See, the problem isn’t with the number of people who attend: I was thrilled to see so many people. I do not know “how well” we did but I give us a “C”. The reason for this mediocre assessment is the subject of this post.

A BOF should be a place where you, the attendee, go with either A) some interest or B) a burning question. If you’re in Camp A, then all you should expect from a BOF is exposure to ideas. If you’re in Camp B, then I think you should get something approximating an answer to that question. If not “the answer”, then at least guidance. But when BOFs get too big, it’s unlikely you’ll get that. Lots of things stand in your way, probably the most prominent of which is one or two topics (and people) dominating the conversation. It’s what humans do, and I won’t put upon a BOF some expectation that it transcend humanity.

In our BOF, we had at least three burning questions:

  1. What is TDD and how do I get started?
  2. How do I test database interaction (and perhaps other network-bound services)?
  3. How does TDD improve API design? (this is what I wanted to discuss, by the way)

A fourth lingering one was “How do I test ‘the entire app’?”, i.e. how does unit testing differ from integration testing (note that this has nothing to do with TDD at all).

This is simply too many needs to be met in an hour in a traditional BOF.

What a BOF should be

So what should a BOF be? If you’re in Camp B, it should be small and focused. BOFs sprung up lo those many years ago as a reaction to typical eyes-forward conference sessions. They’re a way to bring people together around a topic where everyone gets a chance to talk, not just a speaker. They are a discussion. They attempt to imbue a sense of the “hallway conversation” that conference-goers love to rave about. When BOFs get too big, they have failed this mission. Why is this? Perhaps it’s simply that anything that gets too successful becomes a victim of its own success. Let’s fix this.

How BOFs should be organized

BOFs should not be organized ahead of time, especially by conference organizers or speakers. Oh, I’ll  make an exception for “Meet the Team” events that you get at large conferences like Adobe MAX. Otherwise, they should be organic. This is simpler than it sounds. Here’s a recipe:

  1. At the beginning of the conference, put a chalkboard or whiteboard out in some open space. At smaller conferences like cf.Objective, this is in the lobby adjacent to the conference rooms. In a larger conferences such as MAX, this is … the same thing.
  2. Promote the chalkboard ahead of time, in emails to attendees, signage, Twitter, and other means. Make it obvious that this chalkboard thing is where you go to suggest BOFs
  3. Organizers can put headers on the Chalkboard: D1, D2, D3, C1, C2, “The Bar”, “The Bar with fancy Tequilas”… etc.  These are the available spaces. Call them D1:8pm and D2:9pm if you have multiple time slots
  4. People interested in a topic can write it under one of the slots. People who see a topic they’re interested in can put a line or some other marker underneath a topic to signify their interest in attending. Nothing fancy. Numbers don’t matter. A BOF of two is just as important as a BOF of 10.
  5. At the time of each BOF session, people meet in the room and ask around to see who’s here for what BOF. My gut says self-organization at start time will take no more than 5 minutes

In our TDD BOF, I wish we had course-corrected immediately… I wish we had realized the interests in the room and asked people if they wanted to break out into smaller groups. Unfortunately, at that time, it probably would’ve been too late. We’d have first had to figure out what those interests were and then hope that a leader emerged (by leader, I mean “the person who says ‘let’s go over to this set of chairs’).  If we were more prepared, we could have had an idea of what kinds of things people might be interested in and when we saw the group get large (this didn’t happen until about 10 minutes in, by the way), we could’ve thrown out those topics for show-of-hands and then broken out. But you should already see why this is a failure in the making: it’s an inappropriate time for such a thing, considering by the time “real talk” started, we’d have been 15 minutes into it because ad-hoc organization is always more chaotic than if the organization had been happening – on the chalkboard – all week long.

There is a precedent

If this sounds strange to you… if this violates some sense of control that you feel needs to be exerted by those-in-charge, know that what I’m proposing here isn’t an original thought, and it’s not untested. In fact, entire conferences are run this way (Google “open space conference”). The entire Java Posse roundup is largely run this way, and it’s a smashing success (not because of attendance numbers, but by a far more important criteria… attendee reaction).


You go to an eyes-forward conference and you have a list of topics to attend during normal hours. But you also have a burning question. You put it on a board. One other person comes. You talk for an hour about your shared interest. You might learn something, teach something, make a friend, make an acquaintance, learn “I can’t stand this person”, learn “I want to start a business with this person”. Maybe you yank out a laptop and code for an hour together. You never know where it might lead. It’s unpredictable, and energetic.

That’s the kind of spontaneity that is the hallmark of a great BOF.

Conference organizers: make it happen.


Justice said...

I love the idea Marc, and I agree the TDD bof was somewhere around a C for me too. It was pretty interesting, but to someone like me who a) has limited exposure to unit tests b) has no exposure to selenium tests c) never done any TDD, most of the conversation and ideas being tossed around were at a level I had no way to absorb, and I ended up leaving about mid-way through it.

I love the whole idea of a BOF, and I always encourage audience participation in my talks because I think everyone gets more out of it that way (and move of what they way), so in my mind thats what a BOF should be, a smaller, informal talk like you suggest, where the idea's spark other conversations and it drives the conversation onward.

So yea, I'm totally behind ya on the idea of attendee created bof's. Maybe give a way for people to suggest topics, then someone who knows the topic can volunteer to 'chair' the bof and give it some direction. It sounds like an interesting idea!

Matt Woodward said...

Agree with the "BOF of 2 just as important as a BOF of 10" comment. And I also agree that some spontaneous BOFs would be nice.

I disagree, however, with the general statement that the BOFs should not be organized in advance. If previous conferences are any indication, when the BOFs aren't organized and announced in advance, attendance is beyond poor. So while some spontaneity and additional BOFs would be good, when they aren't organized no one's even around in the BOF timeslots.

The chalkboard scenario you're describing actually has another name: unconference. And I'm all for that as well. In fact, I'd like to see an unconference track at next year's CFO. To me this is a bit different than the BOFs, however, but maybe at the end of the day it's all semantics.

Personally I thought the BOFs I was in were a resounding success this year, particularly the Pecha Kucha one, but the open source one was great as well. Perhaps I'm attributing their success to their organization and inclusion in the program erroneously, but it's hard to ignore that attendance was up by leaps and bounds over previous years when things *weren't* listed in the program.

Bottom line for me is I'd like to see more attendees with an outlet to present on interesting stuff that doesn't make it to the main schedule, and a combination of BOFs (both organized and not) and some aspect of unconference is a great way to achieve this.

Marc Esher said...

Justice, thanks for your feedback.

Matt, good points. As for the Pecha Kucha... that thing isn't a BOF. It's an event. Bob, Jason and I talked about that as well. It needs to be its own thing, on a different night. It's a celebration, and in the future I hope it's treated as such.

Bill said...

While I don't make it to conferences in general, and I definitely wasn't present for the cf.objective conference I can assert that an informal "BoF" type format works.

In my community each week, on Thursday evenings, we do this exact thing except we call it a "Chat-and-Chew" (CnC) The basic idea is to get interested people together to chat about ways to improve our community and to have a little bit to eat or drink while doing it

At the beginning of each CnC the weeks "moderator" (I use that term very loosely) introduces the concept to everyone in attendance and then asks what topics people are there to talk about.

People don't repeat topics that have already been mentioned. Once all unique topics have been announced people break off into little groups to talk about that particular idea.

All of these smaller groups find a spot to chat in the same big room. Thus, if only one person goes to a corner for a specific topic s/he can easily abandon that topic and join into a group that is discussing something else that interests him/her.

The "moderator" is basically done at that point. However, they have one more task - helping late arrivals find a topic of interest. The moderator can join in and participate in any group but they have to keep an eye pealed for those late arrivers.

When a late person shows up the moderator greets them and asks what topic they might be interested in. If they don't have anything specific the moderator can point out what each group is discussing. If they do mention something specific but no group exists for it that new person can either form a group, or, if it is a topic someone else tried to start a group for earlier, the moderator can put the two people in contact with each other. Then the moderator can go back to their topic of interest.

During the course of the evening people might pop in and out of many different topics.

It works wonderfully and has led to over 40 successful projects to help improve our small town; some of the projects have been very ambitious even.

Sean Corfield said...

One of the biggest criticisms cf.Objective() attendees have had in past years was that BOFs weren't organized ahead of time and weren't on the schedule. I think there's a place for the ad hoc nature of discussions you'd like to see but the feedback from conference attendees (both at cf.Objective() and CFUnited) is mainly that BOFs should be *more* organized than less...

ArmchairDeity said...

Hey Marc, thanks for the feedback. It's always nice to get a few ideas from people on how we can improve things .

This being our fifth year, we've had a decent amount of time to interact with our attendees and get an idea of what would make the conference more effective for them. We've always used a similar approach to your suggestion for the BoFs, struggled with frustration and poor attendance, and been told time and time again that the BoFs need to be published ahead of time because otherwise, frankly, nobody comes.

For the first time this year, we selected the BoF topics and published the list before the conference. It drove attendance thru the roof, the BoFs were a huge hit, and (almost) everyone went home happy. You got stuck with a very broad and poorly understood topic, and that sucks.

It's a tough balance we walk between having rooms sit empty that could have had proposed topics in them vs giving people a chance to propose their own. Nothing's stopping anyone from holding a BoF in the hotel bar and tweeting about it. What seems to be the issue is communication, letting people get the word out that they're having an ad-hoc BoF.

The fact that you're not happy with your BoF is definitely reason for us to take a look at improving the BoFs, but not to ignore the success that we felt this year. I can promise you that we'll discuss this again in the steering committee and seriously consider how we can continue to improve the BoFs. I can also promise you we won't entirely discard the pre-compiled, published list of BoFs. We need to build on our successes without going back to a system we've proven 5 times doesn't work well for our audience.

Fair enough?