Showing posts with label team. Show all posts
Showing posts with label team. Show all posts

Wednesday, January 4, 2012

Singular y'all

Lunch during the first week is often a troublesome proposition. It's all too easy to get stuck in one's consultant cocoon, never branching out or making new discoveries. I'm glad I didn't get stuck in that trap. Had I never ventured to ZAZA Fine Salad + Wood Oven Co with two client developers, I never would have been introduced to the singular form of "y'all."

Now I'm plenty familiar with y'all, not least because of frequent road trips through Florence, Kentucky; perhaps home of the best watertower ever?

The FLORENCE Y'ALL Water TowerThe FLORENCE Y'ALL Water Tower by J. Stephen Conn on Flickr

Kyle KyleSo what kind of music do y'all like?
MeI think the team probably all likes different kinds of music.
Kyle KyleI know different people like different kinds of music. I'm asking what kind of music y'all like.
MeOh. Uh. What?

DISCLAIMER In the interest of representing both sides of the story, Kyle Kyle claims to have never said the above and that y'all's singular form doesn't exist. That's not how the other two passengers remember it, however, and I now believe the elusive singular form of y'all to exist.

NOTE Our team consists of two Kyles. The project manager differentiated them early on by naming one "Kyle" and the other "Kyle Kyle"

Fun Fact ZAZA's has some tremendous gelato.

Tuesday, November 23, 2010

Project 1 Lessons [Retrospective Lead]

Progress on our project hasn't quite been at the pace we would have preferred, though time has certainly flown by. In fact, our speed of feature development was one of the hot topics at this retrospective — the first retrospective lead by the fearless team of Chris and myself.

Overview

Briefly, a retrospective is a look back at the previous cycle of work. There are several methods to go about it, but we're always trying to answer certain questions:

  1. What went well?
  2. What didn't go well?
  3. What's puzzling?

We started our retro in the same fashion as any other: a thorough reading of the prime directive.

Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.

Concrete Implementation

After covering our progress on action items from the last retro, it was time to jump into reflecting on our newly-completed iteration. We chose the rather standard format of placing stickies on a whiteboard. Everyone had roughly seven minutes to put as many thoughts as they could capture into their respective categories.

Our retrospective process is fairly democratic. We first want to make sure all the thoughts are captured on the board. Second, we group those thoughts into broader topics. Finally, we give everyone three votes to spend anywhere they like.

  • one cannot vote against a topic
  • one may spend all three votes in the same place

Discussion generally revolves around the things we can improve. Our retrospective was no different. We dutifully captured input and action items for next time, as well as recording owners for those action items (with group consensus, of course!). Oh David Allen, where would we be without you?

Velocity Check

Sometimes it's necessary to devote time to specific areas of concern before they become problems. The final piece of our retrospective was a section devoted to velocity, or the pace our team is completing features.

On the suggestion of a teammate, the visual we chose for this was a boat. Very similar to the exercise that preceded it, thoughts of things that made us go faster were near the engine of the boat. Ideas for what exactly has been slowing us down were placed near the anchor.

Perhaps unsurprisingly, virtually all of what we discovered here was covered in some form or another during the previous portion of the retrospective.

Takeaways

All in all, it was a pretty successful retro for the team, as well as for Chris and I. We did a many things well and received some helpful feedback on areas to improve, namely:

  • Timebox discussions and activities
  • Minimize open-ended questions
Both points lead to the overall goal of having concise and effective retrospectives.

Project Fact Our iterations are two weeks long

Comedy Quote "No no, my vote was voting against!"

Monday, November 15, 2010

Project 1 Lessons [Coding Katas]

A few weeks ago a colleague and I took to center stage as we launched another lunchtime activity for our project's crew.

There were a few differences from the lunch and learn initiative, not the least of which was the voluntary nature of attendance. We also wanted to engage the audience with a bit more than a presentation. Perhaps worth noting, each of these goals came after the superb interest generated from casual mentioning of coding katas by friend of the blog and resident Bearsharktopus fan Chris.

