2012-03-27

The best of the best: family-size team in a family-size space

I build great software with great people. We need a great space in which to do it.

For the last year, we’ve been experimenting with an open plan collaboration space. Instead of working as individuals in cubicles, we work together in a space with no walls between us. For the first six months, we loved it. Knowledge and learning were in the air, and they spread spontaneously amongst team members. Everyone knew what was going on without asking. Junior team members barely had to ask for help, and their skills increased dramatically. We coalesced as a very good team and wrote some very good software.

Then we enlarged the space and added more people. We started complaining that it was crowded. It looked messy and unattractive. Knowledge and learning were still in the air, but the space was noisy and distracting.

We learned that open plan collaboration space is great for team collaboration, as long as the team and the space are family size—no more than seven people, in a space that’s about as big as a family room in your house. Enlarge the team or the space beyond family size, and it feels crowded, messy, and chaotic.

I awoke a few days ago with the inspiration for better space. We played Perfection Game together, and we arrived at this:
I work in my living room.
I'm working on great things in a great place: my living room. I'm sitting in a comfy chair with my computer on my lap. There's a table in case I need to draw something by hand. I have bountiful espresso, fruit, and snacks nearby. 
It’s so much fun, so cozy and welcoming, that my friends want to be there every day with me. 
Sometimes I need quiet time, so we have nearby rooms where we sit alone once in a while.
Logistically, for a small tribe of about 20 people, we’ll need to split up into three family-size units, with one collaboration space each. Each collaboration space will be the size of a living room. All the spaces will be adjacent to each other, so we can still work together as a super-team. Each room might have a different theme: the living room, the art room, the game room, etc.

We’ll build out our new space this month, and continue our experiment for the best possible workspace.

2012-03-20

Perfection Ping Pong

Source: http://en.wikipedia.org/wiki/File:Ping-Pong_2.jpg
Perfection Ping Pong is derived from the Perfection Game, one of the McCarthy Technologies Core Protocols, and inspired by TDD Ping Pong.  This game will support you in your desire to aggregate the best ideas with people who are available only via communication channels such as email and IM.

Player A and Player B are partners in this game.  Player A "serves" an idea for perfection to Player B.  Player B "returns the serve" by perfecting the idea.  Players "paddle" the idea back and forth until it is perfect.

Steps
  1. Player A writes the description of an act or an object. He sends it as email or IM to Player B.
  2. Player B composes a written response.  He rates the value of the performance or object on a scale of 1 to 10 based on how much value the Perfector believes he or she can add.
  3. Player B writes, “What I liked about the performance or object was X,” and proceeds to list the qualities of the object he thought were of high quality or should be amplified.
  4. Player B offers the improvements to the performance or object required for it to be rated a 10 by saying “To make it a ten, you would have to do X.”
  5. Player B sends his response to Player A.
  6. Player A responds similarly, beginning at step 2
  7. Players continue until the idea is perfect.
Commitments
  • Accept perfecting without argument.
  • Give only positive comments: what you like and what it would take to “give it a 10.”
  • Abstain from mentioning what you don’t like or being negative in other ways.
  • Withhold points only if you can think of improvements.
  • Use ratings that reflect a scale of improvement rather than a scale of how much you liked the object.
  • If you cannot say something you liked about the object or specifically say how to make the object better, you must give it a 10.
Notes
  • A rating of 10 means you are unable to add value, and a rating of 5 means you will specifically describe how to make the object at least twice as good.
  • The important information to transmit in the Perfection Game protocol improves the performance or object. For example, “The ideal sound of a finger snap for me is one that is crisp, has sufficient volume, and startles me somewhat. To get a 10, you would have to increase your crispness.”
  • As a perfectee, you may only ask questions to clarify or gather more information for improvement. If you disagree with the ideas given to you, simply don’t include them.

2012-03-13

Agile Games 2012: Open Space and Games with Motion

The Agile Games conference is great. I have the privilege of participating in this year’s conference as a facilitator. On Friday, April 20, I will lead a game session called “Self Management: 5 Games with Motion.” We’ll play kinesthetic games that explore command-and-control versus self management. These are some of the most outrageously fun games you’ll ever play—I dare you to bring them back to your office and play them at work with your team!

On Saturday, April 21, I will facilitate a full day of Open Space. I attended my first Open Space a few years ago, facilitated by Harrison Owen, the inventor of Open Space. Harrison’s amazing facilitation and the power of Open Space blew my mind; it marks a milestone in my life. I facilitated the world’s longest Open Space with my team last year, and I’ll use that experience lead a great Open Space at this year’s conference. I hope to inspire great conversations about Agile, Agile games, and building great software with great people.

Register for this year’s Agile Games conference. You’ll love it!

2012-01-31

Don’t suck at meetings

You opt in and show up at a meeting. You type an email to your boss. Or maybe you IM someone in another building. Sometimes you tweet something or send a text message.

