Wednesday, December 8, 2010

staying current

For the last few years I've been on a quest to find out what other Agile/Lean practitioners are doing, saying, and thinking about, so I can learn more myself--and to do so I've accumulated quite a daily reading list: I'm on 15+ mailing lists, 23 blog feeds, and follow 30 people on twitter, not to mention the books I read. I really try to minimize this reading list, but I also have this unquenchable thirst to find something I've missed--something that will help me work smarter, to improve, to do better. I've often said that as a professional and practitioner, it's my job to study outside of the workplace--to learn about how other people are solving similar problems in different contexts. I think that all this reading gives me a lot of ideas in the workplace of how to approach problems, so I keep reading more.

Yet reading isn't enough. I need feedback--I need to hear how others perceive my words, and to see how they respond. So I also write, here and on twitter, but primarily on mailing lists. I post whenever I have an opinion that hasn't already been stated by someone else on the list. This helps me learn when other people argue in favor of or against what I've written. Here are my favorite mailing lists:

International:
 http://groups.yahoo.com/group/extremeprogramming/
 http://groups.google.com/group/lean-startup-circle
 http://groups.google.com/group/agiletour
 http://groups.yahoo.com/group/agileprojectmanagement/
 http://groups.yahoo.com/group/leanagile/
 http://groups.yahoo.com/group/leandevelopment/
 http://groups.yahoo.com/group/AgileBusiness/
 http://groups.yahoo.com/group/Agile-ANN/
 http://groups.yahoo.com/group/agile-jobs/
Extreme Programming (LinkedIn)
Agile (LinkedIn)
Agile Alliance (LinkedIn)
Agile CMMI (LinkedIn)
Agile Philly (LinkedIn)
Agile Tour (LinkedIn)

Philadelphia:
 http://groups.yahoo.com/group/agilephilly/
 http://groups.google.com/group/leanstartupphilly

 http://groups.yahoo.com/group/phillyaltnet/
 http://groups.yahoo.com/group/phillyjug/


Other Regional:
 http://groups.yahoo.com/group/software_dev_in_free-county/
 http://groups.yahoo.com/group/Agile-Belgium/
 http://groups.yahoo.com/group/xp-france/
 http://groups.yahoo.com/group/xp-forum/

Writing isn't enough either. I need face-to-face, peer interactions. So I go to user group meetings and conferences whenever they're local, and a few that are remote, as often as possible. This always poses work/life balance problems for me--I'd love to go to even more events--but I also really enjoy time at home with my kids... Still, these face-to-face events are a great way for me to talk about work outside of work, to get other people's opinions on how I might apply my learnings more directly, and to practice my skills in a 'sandbox'.

User groups/conferences aren't enough either. I need a place to apply my craft on a daily basis. I need an environment where I can apply all these ideas I'm absorbing, then to watch to see how the seeds I planted will grow. I've been very particular over the years about what kind of environment I'll work in--and it's given me a good base to practice and learn even more.

What are you doing to stay current? Do you have ways to stay current that I've missed?

Wednesday, December 1, 2010

mavens and The Tipping Point

There's a great quote from Malcolm Gladwell's The Tipping Point that just has my mind reeling. I can only paraphrase it right now: in an age of information overload, we rely on word of mouth to deal with complexity. The word of mouth we rely on, this primitive communication, all comes from specialists in our network. These specialists, who Gladwell calls mavens, can provide the best kind of product referrals, distilled information, and advice because they're simply obsessed with data in one or more niches. He says that it's a certain kind of person--but I'm inclined to believe we're all vessels of trivia in some category or another. This becomes important when we think about how to promote learning / competency / agile skills / decision making / etc. If we could use a networking tool and nominate our friends as mavens on one category or another, we might benefit better from our networks... is there something that already does this?

Wednesday, November 10, 2010

From Weak Links to Better Answers

Some of the implicit questions driving me for the last couple years in the work I did for the Agile Skills Project were: how do we know who to trust, who has good advice, and who should we hire? The answer to these questions have a lot of value, as proven by the market demand for CSMs and other tech certificates, as well as for the hefty price recruiters get for matchmaking services. Yet when these matches depend on keywords in a resume, or on a recruiter's personal network, we hit one of two limits: keywords don't convey trust, and humans have a neurological limit of about 150 trusting relationships. So how do we broaden our searches for advice and/or recruits beyond 150 people? It's easy for clear-cut, objective answers--we can depend on the wisdom of crowds using things like Google's page rank algorithm, which represents the crowd's endorsement for certain advice. For more subjective questions, though, it is much more complicated.