Bearsharktopus Projection

The Task

CodingKata.org is a great resource for programming problems that build skills. In our case, we were using the simplest suggested problem as a way to teach Test-Driven Design (TDD). FizzBuzz was proven to be a great way to illustrate this very important concept; certainly much easier than a 10-year-old codebase.

The FizzBuzz problem is apparently adapted from a drinking game and is a frequent cast member of programming interviews. There are just five requirements:

  1. Run through the numbers 1-100
  2. If the number is divisible by three, print "fizz"
  3. If the number is divisible by five, print "buzz"
  4. If the number is divisible by three and five, print "fizzbuzz"
  5. Otherwise print the number itself

The Demonstration

Our plan going in was to switch out pairs of programmers every five minutes. Being the truly agile adopters we are, we went with another approach that seemed to flow naturally with the event -- keyboard passing.

Chris and I began with the way all good programs begin: writing a test that fails. He first asserted that our result, given a number, would return a string. Then I made it pass and wrote another test.

Soon we had almost all of our client developers writing tests and making them pass. The approach won praise and has since been requested again by those involved. Katas will definitely be on the docket for any of my projects.

Fun Fact Bearsharktopus is an Internet meme

Fun Fact There is no right answer to FizzBuzz. An "enterprise" solution is hosted on Google Code.

Yikes! Moment FizzBuzz is apparently an easy way of weeding out 99.5% of those who apply for programming jobs. Source: Coding Horror

Saturday, October 9, 2010

What Does My Agile Project Look Like?

When catching up with people many questions tend to revolve around my working situation. Curiosities including

  • Do you have an office?
  • Do you have a cubicle?
  • How many people do you work with?

Ideal Workspaces

Pioneers of Agile software development tend to not believe in partitioning people off into different sections of a workspace. The big change from traditional techniques is that development needs to be more of a social, collaborative effort throughout the entire development lifecycle.

When we put people into different rooms, or even put up walls between them, they're less likely to talk to each other and know what is going on between them. This leads to a pain point much later on when we need to integrate the code of several developers. The solution is to have people in an open area and constantly talking as questions and ideas emerge. We all sit at a table with our computers, where it's very easy to yell out a massive design change or ask a question.

"We've just implemented flashscope, so no one should be attaching error messages to models anymore. Take a look at the HomeController for how to use it."

Realistic Workspaces

Part of the project in Los Angeles is Agile Coaching. This of course implies that the workspaces aren't currently set up ideally. We have a team room that fits about half the developers and the other half utilize cubicles in the adjacent room. It unsurprisingly presents some challenges, most problematic of which is easily the higher barriers to conversation.

We combat this in various ways, such as having a second 5-minute meeting (or stand-up meeting) midway through the day. Fortunately for us, we have just another week until we move into a team room large enough for us all.

Team Size

The development team I'm on is comrpised of four TWers and four client developers. Team sizes vary based on the scope of the project and finding that sweetspot isn't always an easy task. This probably goes without saying for every field, but there isn't a direct, linear relationship between people on a project and the amount of work that gets done. With software development, a team that is too large will have people stepping all over each others toes and will subsequently spend more time merging code than writing code.

The grads of my TWU class in Chicago are all on, or headed to, projects with two members to 54 members.

Thursday, September 2, 2010

Mascal Camping: SG Hill Meets Nature (part 4)

Note this is fourth and final post in the camping series

I gingerly made my way back down the rocks after deciding against rappelling. The conversation on top of the rocks was a fear-incuding unforgettable moment. Let's recreate it here:

me "What's the weight limit for the harness?"
him "Down...you go down"
me "No, I know. What is the limit? kilograms?"
him "Down down down."

Keeping in mind I had now nearly capsized a kayak and absolutely shredded a pair of pants on the way up the hill, this sequence was enough to send me skipping back down the rocks where the next activity awaited.

Raft-Making

For making our rafts, we had the following supplies:

  • 5 inner tubes
  • 4 bamboo poles
  • a bunch of rope