Would you do that if you were having dinner with a close friend? Would you act like your friend isn’t worthy of your full attention, like your friend isn’t holding your interest so you need to do something else in his presence?

Why are you doing it to your coworkers at the meeting? Do you hate them, resent them, want them to fail?

Let’s assume this is a meeting that doesn’t suck, or at least doesn’t suck too much. You were invited, not commanded to attend. The desired outcome is clear, and it’s obvious that this meeting will help you meet the goal.

So don’t waste the meeting. Work together toward the goal, and get it done.

Start by deciding whether you will contribute to the outcome, learn from the conversation, or both. If so, opt in.

Next, respect your coworkers’ time. Be punctual—don’t waste their time by showing up late. Be prepared: do your homework before you get there so you can contribute.

Be present at the meeting. Don’t do anything that’s not related to the meeting and its goal. No email, web surfing, IM, texting, or anything else. Be completely present in the moment, or be completely absent and leave the room.

If at any time, you find that you aren’t learning or contributing, check out and leave the room. It’s OK. No one will hold it against you; better yet, they’ll respect your decision not to waste their time.

It’s all about being All In, or totally out. Hell Yeah, or not at all. Totally Present, or totally absent. Opt In completely, or opt out.

Meetings don’t have to suck. It’s your choice.

Related reading:

2012-01-03

Open Space Technology: Pushing the Limits

Source: http://www.deborahschultz.com/deblog/2006/07/the_law_of_two_.html
Six weeks of Open Space—it’s a new world record! I facilitated a six-week-long Open Space with my software development team. As far as we know, this is a unique experience: we are the only people in the world to have held an Open Space for such a long time. We pushed the limits of Open Space Technology, discovering for ourselves some of the things it is great at, as well as some of its limitations. Here are the highlights of what we learned.

A real problem
Our problem is the BigCo reorg. BigCo is shutting down an important BigProduct software dev team located in another country. Our team is less experienced and assists the other team. In two months, though, the other team won’t exist, and our team will be the BigProduct dev team. How do we become the BigProduct dev team, with full responsibility for the product’s success, in six weeks?

BigProduct has a large codebase. The software is much too complex for anyone to be able to design a curriculum and hold training courses in such a short amount of time. There is no way we could define the right set of generalized classes and specialist tracks, no way we could appoint the right people for the right speciailties, via central planning. Open Space Technology seemed like the best way to conduct our knowledge transfer and to become the BigProduct dev team. Our Open Space thrived for six weeks because we had a real, urgent problem to solve, and Open Space was the best way to address it.

Shared responsibility
The most important aspect of Open Space is shared responsibility. Everyone is equally responsible for the successful outcome. As a participant, there is no scapegoat to blame if you don’t achieve your Open Space goal. It’s not the curriculum designer’s fault if you didn’t learn the skills you need—you are the course designer. It’s not the visiting knowledge leaders’ fault if they didn’t teach the right skills the right way—you are responsible for creating the sessions and guiding the knowledge leaders. If you aren’t getting what you need from today’s sessions, it’s no one else’s fault. Use the Law of Two Feet, and make sure you are always contributing or always learning. If you’d be better off sitting by yourself studying code, do it!

Authority
The Law of Two Feet grants you formal authority to do whatever it takes to achieve the goal. Everyone is explicitly authorized to make the Open Space successful. You set up the sessions you need, you make sure you get what you need from the sessions. If you don’t like it, you change it. You don’t have to ask. You don’t have to wait for permission. You are authorized.

Many short Open Spaces
We actually held a series of Open Spaces. We started with a one-day Open Space prelude, followed by six one-week long Open Spaces. The one-day prelude was a great warm-up, showing the team how Open Space works. The weekly Open Spaces were like weekly sprints, giving us regular opportunities to inspect and adapt every week. At the beginning of each week, we established the curriculum for the rest of the week, based on which knowledge leaders were visiting, which topics we had already covered, what we needed to review, and what we need to learn fresh. The closing ceremony at the end of each week was a great way to review our progress and prepare for the following week.

Send an invitation
Every Friday afternoon, we told each other that the next opening ceremony would be on Monday morning. Every Monday morning, most of us forgot. People were doing the right things, studying and learning; they honestly forgot the weekly rhythm and Monday morning schedule. I learned to send a formal invitation to the opening and closing ceremonies every time.

Repeat yourself
As the facilitator, I thought it would be insulting to repeat the opening message and instructions every time—we had already done it, everyone heard it already, why should I waste their time with it? But when I skipped the ceremony, it was chaos! We lost focus on the problem, forgot to announce our sessions, and didn’t know which sessions had been planned.

The lesson is to always start at the beginning. Use the opening ceremony to inspire the team and transform the mood from “we’re hanging out, shooting the breeze,” to “we are starting something important right now—let’s pay attention to each other and make it work.” Establish the space, set the mood, reinforce the goal, and establish formal authority and mutual responsibility, every time. Explain the marketplace rules so the session ideas flow and people know what sessions to expect for the rest of the week.

