Skip to content

Sara Ford's WebLog
Syndicate content
My adventures embracing open source on CodePlex and at Microsoft
Updated: 12 hours 4 min ago

Video of My Last Iteration Planning Meeting with CodePlex

Tue, 03/09/2010 - 21:55

Right before I left CodePlex, I filmed my last Iteration Planning Meeting with the team to give you a bird’s eye view into the day in the life of an Agile Program Manager. I did this because last year at the MVP 09 Summit, I invited MVPs to sit in on our IPM. They said they greatly enjoyed watching how we did agile, so I’ve always wanted to video on of our IPMs and put it on the web. Fortunately, I was able to film my last IPM. Better late than never!

The IPM is where we review the weekly work with the team and make any necessary adjustments. For this specific IPM, we were starting an I3 week, which means we reviewed the completed feature work of I2 and would only do bug fixes and other tweaks in I3. (See above link for explanation of I2 and I3 weeks).

I separated our IPM into two parts (videos below):

  1. Review of the work for the week – mostly bug fixes
  2. Review of work that was finished in the previous week – demos

This IPM occurred after the Mercurial deployment in preparation for the Sync’ing Source Code tab with Releases Tab deployment.

I had been wanting to do this sync’ing of change sets and releases tabs for literally years, so it was only fitting that i did it as my final deployment on the team. The idea behind this feature is that you will never again see “No Source Code” in the Source Code tab if the project owner checked his/her sources into the Releases tab. Instead, we carry over the source code from the Releases tab into the Source Code tab. (IMO, the Source Code tab should have always been Source Control *or* we force people to upload source code there, but I digress since this is a moot point now).

Part 1 – Review of work for I3 – In the video below, note we’re just doing bug fixes and tweaks. And note that we’re using the CodePlex software internally to keep track of our work items.

Part 2 – Review of completed work in I2 – Below we’re demo’ing to one another all the new work that would go out in this release, including the Sync’ing Release tab and Source Code tab and the new help page.

Enjoy! And Geaux Agile!

Categories: Companies

My First Week as a Developer Evangelist

Mon, 03/08/2010 - 02:57

I thought it would be fun to share what it was like my first week making the transition from Redmond to Silicon Valley in my new role. And more importantly, I thought it would be fun to explain publicly to my uncle back in Mississippi that my job isn’t to pray for the developers of the world. =D

Last weekend

I got off the plane from Seattle on Thursday afternoon, so Friday and Saturday I attended Dare2BeDigital with Lynn Langit and her crew from Southern California. (Yes, my new team put me right to work!)

Two cool things I learned from Dare2BeDigital were Small Basic and Scratch.

Small Basic is basically a super lightweight IDE, similar to Visual Studio but for kids. We coded against a Turtle object to make it move in certain directions and with certain colors, kinda like a glorified etch-a-sketch. This IDE even comes with its own IntelliSense.

Small Basic was one of the coolest things I’ve seen in quite some time, but then again I’m bias towards anything Visual Studio-like. Definitely check it out if you have kids at home.

Small Basic IDE

Scratch is a programming environment where kids can drag and drop flow logic (instead of having to write the code themselves) to program an object (aka a “Sprite”) as shown below from their getting started guide. The default Sprite is the yellow cat you see below.

What really makes Scratch really cool is how many games/applications built with it are out there to explore and “remix” (as they say on the website), especially since the scripts for the games/apps are provided as the download.

Scratch IDE

Again, another “must check out” if you have kids at home.

I also got the chance to meet a lot of folks like Sunshine Mugrabi (we’re going to have lunch sometime), Van Riper (who is helping to organize CLS this year!!!), and Peter Kellner (a MVP who is giving me lots of cycling tips for the area), and Tammy Kellner (who got me animal balloons to make for the kids).

Sunday

I spent Sunday disconnected from work exploring Santa Cruz. It reminded me of home, minus the surfers and big waves and salsa dancers.

Monday 

I had a house hunting trip to explore the areas I wanted to live in. The bad news was that I got food poisoning from lunch that day. The good news the food poisoning didn’t hit me until several hours after training at my new karate dojo that night.

Tuesday