The beginnings of our raft-smithing were thwarted by a 5' snake in the water. We were told it was a water-only snake...and then it slithered on land.

Once the coast was clear we put our heads together and came up with possible designs:

  1. A snake-like design, with parallel poles for the frame
  2. A triangle

I was, and continue to be, a proponent of the triangle. Who doesn't love the symbol of equilateral goodness and strength?
Triangle-Framed Raft

The raft was soon completed and Team Green set to paddle back to the campsite, which was at least 1 kilometer away. During the paddling of that 1 kilometer, the sun turned to rain. Heavy rain. Here we see the view from a dry tent of the team coming in.
Rain Strikes Team Green's Raft

This trip was eventful and memorable for many reasons. In any sort of company getaway you'll have the inevitable result of coworkers getting to know each other better. If you're going on a getaway with me, however, you're in even more luck -- because you get to know what I look like with any sun exposure.
Sunburn!

Note The raft photos were taken just 1 hour and 3 minutes apart. We have a saying in Michigan -- if you don't like the weather...wait 10 minutes.

It's much more true here.

Tuesday, August 31, 2010

Mascal Camping: SG Hill Meets Nature (part 3)

No outdoor adventure is complete without a trek. After we finished our team games and lunch, we walked another few kilometers for the next activity. Goats and cows covered the fields.
Trek to the Rocks

The fields quickly turned to water-side trails as our canine companion happily (and frighteningly) walked by our sides. All four teams gathered on the giant rocks and looked out into the reservoir as we waited to be kayaked one-by-one to the other side.
Kayak Shuttle

Once on the other side, it was time to head up the hill. Hiking is tough work. It's almost impossible to capture the difficulty of climbing up rocks in photos. I hung back from rappelling for some awesome pictures, such as Hardik's First Step
Hardik's First Step

If you can believe it, Hardik was the most vocal about trying to get me to join in the rappelling. No worries, Mom, I stayed on solid ground.
Rappelling

The day didn't end here, either. There was one more event headed our way, including the exciting wrap-up of what I took back from Mascal.

Monday, August 30, 2010

Mascal Camping: SG Hill Meets Nature (part 2)

In the last post we took a look at getting to the remote and gorgeous part of India known as Mascal.
View from the Rock

Team Race

What would a ThoughtWorks University outing be without some sort of team-based race? The 36 of us split into four teams: Black, Green, Orange, and White. We then partook in four different events for five minutes each.

1. Mine Sweeper

Our first event was the most challenging. A course was laid out with oars. Plastic pieces were in spread throughout the course. The object was to get through the course without touching anything. One other thing: we had to be blindfolded and spun around before beginning. One person would go at a time, with the rest of the team guiding. We had two attempts and zero successes.
Team Games: Mine Sweeper

2. The Spider Web

Our next game was also played at the only other camp I've attended: 6th grade camp. There are two poles with strings tied in criss-crossing patterns, leaving several holes open. Each member of the team must get from one side to the other without touching the strings, or going through the same opening twice. Our strategy was to have two heavyweights go through the bottom holes and send the lighter people through the top holes. One of our trainers, Felix, used his Kung-Fu skills. Demonstrated here after the completion of the games.

3. Austrailian Australian Car

I can't be sure why this is the called the Australian car, because our Australian driver let us know they've got real cars down under too. Five people from our team had to stand on the planks, hold the strings, and move together. The object was to walk as far as possible. It wasn't easy, but Team Green did quite well in my very biased opinion.
Team Green: Australian Car

4. Inner Tube Walking

I couldn't manage to get a photo of this event -- oh how I wish these getaways had a photographer to capture all the moments. Our team had to huddle up and get as close as possible for a circumference measurement. The reason why wasn't clear, but we ended up the smallest with three lightweights on the shoulders of the three heavyweights. We then stretched an inner tube to accommodate all of us and started to walk up the hillside. The winner of this event was the team that walked the farthest.

We proudly took fourth place overall and headed to lunch. We were advised to eat a lot; there were big things in store for us.