Self doubt about achieving our goal
Did we learn everything we needed? Did we all become experts? Does everyone have broad knowledge of the system? Did the right people become specialists in the right topics? Are we ready to be the BigProduct dev team? Maybe we should have conducted a single weeklong Open Space, with the goal, “Establish the training program for the next five weeks, organize the trainers, and assign the students to the right training tracks”, followed by five weeks of programmed training.

Change it up
Inspecting and adapting, we noticed that we were doing too much learning by lecture, and not enough learning by doing. We ended most weeks with the advice that we should hold sessions that are in the style of a code camp, but we started most weeks by setting up lecture sessions. During Week 5, we forced a week of code camps. Every session had to be a code camp, or you had to postpone your session until the next week. This worked, helping people practice their skills rather than listen to people talk about the skills.

Don’t do it alone
Conducting Open Space is too much work for the facilitator to do by himself. Get volunteers to help you set up the space, arrange the chairs, make the posters and tape them to the walls, order food, and do everything else you need help with. You not only spread the load, you share the responsibility. Every volunteer has a stake in the success of the Open Space, and they try harder to make it succeed.

Daily news, not daily stand-up
At the end of each day, everyone already knows what happened today: we organized and attended sessions. But what’s new? What changed since this morning? What is different about tomorrow’s schedule that we didn’t already know? Whose travel plans have changed? Where is the Fun Event session being held? Focus the new and important.

Easy to read session grid
We started with an informal sessions list, with one column on the wall for each day’s sessions. It wasn’t a true grid, with a row for each time slot. We skipped that detail, thinking it was unnecessary, but we were wrong. It wasn’t obvious which sessions were at what time during the day, and people got confused and frustrated. Gaffer’s tape to the rescue: we divided the columns into two rows, dividing the day into morning and afternoon sessions, and making it easier to show up at the right place at the right time.

Your experience?
What are your experiences with Open Space Technology? Have you conducted a short Open Space, a long one, or something in between? What did you learn about Open Space? What did you learn about your team and yourself?

2011-11-07

Nokia N9 Wi-Fi Hotspot fix

The Wi-Fi Hotspot app on my Nokia N9 doesn't work on AT&T.  To fix, follow these instructions from the maemo.org forum:
2. start Terminal
3. type the following
Code:
devel-su
echo 1 > /sys/devices/platform/wl1271/allow_adhoc
it will prompt for a password after the first command, the password is "rootme"
Then start the Wi-Fi Hotspot app.  Solved!

2011-10-13

Get Ready to Get Done: Definition of Ready

Once upon a time, the team was having trouble getting things Done. We asked why, five times. We found a root cause: we struggle to get backlog items Done because we aren't Ready on sprint planning day.

So we brainstormed a Definition of Ready. We use it as a checklist to ensure we understand each backlog item well enough that every team member has a mental outline of the tasks required to get it Done. The Product Owner and the team agree that they are jointly responsible for ensuring two sprints worth of backlog items are Ready before sprint planning day. Now the team is better at getting things Done, and we’ll all live happily ever after.

Here is our Definition of Ready.

To be Ready, each product backlog item must have this information:

Definition of Ready
Criterion Description
Short name A canonical short name that we use as we discuss the backlog item
User story If we can’t describe it as a user story, it probably has no business value, and we probably shouldn’t do it. We use the “as a role …, I want …” style of user story (http://blog.mountaingoatsoftware.com/advantages-of-the-as-a-user-i-want-user-story-template).
Use cases If there are use cases that help describe the story better, we list them.
Current product behavior Make sure we understand the product’s current behavior, before we implement this backlog item
Future product behavior and consequences Make sure we have a clear vision of the product’s future behavior, after we implement this backlog item
Acceptance criteria A list of testable conditions that tell us whether we implemented the backlog item successfully, following my acceptance criteria template
Test outline Our test plan for this backlog item
Demo script Our demo script, showing how we will demo successful implementation of this backlog item. Acceptance criteria, test outline, and demo script obviously overlap each other--we think that’s OK because it helps us consider more aspects of Done.
Data storage concerns One of our teams is working on a database migration project. Are there any data storage, data mapping, or other database related considerations for this backlog item?
Code flows and sequence, data flow What might the code look like? How might the data flow through the code?
Proof of concept / prototype If possible, we build a small prototype showing the feasibility of this backlog item, informing our other implementation decisions.
Review by other architect and tech team We love peer review. We force another architect and technical team to review our plan.
Security review We have a security expert. We force him to give us advice.
UX spec If this backlog item has a user interface, we force the UX team to provide a specification.
Complexity/size estimate We have estimated the backlog item’s size in story points.





Related:

LinkWithin

Related Posts with Thumbnails