I made it to the Microsoft Silicon Valley Campus for the first time. I had my Mid Year Career Discussion with my new manager that morning. It was kinda ironic to have a mid-year career discussion on your first day at the office (recall this was an internal transfer within Microsoft). But considering the mid-point is really to talk about career goals, it gave me a chance to explain to my new manager what I want to do when I grow up.

I met my officemate Joel who is focusing on startups in the area. And after a quick trip to San Jose Airport, I retrieved my lost reading glasses from the plane. (Thanks Alaska Air!) When I got back, Joel also gave me a tour of the campus. It was surreal to be on a very mini version of the Redmond campus that is warm and sunny in March. It was also surreal to see a Google security car driving down the street just a few blocks away.

Joel introduced me to the Hacker Dojo later that evening. It is a non-profit that runs a house for folks to go hang out and code, including free wifi and power. The organization runs purely on donations. There are lots of events that happen there. I was invited to an event upstairs, but considering the food poisoning event of the night before, I had to decline so I could go home and sleep.

And for the record, I’m okay with this being called a “Dojo” since it is a training facility. See! I’m not unreasonable! =D However, just be careful if you ask me if I’m going to the dojo tonight, because if you do not specify an adjective, I will default to my karate dojo.

Wednesday

Finally, after a full night’s sleep and my reading glasses with me, I had my first almost 9-5 day at the office (it was really a 9am-midnight day, but who is counting?) The morning was spent mostly responding to email from the past week. But I have to say, I’ve gone from 250 emails a day as Program Manager of CodePlex to less than 10 a day in my new role. But everyone around me keeps laughing, saying “Just give it time.”

I left the office at 4:15 to head to East Bay .NET, which is located in “East Bay” (and for the record I live and work in “South Bay”). This was my first experience with a GPS Navigation system. OMG, how have I been functioning all my life without one?!! Thank you Kenny (an Academic Evangelist for the area) for letting me borrow yours. I purchased my own GPS Navigation system this weekend. It has improved my quality of life by 10x, if not 100x.

I made it to East Bay .NET at 6:10pm, just a few minutes late. It was my first introduction to Silicon Valley rush hour. We had an insane about of famous geeks in that room, which included Beth Massi, Robin Shahan, Ward Bell, Kathleen Dollard, and Julie Lerman.

I had a great time meeting folks, like Peter Tweed and Deborah Kurata (who runs East Bay .NET).

I got home well after midnight.

Thursday

After working on some upcoming conference planning (OSBC, EclipseCon – I can’t believe i get to go to these conferences now as a part of my day job! I’m a very lucky and happy geek.), I spent the afternoon being tutored 1-1 on using Entity Framework and SQL Server. I have *a lot* of technologies to get ramped up on.

That afternoon, I was on a conference call with Jono Bacon planning the upcoming Community Leadership Summit in July the weekend before OSCON. (And yes, that’s me in the photo playing close attention =). I had a great time last year, so I leaped at the opportunity to help organize the event this year. And of course, since my life is the mathematical proof of Murphy’s law, my cell phone decides to stop working in the middle of the conference call. I’ve never had a BlackJack II stop playing audio while at the same time freeze the UI so I couldn’t hang up. I had to cold reboot the phone (yes, cold reboot as in removing the battery) to dial back. But, still no audio, so I picked up a landline phone. I was so embarrassed, but everyone on the call was cool with giving me a quick recap.

I was invited back to the Hacker Dojo for an Ignite get together, but I declined because I made a commitment to go to karate at least 2x a week. Not knowing too much about Ignite, I figured there would be other Ignite talks I could attend in the upcoming months. Nothing like trial and error first week on the job.

Friday

I got to work only to realize I left my power adapter in East Bay earlier in the week (an hour’s drive away, if not more). And since everything I own is in storage, including my 2 other spare power adapters, I once again conceded to Murphy’s law. Fortunately, the IT folks here had an extra power adapter to loan me for the day, so these guys here totally rock.

I spent the morning installing Visual Studio 2010 Release Candidate, but when I fired it up, I hit the rainbow bug. 

Visual Studio Rainbow Bug

I about had a heart attack. Fortunately, I guessed it was something to do with the VS color service, and then I realized I had been using the Color Theme extension for Beta 2. And sure enough, the extension’s blog post listed the workaround.

