Posts Tagged ‘agile vancouver’

Operations Database Talk at Agile Vancouver

I’ll be talking about leveraging operations databases to bridge the gap between development and production at tomorrow night’s Agile Vancouver meeting at Sierra Systems. See you there.

Tags: ,
Filed under agile : Comments (0) : May 26th, 2008

Agile Vancouver Tech Talk #2 - TDD vs BDD

Last Monday night, Skye and I hosted the second Agile Vancouver tech talk. This month’s topic was test-driven development (TDD) vs. behaviour-driven development (BDD). The goal of the session was to give participants some hands-on experience with TDD and a bit of exposure to BDD. Participants were encouraged to bring laptops to the session if they had them or pair/partner up with others if they didn’t.

About 50 participants showed up for the session. Most people worked in Java using JUnit (with one pair using TestNG), another handful used C# (using NUnit) and one group worked in Perl and Python. I wrote my tests using JBehave and showed my solution on the projector to give beginners a bit of a jump start.

For the problem, I built some scenarios from my weekend’s trip to the grocery store. Participants were encouraged to write a solution for calculating the total of a shopping receipt from a list of items. I presented the following 10 scenarios:

  1. 1 x EnviroKidz Waffles - $3.79
  2. 2 x Unsalted Rice Cakes - $2.99
  3. 1.16kg Broccoli @ 2.82/kg
  4. 1 x Happy Planet Strawberry Banana Juice - $3.50 + $0.20 Deposit +
    $0.03 Enviro fee
    • 1. 1 x EnviroKidz Waffles - $3.79
    • 2 x Unsalted Rice Cakes - $2.99
    • 1.16kg Broccoli @ 2.82/kg
  5. Same as 5. but with a $0.05 No plastic bag discount
  6. 2 x Amy’s Organic Soup - $2.99 / $2.79 for Club members (Club #000104991)
  7. Calculate frequent shopper points for previous order, where new points = floor(total * 3)
  8. Calculate new total of frequent shopper points for the previous scenario. Customer Club #000104991 currently has 933 points.
  9. Non-groceries have 5% GST applied. Calculate the total for:
    • 1 x EnviroKidz Waffles - $3.79
    • 1 x Economist - $7.50

We spent an hour working on coding up the scenarios, where most participants made it up to scenario #5. This was followed by 30 minutes of discussion where participants presented their code. The most interesting solution IMO was produced by the Perl group who wrote a simple Regex parser for the items and started implementing a wiki-style DSL for specifying test scenarios.

On the whole, I think that the session went quite well, and most participants enjoyed having the opportunity to sit down and directly try out TDD. I think that we will try to do more hands-on sessions for subsequent tech-talk gatherings, potentially building on what we worked on in this session.

If you attended Monday night’s session and would like to post your solution to the scenarios, please feel free to leave a comment on this post linking to your code. I intend to post my solution for these scenarios at some point soon.

Tags: , , , ,
Filed under agile : Comments (0) : Mar 14th, 2008

Agile Vancouver Tech Talk

Last night, we ran Agile Vancouver’s first Tech Talk session. The session was co-organized with Skye Cove at Sophos. The tech talk idea came out of our desire to get more technical content into the regular Agile Vancouver meet ups. We also wanted a different format from the regular monthly talking head presentations. Our goal was to create something that was more participatory, that would provide an opportunity for local Agile practitioners and techies to meet and share their knowledge and experience.

When planning the session we really didn’t know how many people would turn up. The previous attempt to do something similar ended up with very few attendees. So I was surprised to arrive at 5.45 and find that about 30 people were already there and more were trickling in. We probably ended up with about 50 people all told. I quickly realized that my idea of having an open discussion would not work — so we turned it into a fish bowl instead. I think that the fish bowl worked quite well and we had a pretty good variety of people opting to come up and speak.

The topic was “Branching and Merging on Agile projects”. Remarkably we managed to stay pretty much on topic throughout. I was especially happy to see some people come forward and posit unconventional positions like:

  • source control is not necessary on Agile projects because it is an impediment to communication
  • using file locking to control access to different parts of the repository
  • distributed vs centralised source control systems

Now that more people are familiar with the fishbowl format, I hope that even more people will participate next time. A few things that we will change for next time:

  • Greg Young suggested distributing cards at the start of the session to collect suggestions for the next session’s topic. We can post these on the wall and people can vote on them on the way out.
  • Shorten the length of the fish bowl so that there is more opportunity for small group interaction after the session. I think restricting the fishbowl to 1 hour is sufficient.
  • Greg also suggested collecting feedback on the session that can be collected at the point when people vote on the session.

I’d like to try some small group sessions or micro-open space sessions, but for now I think that it will be good to try to keep the format consistent as more people get the chance to become familiar with it. If you have other feedback or ideas for the event please let me know!

Tags: ,
Filed under agile, life : Comments (3) : Feb 13th, 2008