Yesterday I read about weak links / weak ties in Enterprise 2.0 by Andrew McAfee--it reminds me of the fabric Peter Block identifies as social capital--and apparently the research about exploiting our personal networks was published relatively recently, in 2004 or 2005. McAfee suggests that the next way we'll be able to benefit from platforms like LinkedIn, Twitter, and FaceBook will be in referring our colleagues to our FAQ pages. This strikes me as really powerful for objective questions, but misguided for subjective questions. It's not the answers that my network of friends are useful for--it's the diversity of approaches they offer that is important. Since it's a subjective question, it is the analysis of factors, values or forces that will help guide me. I don't know of any scalable resource that connects people for subjective questions in this way. Do you?

There are technologies that connect people by the questions they ask--take the Stack Exchange engine for example. Yet they specifically close subjective discussions:

...questions that are not answerable — discussions, debates, opinions — should be closed as subjective. It seems simple enough: Fact good; opinion and discussion bad. But why?
Most forums and chat rooms have a scale problem. As in, they don’t. The more people that join the discussion, the more noise each of those connections bring. So the forums get progressively noisier and noisier, and suddenly one day … you stop learning.
This seems to leave a gap.  Subjective questions often produce conflicting advice on list serves. How do we sort through the answers? I don't see any of these social media platforms helping me decide who to trust. What if we built a community of questions and analyses--no answers permitted, just a catalog of the values, forces, etc. that go into making a decision. Anyone want to help me out? The first place I might begin is at Stack Exchange--but we'll need about 250 committed users to go live. Let's work out some of the details first--post your questions/comments here. One thing I will have to work out near the end is the name--should it be DevIntent, Philly Tech Points, Agile Welcoming Circle, or something else?

Would you such a site useful? Would it help you answer your questions? Would you participate in it?

Sunday, November 7, 2010

Agile Tour Philadelphia 2010