I spent the afternoon reading Professional ASP.NET MVC 1.0 (I figured I needed to start somewhere getting ramped up, instead of wasting time trying to figure out where to start.). I’m using VS 2008 to follow along step by step, which is really making me miss some of the new features in VS 2010.

Weekend

Considering I was practically gone the entire month of February, from leaving CodePlex, watching the Superbowl, celebrating Mardi Gras holidays back home, attending MVP Summit, and relocating to CA, I’m a bit behind where I want to be for my DevDays Netherlands talks at the end of the month. I need to write a completely new talk, so that’s my Sunday night project.

But, I made sure to spend all day Saturday and Sunday in the nice warm California sunshine. Natural skin tone, here I come!

Categories: Companies

Happy Lombardi Gras!!

Fri, 02/12/2010 - 21:27

It’s like waiting 43 years for someone to tell you ‘I love you’ back. – Superbowl Pregame Show.

What a week.

I flew down Saturday morning to join family in the French Quarter. A cousin booked a hotel room with a balcony on Bourbon Street for Superbowl weekend way back in October. What an incredible experience to be right there in that number when the Saints went marching in.

This photo was taken by me, hence the poor quality, which may not be a bad thing. =D

Bourbon Street right after Saints winning Superbowl

All around New Orleans folks were honking horns, shooting fireworks, hugging one another. Everywhere you went in the city that night was a sea of black and gold.

My cousin sent the New Orleans TV crew WWL “Pigs are flying” mardi gras beads. The news anchors were so thrilled by them that they showed them on the news, twice (once in Miami and once in New Orleans). We were beyond thrilled.

Flying Pig beads

Maybe it was the Saints or maybe it was the City of New Orleans, but whoever it was, someone had great insight to plan a Saints parade (win or lose) on Tuesday after the Superbowl. We called that day Lombardi Gras.

Parade organizers estimate 800,000 were in attendance. To put that number into perspective, approximately 250k-300k live in New Orleans. And it was cold. Very cold for New Orleans standards. So cold in fact, it started to snow today, but that’s what happens when the Saints win the superbowl and pigs fly.

Just as if we couldn’t adore Drew Brees any more (we’ve already turned his home into a shrine), after the Saints parade, he unexpectedly dropped by a local bar in New Orleans right off parade route to hang out and teach the crowd the pre-game chant.

Who Dat? We Dat! “New Orleans is back” – Tom Benson, owner of the Saints.

Categories: Companies

CodePlex banner does Who Dat Chant at Greater New Orleans .NET User Group

Fri, 02/12/2010 - 20:44

On Wednesday night, I spoke at the Greater New Orleans .NET User Group http://www.gnonug.org/. Thanks to George Mauer for organizing and to our sponsor Antares Technology Solutions for organizing dinner.

I was very happy with the turnout, considering the construction, the Krewe of Thor parade, a fatality accident on I-10 East, and the Saints parade being the night before. I talked for 2 hours on CodePlex and Visual Studio. A glass of Purple Haze Abita Beer (a New Orleans classic brew) never tasted so good afterwards.

In keeping with my tradition of taking the CodePlex banner with me wherever I go, a few of us Who Dats got together afterwards to do a Saints chat.

Categories: Companies

Who Dat Nation Invades Microsoft’s Channel 9

Sat, 02/06/2010 - 15:09

I’m sitting here in the Memphis airport at the terminal gate for New Orleans. Having gone 17 weeks without seeing a single Saints fan, you’d think each person wearing a Fleur de Lis football jersey was a long lost family member of mine, as I run up to them hugging them screaming Who Dat as if it were some Cajun form of “Hello, I wish you well.” In fact, it is precisely that.

To discuss my last day on CodePlex, I chatted with Dan Fernandez on Channel 9 and introduced him to the Who Dat Nation. Dan has known me for years, so he wasn’t surprised when he saw me putting on my Mardi Gras gear in the parking lot.

Get Microsoft Silverlight

URL: http://channel9.msdn.com/shows/This+Week+On+Channel+9/TWC9-Sara-Ford-recognize-touch-gestures-make-Windows-7-into-a-hotspot/

Who Dat!

And Happy Mardi Gras!

Categories: Companies

How Agile Works – My Program Manager Cheat Sheet

Thu, 02/04/2010 - 20:04

While cleaning out my office in preparation for my big move to California, I ran across my Agile Program Manager “cheat sheet.” I had to laugh because as I reviewed the document, i thought to myself “This makes so much sense. How did i never get this before?”

When I first joined CodePlex, I was going out of my mind insane trying to figure out what my daily PM responsibilities were. So, in typical Sara Ford-like fashion, I told Jim Newkirk we weren’t going to end our 1-1 weekly meeting until he had outlined what was expected of me as a PM each step of the way in an agile development cycle.

3 hours later, I left Jim’s office with this document.

How Agile Works

Release Overview Diagram

Each number represents an iteration, which is a week of work. I1, I2, and I3 are the development iterations. The majority of a Program Manager’s time is spent in the pre-I1 iterations, named –3, –2, and –1.

The Epic Story – This is what goes on a sticky note on the whiteboard. For example, “Ratings and Reviews for Project releases” is an epic story with the following stories associated with it.

  1. Rate Release
  2. Display ratings and reviews on release page
  3. Display ratings and reviews on project homepage
  4. Move release metadata to new location  // also a UX improvement Epic story
  5. Releases sorted by date with release ratings  // also a UX improvement Epic story

Pre-Iteration Planning Meeting (IPM) Planning (about 10 weeks out from deployment date)

These are the series of Program Manager tasks that need to be completed in this order:

  1. Epic + Proposed Stories are written
  2. Wireframes are designed
  3. Review wireframes with team
  4. Rewrite stories based on wireframes
  5. Prioritize what gets done first in terms of dependences
    1. Think about how non-dependencies can be done later or separately
  6. Talk to developers for high-level estimates
    1. These "stories” should be in terms of < 5 days of work
  7. Talk to test team about acceptance tests

Product Backlog

  • Story must be ready at I1 (the first iteration of development work). This must be actionable work, meaning the developer can grab the story (and wireframe if appropriate) and start coding immediately.
  • Story entered as feature in product backlog
  • Have about 9-10 weeks of work in Product Backlog at all times

Iteration Planning Meeting (IPM)

  • Program Manager –> Developer translation occurs with each story
  • Developer breaks story down into their language and into their own tasks. (again, this is where the dev is in charge of the how and the PM is in charge of the what).
  • The team as a collective aims for how much work they can do in that one week. Everything beyond that is put back into the backlog for re-priorization by the Program Manager for the next IPM
Categories: Companies

Saying Farewell to CodePlex

Mon, 02/01/2010 - 18:57

In January 2006, nearly 4 years ago to the day, I created my first account on CodePlex, when the site was still in internal-only alpha preview. A the time, I was the Program Manager for the Visual Studio Power Toys, where my team created the 5th, 6th, and 9th projects on CodePlex before it went live. I recall sending the CodePlex team a 15 page document on all the UI suggestions I had. They were very receptive of my feedback and always treated me like a virtual member of the CodePlex team since the very beginning.

I officially joined the team in October 2007. The CodePlex site had approximately 2800 projects at that time. Now, we have exactly 13,505 projects. It’s been an absolute privilege to watch 11,000 open source projects get created on a site run by Microsoft. I can’t thank the CodePlex community enough for the support they’ve given us and me personally over the years. It’s just been incredible.

So what’s next?

I’ve accepted a position to be a Developer Evangelist for Microsoft in the Silicon Valley area in California. In other words, I’m moving from the product groups to “the field.” Needless to say, this won’t be the last you’ll hear of me doing open source. Remember, I jumped off a building for open source at Microsoft, so you’re not getting rid of me that easily!

Again, I cannot thank the community enough for such a tremendous couple of years. To quote the immortal words of the 9th Doctor Who (Christopher Eccleston) right before his regeneration, “You were fantastic! And so was I!”

Happy Mardi Gras!

Categories: Companies

My 3 part series on Agile Program Management on Port 25

Thu, 01/21/2010 - 19:25

In a follow up to my original post on how I learned to program manage an agile team, I’ve put together a 3 part series on how to be an Agile Program Manager over on Port 25.

Enjoy!

Categories: Companies

Coding is not Kata