This year, Sebastian Hermida, Bonnie Aumann, David Bulkin, Ravindar Gujral and I tried out a new conference format--and it worked out splendidly (photo album). Essentially, we wanted this to be a conference for local practitioners, by local practitioners. We sought to encourage networking and group discussions, so we divided up our 4-hour conference into a keynote by Jon Kern followed by 4 x 45 minute-long sessions and a little time for breaks. Each of the organizers invited a friend to do a talk, and we got a great lineup including:

  • Bonnie Aumann (The Flow Game)
  • Aman King and Prashant Srivastava (Agile Buzzwords in Action)
  • Sebastian Hermida (9 simple rules for code design)
  • Prem Chandrasekaran (Automated Functional Testing: Getting it Right)
  • Burkhard Duemler (An Incremental Move to Continuous Integration)
  • Ravindar Gujral (You Get What You Measure)
  • Audrey Troutt (How Agile is like Yoga: this $h!t is really hard but it feels good)
  • Daryl Richter (Don't Replace That Old Application, Re-upholster It!)
  • Andre Dhondt (Working with Difficult Customers)
  • Brian Donahue (Software Craftmanship: Building a Solid Foundation)
  • Darian Rashid (Personality Types)

At the beginning of each session, all 70 or so attendees met in the middle of one large conference room, and speakers each had a chance to do a 60-second lightning talk to catch the interest of attendees, and to announce where they'd be doing their talk. Within ten minutes everyone had shuffled over to their chosen sessions, which lasted 25 minutes before a 10-minute break and then another round of lightning talks. This format gave people a lot of time to meet one another and explore topics of their own interest--which kept energy high and made it really fun. As an organizer I felt responsible for making things flow--so I couldn't fully participate in any of the sessions, but I did act like a butterfly and go listen in on at least a couple minutes of every talk I could.

the Philly Agile community

In the 9 weeks since I've been back to Philly, I've been able to attend about 8 events (hosted by Agile Philly, Philly SPIN, and Lean Startup Philly, and I missed one I wanted to go to--Philly ALT.NET). It's such a vibrant community!  For the past couple years I've been trying to blog about every event I attend--but I'm having a hard time keeping up this time. So this entry will try to capture some of the highlights.

Lean Startup Philly is reading a book together: Steven Blank's The Four Steps to the Epiphany. We meet at lunchtime weekly to talk about the book and then how to apply its principles to the startups each of us are involved in.

Philly SPIN had a packed house for Jim Schiel's Sept 22 talk on "Quality and Productivity Metrics in Agile Development". Since I'm a big skeptic of any kind of productivity measurements, I was really curious to see what this meeting would be about. I asked a lot of questions to see how Lean/Kanban principles were being applied in the context of his clients--and basically, I get the opinion that the Scrum community seems very straight-laced. It's interesting to me because the XP community has stayed very open to changes, doesn't seem to claim intellectual property over its ideas, and often incorporates new things. Jim began his talk with a couple of really great questions--if we don't have big, up-front design documents and estimates in projects, then how can we tell if we come in ahead of schedule? How can we tell how productive we're being? I'd love to have an answer to this--though I don't know if there really is one. Software development can't be about efficiency, it's got to be about effectiveness. So then Jim continued on to talk about how high quality is a necessity for being productive, as well as being able to incorporate change into the plan, how we need to avoid overworking the team, and that we need to be cautious about what we measure. He proposes using the following measurements, not as a way to gauge productivity, not as a way to compare teams, but as indicators that there may be a problem, or even that things may be improving:
  • change in velocity
  • change in defects
  • number of completed stories


Agile Philly has had two Code Kata nights. At the August 24th event we tried some Architectural Kata, by working from the dry erase board. Though we didn't actually use our computers this time, it was a great chance to work on collaborative design, and I learned a new technique from Sebastian Hermida, who will be presenting it next week at Bar Camp Philly. On his teams, they wanted to get everyone involved in all the architectural decisions, so at daily sprints they'd try to sell their implementation strategy--and team mates could buy or not. If not, that triggered further discussions. Later, after coding a story card complete, the pair will again try to sell the card--to make sure everyone is on board. It sounds like a fun and innovative way to encourage team ownership of the design of all the code.
At the next Coding Kata event on Nov 4, Audrey Troutt led us in 10-minute pair rotations for the bowling game using Jeff Bay's 9 rules for "Object Calisthenics". It was really intense, really fun, and felt great to think about how we write code. We paused half way through and talked about what was happening, then spoke again at the end about what we might want to do differently.

Agile Philly also hosted an Agile Tour stop this year. I'll write about that separately.

Wednesday, October 27, 2010

just got banned from a list serve

Here's my first post since I re-located from France. My new job has been so time consuming I haven't yet found the time to write--but I just got really worked up about a list serve I've been on for years, and so I decided to skip my run and make a stand. I'd really like to keep this from getting personal against the moderators, so I'm not going to say who did this--but here's how I see the sequence of events leading to me getting banned:
  • the list, as I understood it, was created primarily as a forum for users to discuss ideas and experience reports, as well as get periodic updates to the products
  • about weekly, the list owners sent announcements
  • a relatively new member of the list asked if the quantity of 'product update' messages could be reduced   

This resulted in a really defensive note saying that the product updates were not spam, followed shortly by a lot of disagreement from various members of the list. Rather than acknowledging the disagreement, the moderators came out with the following statements:

Premise - This mailing list is the Official <X> group.
The <X> Team moderates and organizes this group.

We had a serious look at whether we should continue the group’s activity.
...The fact remains that this is the Official group of <X> and the <X> Team must be free to put forth any message it wishes; whether it be relating to events, courses or products. It may also decide to not send this sort of message at all.
But considering that this list is run and organized by the <X> Team the final decision lays with the <X> Team and not the members on the list.

If the participants in the group do not appreciate the messages that are being issued or the policies chosen for sending the messages, they have two choices;
(1) show their disapproval by sending an email to the group’s moderator or
(2) leave the group.
These are the group’s rules.

Any behaviour contrary to the rules means that the person will be automatically removed from the group.  <X> are the moderators of this list and we will ensure the rules set out by this group are obeyed.
If you partecipate in this group you know you will receive messages about news, events, courses, products related to the <X>. (As is clearly stated in this group’s welcome message)
Should you for any reason consider our rules and policies to be spam, just leave this group. We are obviously incompatible.
Do you think this group should be different? Create one yourselves.
Should you wish to create your own non-official <X> group, you will nevertheless still have our help.
...We consider this issue closed, any off-topic message must from this point on be sent to one of the moderators following the group’s rules.

Keep in mind that the spam doesn't bother me enough to leave the group... so I stayed. Yet the hierarchical, dogmatic attitude above does bother me. So I wrote to the moderators, off-list, saying that I think the quantity of spam notes (20 this month) is hurting the list.

Then I started wondering what would happen if they tore the list down, so I sent the following, which seems to have gotten me banned:


<X>To avoid more spam we are considering closing this group... 

Hi all, if they do close this list serve, please move your discussion over to http://groups.google.com/group/<X>

If you sign up now, it will make a strong statement that _this_ list serve is owned by us, not by a company.

Now I'm waiting for them to respond by linking to the user group from their web site. I'm not holding my breath, though.


Tuesday, August 3, 2010

Make all your Obstacles into Opportunity

The other day we lost power at work--and realized it was not just our building, but an entire zone of the city. So we took advantage of the time and played a team-building game I had prepared in advance, with no pre-conception of when, or if, we'd be able to use it (thanks to Aurelien for pointing me Tom Wujec's Marshmallow Challenge):

We first did the challenge according to the rules. The tower that Christophe and Julien built empirically, bit-by-bit, won. The over-engineered version didn't reach completion.
Christophe and Julien, Victors!
Couldn't quite finish...

We did a de-brief, but I don't want to write a spoiler. Try the game yourself... the person who reads all the instructions at www.marshmallowchallenge.com will lose out on the experiential learning, but will still have fun.

Then we played a bit more, without time constraints. We all wanted to know a bit more about what was possible with string, spaghetti, and marshmallows. This time the most structurally sound design won:
Franck and Christophe with wobbly sphaghetti
Sylvain and Olivier, Grand Designers