Mon, 01/18/2010 - 04:35

I promised on Twitter to write a blog post explaining why “kata” was the wrong word for the “coding kata” problems presented at CodeMash this past week in Ohio.

First and foremost, I absolutely loved the idea of these coding problems. The problems were very similar to those found in computer science classes (for example, find all the prime numbers between 1 and 100), but the goal was to explore new languages or coding techniques (like TDD). For me, getting to pair programming with a coworker using TDD/xUnit to solve a few coding problems was definitely a highlight of the conference.

However, as a martial artist, to me “kata” is the wrong terminology to use in this context. The correct terminology is either “coding kihons” or probably more accurately “coding kumite”.

What is Kata

There are 3 parts to the study of karate:

  • kihon (basics) – front stance, back stance, lunge punch, reverse punch, snap kick, etc.
  • kata (forms) – planned series of movements where a karateka (one who practices karate) seems to fight an invisible opponent
  • kumite (sparring) – fighting against a fellow karate student

You cannot study karate without all 3 components.

In Shotokan karate, the style I practice, there are 26 katas. The movements for each kata never changes. In other words, there is only one way to do the kata, meaning that your stances, kicks, and punches must be exact, and the timing must be correct and sincere, as if you were attaching an invisible opponent. In a karate competition, those who compete in kata are measured based upon who can perform the kata closest to perfection.

Over the course of one’s study of karate, you perform the kata over, and over, and over, and over, just like the 10,000 hours theory in Outliers. (Personally, I am not comfortable doing a kata until I’ve done it at least 100 times.) Not only does the body eventually optimize physically, but something mentally happens. You go into an “auto-pilot” mode. For example, have you ever driven to your house one day, but don’t consciously remember the specifics of the drive, because you’ve done it so many times before? This is what a karateka is trying to achieve in kata (and in kumite, and in all walks of life). The term for entering this “auto-pilot” mode is called mushin, but I digress…

The basic idea of kata is you’re trying to perfect a given series of moves via repetition. There is no deviation. Or from a Zen perspective, you’re trying to reach that state of mushin where you are in total focus and concentration, where the mind and body have become one (which is also illustrated in “kime” where you unlock your ki / chi in a split second, but I digress yet again). My first karate Sensei told me that in kata you imagine that you are fighting the dark side of yourself, all the things you dislike about your character. You visualize these negative aspects and you fight them. Thus, the more you do kata, the more your character improves.

The point I’m trying to make is that there’s a much larger aspect to kata than going through the movements.

What a “Coding Kata” would really look like

Below are a couple of examples of what I think a coding kata could look like:

Kata #1: The Implementation of Hello World in C#

public class Hello1
{
   public static void Main()
   {
      System.Console.WriteLine("Hello World!");
   }
}
Kata #2: The Implementation of Bubble Sort in C# (via C# online)

private int[] a = new int[100];
private int x;

public void SortArray()
{
  int i;
  int j;
  int temp;
  for( i = (x - 1); i >= 0; i-- )
  {
    for( j = 1; j <= i; j++ )
    {
      if( a[j-1] > a[j] )
      {
        temp = a[j-1];
        a[j-1] = a[j];
        a[j] = temp;
      }
    }
  }
}

And you would practice these katas as many times as possible, until you can code it wearing a blindfold or hold a conversation while coding this method.

In my opinion, coding katas are really just sample code or an algorithm for doing something. Just like a real kata, you know exactly what it is you are supposed to do. You’re just learning to repeat it over and over again, so it becomes second nature.

But, I’m not sure whether repeating these lines of code over and over again would make you a better coder. It would definitely help initially, but I’m not sure the benefits after that point. Maybe a true “coding kata” is mastered much faster than an actual karate kata.

Why Coding Kumite is a better term

Kihon is learning the specific techniques, like punches, kicks, stances, etc. In kihon, you practice these techniques in isolation, and you repeat each individually over and over and over again. To me, coding kihon would be the equivalent of learning the syntax of a language, learning lamda expressions, or learning generics. Kihon is not about solving a problem, but rather learning what tools you have available to solve a problem. Only after one learns kihon, can a karate student learn kata and kumite.

Looking at these coding problems, you could make the argument that your opponent is the problem to solve. And you’re using all your kihon practices to solve the problem, just like you would do in actual sparring (or in kumite.)

Conclusion

Having said all of this, my “Coding Kumite” analogy still falls short. I think only in debugging, where you are trying to find and fix bugs, is actual “coding kumite”. But, writing code to solve a problem still feels much closer to kumite to me than kata or kihon.

For a different perspective, you can check out Steve Andrew’s blog post called Shotokan Development. He watched my Nidan (2nd degree) black belt exam back in November, and wrote a blog post from the perspective of a software engineer on how to apply Shotokan teaching methods to software engineering.

Lastly, I’ve never experienced mushin in coding like i have in karate. Maybe someone out there has and can respond with a counterpoint to this. I’m really curious what others think, and I definitely would love to discuss these concepts further. I really think we could put together a teaching framework based on karate concepts, if anyone is interested in helping me out.

Maybe the next open spaces unconference I can propose a topic on karate terms in coding, but that’s only if Doctor Who is no longer making me need a support group. =D

Categories: Companies

Visual Studio 2010 Tip of the Day Returns!!

Mon, 01/11/2010 - 22:10

Zain Naboulsi, a Developer Evangelist, has started the Tip of the Day series for Visual Studio 2010. I spent a lot of time with Zain last year sharing what I’ve learned about writing a new tip every single day for a year, so he knows what he’s getting into. =D I’m very excited to see the series return!

It’s all yours Zain!

http://blogs.msdn.com/zainnab/archive/tags/vs2010/Tips+and+Tricks/default.aspx

Categories: Companies

Looking for last-minute gift idea? Buy The Art of Community book by Jono Bacon

Fri, 12/18/2009 - 02:16

I’m embarrassed to say just how long I’ve had Jono Bacon’s book sitting on my coffee table, as a constant reminder to myself that I haven’t written a blog entry yet on The Art of Community. In the spirit of agile, I’m going to sit here and write a review on the first chapter. Since the book starts off with a high-level overview of community concepts, I’m hoping this blog post will entice you to read the rest, or consider getting this book for someone you know who loves meetups, blogging, twitter, or any other community activity.

Just a quick aside, why I’m beating myself up for taking so long to write this, is because I want to be just like Jono when I grow up. I met Jono at his first Community Leadership Summit. Not only did I immediately realize that Jono is one of those people who “gets community” (and if you’re reading this and know what i’m talking about, go buy this book now!), but also, he’s someone who can empower and inspire other community leaders who also “get community” to go above and beyond. For example, if you’ve ever read Stephen King’s “The Dark Tower – Book 7”, we find out that there’s one special breaker who can enable the other breakers to work 300% better. I’d say Jono is like Ted in that aspect because of the way I saw him inspire myself and others at the Community Leadership Summit. (And if you haven’t read the Dark Tower Series, I swear this reference to Ted is a good thing!)

Thoughts on Chapter 1

I have to say I’ve never read just a first chapter of a book (not even a book by Stephen King) that’s inspired me to write a blog post on it. But I feel compelled to get the word out to my respective communities about this book without further delay.

Community = Belonging

I thought I’d heard it all after nearly 8 years at Microsoft on why do people participate in community, from recognition, common need, identity, response to a crisis, and passion. I thought nothing would ever top “passion”, but then I got to page 5 and read about a sense of “belonging.”

I had just boarded a flight from SEA to PDX to visit Oregon State University’s Open Source Lab, when I read about this idea of “belonging.” I spent the entire 45-minute flight trying to prove this term wrong, that “passion” clearly had “belonging” beat. But I couldn’t. I kept thinking about growing up back home in New Orleans, and how we have a tremendous sense of community there. I thought about going to Mardi Gras as a native compared to a tourist. Natives come together at Mardi Gras because it is about celebrating the community we belong to and celebrating who we are. Or even better, check out the #whodat twitter stream and see the passion of the New Orleans Saints fans going on right now. (Who Dat?! Who Dat?! Who dat say they going to beat dem Saints?!)

Even though I’m 3,000 miles away, I can still feel a sense of belonging to New Orleans. Online communities, like #whodat on twitter, give me an opportunity to express how important it is for me to feel connected to New Orleans.

Or as Jono says on page 5, “If there is no belonging, there is no community.”

Social Capital

This is probably the best explanation I’ve ever seen describing how reputation does not equal community. Way too often, I’ve seen people try to form communities based on reputation. Similar to the “if you build it they will come” flawed notion of community-building, there are folks who think if you reward people with “social capital” they’ll participate more. But as Jono describes on page 7, “People don’t make money for the purposes of just having money: they make money because it allows them to do other things.” Or more specifically, “Most people who work with social capital are not merely air-kissing, hand-wavey, superficial animals who simply want to name-drop and be name-dropped in the interests of social acceptance.” They are participating in the community because of that sense of belonging. Thank you, Jono. Thank you.

Storytelling

When I got to this part in the book (and it’s only on page 8), i thought my head would explode from excitement and wonder. I’d never ever thought in 8 years to ever think about how we communicate with each other in the community. And yet, here it is, such a simple concept on page 8, “[Jono] realized that the mechanism behind communication in a community is stories.”

When I read this sentence, I had about 16 different memories come flooding back in a single moment (which is usual for me. I have a very strong visual memory.) Each memory consisted of various groups of “people I belong to” telling stories for hours. Whether it is me telling my infamous Uncle Jimmy stories (and why I have a honest-to-god fear of plants), listening to someone talk about ASP.NET MVC, or just comparing Hurricane Katrina aftermath stories in a bar in the French Quarter, storytelling is truly how communities communicate.

Communities provide Opportunity

On page 10, Jono describes his first encounter with Linux and how he “smelled the sweet aroma of opportunity.” I can definitely relate to my time spent on the Visual Studio team. When I first saw a concept spec of a “Tip of the Day” for the Visual Studio start page, I could definitely sense the opportunity to do something cool. But I also love Jono’s quote of “If there is no viable path, we enter the world of fantasy.”

And just when I thought these concepts couldn’t get any deeper, I was helplessly enthralled once again by reading “Opportunity is born in a sense of belief.”

For me doing the 382 Tip of the Day series for Visual Studio, my “belief” was that there were others like me out there in the world. Others who knew what it was like to be a community of one (when I was in college), sitting alone in an office working day in and day out on Visual Studio, not knowing about 98% of its features. It was that belief that make it possible for me to write a tip every day for 1.5 years.

Community Manager

So far in chapter one, I’ve been swinging my legs back and forth, just having the time of my life reading this book, until I saw one word that I vowed to never use in the same context of community: enable.

NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!

I must pause for a second to wonder whether this is “the Microsoft” in me that is saying this. Sometimes you get so accustomed to working a certain way that you have trouble figuring out whether your instincts are right, or if you’ve just been trained to think a certain way. Go read my Why I Love To Hate Agile post to understand about my performance neurosis.

I guess that same neurosis applies to community, but I’ve never thought about it. I’ve spent significant time among other Microsoft community folks, and I’ve spent some time with non-Microsoft community folks who were running online forums. But, reading this book has probably given me the broadest perspective possible on community. And to see Jono use the word “enable” was a real wake up call. In fact, I had to laugh out loud at myself.

A very long time ago, way before I joined CodePlex, I had a very passionate conversation with a coworker whether community managers are supposed to “enable the community to do something” or whether “enable” was just the word to use when you didn’t know how to actually do it. The argument was the community manager should be able to clearly state what the intended outcome was and what his/her involvement would be. After this conversation, I stopped using the word enable, and thus became sensitized to it.

The root issue of this conversation was about how to measure the performance of a good community manager. I hope Jono explores this later on. Or maybe we can have this as a session at next year’s Community Leadership Summit. I honestly believe there’s “no one size fits all” answer here.

But I digress… yes, absolutely, a community manager enables, just as I described at the beginning of this blog post how Jono is a community manager who enables community managers.

Conclusion

And this concludes my book report on the first 14 pages of The Art of Community. And to think I only have another 350 pages to go before I’m finished with the book. That’s only another 26 blog entries on the subject. =D

The Art of Community
Website: http://www.artofcommunityonline.org/
Amazon: http://www.amazon.com/Art-Community-Building-Participation-Practice/dp/0596156715

Cheers!

Categories: Companies