Author: Gerry Kirk

Effective Pairing: Good, Bad and the Ugly

These are notes and video taken from the highly entertaining Agile 2008 session Effective Pairing: Good, Bad and the Ugly. Thanks to Ryan Hoegg, Lasse Koskela, Dave Nicolette, Brett Schuchert for letting me capture them on video. These four guys acted out personalities, scenarios and pitfalls that can occur with pair programming, each skit followed by a room discussion on how to address the issue(s).

I did manage to write down a few of the tips mentioned:

  • Problem: experienced dev takes over pairing work to meet deadline. Keep track of the number of times that one developer takes control of pairing situation to meet a deadline.
  • Promote code team ownership, skill team ownership. Anyone can change (and hopefully improve) any code in the project. The team must take responsibility for improving each other’s skills. Find the time to help someone get better, otherwise one dev becomes an island of knowledge. Tomorrow never comes!
  • Isolated problem or ongoing? Observe if the situation is part of a pattern or a one-time event.

Part One (12 min)

Part Two (26 min)

Part Three (26 min)

Money For Nothing: Deliver More Value For Your Client (And You)

These are notes from Jeff Sutherland‘s Agile 2008 presentation “Money For Nothing and Your Change For Free: Agile Contracts“. Jeff summarized his talk in this way:

“The “Money for Nothing” strategy works when customers want fixed price estimates for the entire contract up front. The Agile contract allows termination of the contract early when the value of features drops below an ROI criteria. The contract allows the customer to save 80% of their remaining funds by giving the Agile vendor 20% of the remaining contract value in return driving the margins of an Agile contractor from 15-20% up to 50-80%.”

From Scrum Butt to High Performing Team

Jeff began his presentation by talking about the Nokia Test For Scrum Certification, which Nokia uses to measure their team’s level of agility (see questions and scoring method in slide show below). Jeff had everyone in the room score their own team. I rated ifPeople in general at a 5 out of 10, which is just above the starting average. Anything 8 and under is in the ScrumButt category.

Why is this important? Teams that score high tend to be the high performing teams. They also generate much higher revenues, based on Jeff’s analysis:

  • Great Scrum: 400% revenue increase
  • Good Scrum: 300%
  • Pretty good Scrum: 150% – 200%
  • ScrumButt: 0 – 35%

Jeff also compared agile to waterfall teams, suggesting high performing agile teams can outperform waterfall teams by a 5-6x margin. The problem is, contracts that are time and materials don’t reward high performance. T&M is low risk and low margin, you only get paid for the hours you put in, even when you take far less time than your competitors. Fixed price contracts aren’t any better, with vendors trying to out-discount each other. Many vendors only making money if the project is late and over budget due to change requests and building functionality that users do not want.

Money For Nothing

What if there was incentive for projects to end early? The Money For Nothing clause does this. Here is how it works:

  1. Use standard fixed price contract, with time and materials for changes.
  2. Insert Money For Nothing clause
    1. Only operational if customer follows Scrum rules
    2. Mutually agreed estimates for all work items, otherwise contract reverts to time and materials (thus incentive to agree)
  3. Customer decides when value of continuing project higher than cost to do so.
  4. Supplier allows termination of contract at any time for 20% of remaining contract value.
  5. Supplier assumes risk of late delivery of mutually agreed work.

Change For Free

Next, add incentive for the customer to follow Scrum process, and to be aware of impacts of changes to the release plan by adding a Change For Free clause:

  1. The customer must execute this option by working with the Scrum Team every Sprint.
  2. Failure to do this voids this clause and the contract reverts to time and materials.
  3. Changes are included with these rules
    1. Changes in priorities are free if total contract work is not changed
    2. New features may be added for free at Sprint boundaries if low priority items of equal work are removed from contract
  4. Requirements of customer:
    1. Features are prioritized by business value and implemented in order of maximum value
    2. Users follows project closely and work with the Product Owner to produce a quality Product Backlog

Embedding Scrum Incentive Into Contract: I Like (A Lot)

One of the reasons I went to Jeff’s session is we’ve struggled with some clients to get them engaged with the Scrum process. Yes, we do need to do a better job of explaining the process up front and what is expected of them. Defining roles and responsibilities right into the contract gives them proper visibility. Having incentives for the client to *want* to work in Scrum style increases the likelihood that they happen.

Extreme Data Point: Abandon Projects

Jeff ended the session by proposing that “projects are bad”. You know, the way most of us organize our work around teams. Apparently, this is a feeling shared by some other agilistas and companies, and more information will be published on this topic, hopefully later this year for further discussion.

Why are projects bad? Mostly because of tremendous start up / tear down costs. The new idea is to keep teams together, and have them all working on a continuous stream of work from a shared backlog. Work is then packaged up somehow into deliverables to clients. One way to do this approach is to productize architecture.

Challenges Distributed Agile Teams Face, and Ways to Overcome Them

Notes taken from Agile 2008 sessions on distributed Agile: “What Makes Distributed Agile Projects Succeed (or Fail)?” workshop by Chris Sims and Panel discussion on troubleshooting distributed agile team projects

Things panel found most surprising about distributed Agile (DA)

  • There are people at the other side!
  • DA can work well once the proper process and tools are in place
  • We can learn from teams in other places
  • Agile helps to ease cultural, time burdens through increased communication

What makes DA harder than co-located teams

  • Planning overhead is higher for distributed teams. May need to stretch out length of iterations, to adjust for the additional overhead needed for distributed communication
  • Standup and meetings in general take more time
  • Don’t act like your project is co-located – pay the tax for distribution
    • Executable requirements may help a lot – Fitness tests
    • Mini-specs for user stories – need to communicate more in writing with remote people
    • Use acceptance tests to drive story clarity
    • Have developers review tasks ahead of time to prevent blocking
    • Involve everyone iteration planning

What is most important to succeeding with DA

  • Unanimous: Need to get people together to build relationships, get more collaboration. Plan for at least 2-3 times / year. This also helps to understand cultural differences. Build in the cost of these trips into rates.
  • Leverage technology to bring people closer together – video top choice for people on panel. Use video to see each other, point to documents being discussed
  • Strong engineering practices – continuous integration, TDD, pairing, refactoring – on some teams, you can’t go home with anything that doesn’t build
  • Invest in coaching. You can improve scrm abilities by going down and training, spending time. Identify leadership within teams, and work with leaders to be a local proxy scrum master
  • Take time to understand cultural differences – inward (your own), outward (other cultures)
  • Need a well defined definition of done for team to follow.
  • The best way to build teams is through work. Succeeding (or failing) together at something draws everyone closer.

Other tips and observations

  • Time box discussions after standup if they tend to run too long.
  • Decide if people are suited to agile. Do they take pride in and ownership of their work? Do they show initiative? Are they technically strong?
  • A local proxy product owner is helpful
  • Take time to share about culture. Do things like share recipes, talk about movies, etc.
  • Get pictures of team members and look at them when collaborating.
  • Use remote pairing – avoid isolation
    • VNC and Skype are one option
    • When pairing isn’t possible then use code reviews to ensure *some* kind of review happens.
  • Ade Miller in his session notes observes that distributed teams are more dysfunctional than co-located teams. The act of distributing a team simply adds to any existing problems it might have.
    • Be prepared to do additional work to negate the impact of team distribution.
    • Articulate this work and cost to the business. It’s all about delivering maximum value to the customer not about hourly rates of individuals. Overall is the team delivering more value?

Agile 2008: Thursday & Friday Session Picks

Okay, round 3 of the Agile 2008 session picks. Agile 2008 is the premier conference of the Agile world. There are about 400 different sessions to attend, which is why I’ve taken about 2 days to wade through all the options. Earlier I posted my faves for Tuesday and Wednesday.

Thursday

Early Morning

Tough choices. Leaning towards Eric and the panel in the next session, otherwise user story mapping.

Before Lunch

  • From High-performing to Hyper-performing Agile teams, panel discussion. Presentation of 3 unique case studies, by 3 top notch agile guys, each showcasing how to crank up the agile performance.I want to hear “techniques for working with many and varied clients simultaneously: how to maintain consistent and predictable velocity, how to scale teams without losing efficiency,and how to move developers fluidly between multiple teams and multiple products.”

After Lunch

  • From Concept to Product Backlog – What Happens Before Iteration 0? by Gerard Meszaros, Janice Aston. “This tutorial provides an overview of what needs to go on “behind the scenes” between when a project is conceived and when development can start in earnest. It identifies the artifacts that may need to be produced, whether and when they should be produced, which activities can be used to produce them and who should be involved in those activities.” ‘Nuff said.

Late Afternoon

Friday

Agile 2008: Wednesday Sessions I’d Like To Attend

My last post covered sessions I’d like to attend at the Agile 2008 conference on Tuesday, the opening day. Here is the short list for Wednesday:

Early Morning

Before Lunch

After Lunch

Late Afternoon

Agile 2008: Tuesday sessions I want to attend

Following Mark’s lead, I am posting sessions I would like to attend at the Agile 2008 conference. There are so many good ones to choose from, it’s hard to decide! If you are planning to go to any of these sessions, post a comment and let’s get in touch. Also check out the Agile 2008 Friendfeed room for others attending.

Tuesday

Morning

  • Expanding Agile Horizons: The Five Dimensions of Systems by Mary Poppendick. I’ve read from a few people she is an amazing speaker worth listening to, regardless of topic. I’m interested in learning where Agile may be heading next.
  • Agile Distributed Teams by Douglas Shimp. At ifPeople, all developers work for partner companies in South America, mostly Argentina. I’m based in Canada and the rest are in Atlanta. So yeah, distributed is a big topic for us. 🙂
  • Leadership Success Recipes for Agile in the 21st Century by Jean Tabaka, Chris Louvion. Jean is another amazing speaker. I’m particularly interested in leadership as a project manager trying to become a scrum master. Only down side is talk seems focused on large organizational issues, though not 100% sure about that.

After Lunch

Late Afternoon

Alive and kicking

Wow, it’s been a millennium in blogging terms since I last posted here. That’s not to say I haven’t been blogging. I’ve just found my interests have been elsewhere.

I’ve been working on a few initiatives, now that family life is a little less demanding. Now that the twins have passed the one year mark, we’ve managed to catch our breath a little more often.

Blogging on parish life after losing pastor

In April, a few days before Palm Sunday, my pastor was granted leave by the bishop. My response to this shocker was to set up a blog to try and keep people informed as to what is going on and also to spark conversation. I see blogging as a voice for the people in the pews, who sadly often don’t have much say or influence over the affairs of their own parish. So far, the responses have been mostly positive, it’s affecting what happens in the parish in a good way (I think) but most people are afraid to post comments. I’m hopeful that fear will fade over time.

Building local sustainable living network

One of my passions is the environment and sustainable living. My inner fabric pushes me to make healthy, positive choices in all that I say and do, choices that benefit me, those around me and creation. Here in the Sault, the envrionmental movement is small and not welll connected, especially for individuals. I want to help build a network that can support and encourage people, business and local government to make sustainable choices. I’ve started a local mailing list called Rocks and Trees (lots of that around here) to connect people, and we get together on a monthly basis for good eats and conversation. Each month more people are signing up, which is encouraging. On Earth Day I launched a blog at greenmeans.ca. It’s a pitiful start to a bigger project I’ve wanted to do for a while, but hey, it’s a start.

Organizing the home-based remote worker scene

Working from home is great, but I do miss the personal interactions from an office environment. In January I started yet another mailing list for people working from home, in particular people working remotely for an employer. We also do the monthly lunch thing as we’re all happy to escape from our tower or dungeon every once in a while. There has even been some talk of sharing some office space for a social working experience every now and again. I think it will happen eventually.

So there you have it. I do need to get back to this blog, and there are plenty of blog posts waiting to emerge. I’ll have to set aside some work time I guess.

5 free things you should do to promote your blog

I noticed that a few Plone bloggers registered their blog at Technorati, having read Mr. Topf’s recommendation to do so. I agree wholeheartedly. Technorati is the largest directory of blogs, and offers increased exposure to your blog through its directory, tag and search features. And hey, it’s free, so why not take 10 minutes to claim your blog?

In addition, here are 5 free things worth doing to promote your blog that I’ve done:

  1. Provide a site feed on your blog. Ok, so you’ve done that, but do you know how many subscribers you have, and whether that is going up or down? Register your feed at Feedburner and take advantage of the free feed stats and ways to publicize your feed. We really need a way to integrate Feedburner feeds into Plone easily, and something I commented on this PLIP. Add your voice if you think this is a good (or not) idea.
  2. Offer email subscription to your blog for people who aren’t comfortable with site feeds (yet). Feedburner has such a feature that takes minutes to set up. Just copy / paste the html form code, or use a subscription link instead.
  3. Gather statistics using Google Analytics. If you aren’t monitoring and measuring traffic, how will you know what interests people the most? Discover most popular posts and what external links people are clicking on.
  4. Promote your online presence by adding a link to your LinkedIn and / or Facebook profile (you do have one, don’t you?). Give people a chance to find and learn more about you via other social networks. Conversely, you can promote your blog through your profiles. Add your site address to your profiles. In Facebook, auto-import your blog feed via the Notes application.
  5. Point to your blog by building a Squidoo lens. A lens is an organized directory that makes it easy for people to find your good stuff. It’s free and you should have one… it will bring you credibility and traffic. You could list your top postings, as well as a bio of yourself and your blog feed. I don’t have one on my blog (yet), but you can learn from me about all about ultimate frisbee!

There are lots more ways to promote your blog, but those are 5 you can do easily and costs you only your time.

5 ways to save on home energy costs this winter

My family moved into its first home just over a year ago. The previous owners weren’t concerned at all about energy conservation, judging by the excessive use of track lighting. We also discovered a lot of extra “air conditioning” around windows, doors and the attic. Sadly, I didn’t have much time to deal with the air leaks before winter arrived as we were pre-occupied with moving in before our twin boys arrived in November. Needless to say, there was no time after their arrival for anything but survival.

A lot has changed in the past year to cut down on our energy costs. These steps were easy to do, and didn’t cost much:

  1. All bulbs inside and outside the house replaced with compact fluorescent lights (CFL). Replacing five standard incandescent light bulbs with CFLs will typically save around $30 every year here in Ontario.
  2. Hot and cold water pipes are wrapped with insulation.
  3. All doors and windows are sealed with caulking and weather stripping. There were some gaping holes behind window and door frames and underneath one door I could fit a screwdriver through the worn out rubber that was supposed to be sealing the gap. All baseboards on main and top floor have been caulked also.
  4. Electrical outlets on the inside and outside of exterior walls have insulation gaskets sealed with caulking to restrict air flow. Basically, any where there is a hole in the wall, air can get through!
  5. Installed programmable thermostats for the electric baseboard heaters. I don’t have time to run around to every room and change the settings for when we’re there and when we’re not. Now the heat comes on a little before we get up and goes down around bedtime.

Save $$$ on doing the work

I am taking advantage of rebate programs to save hundreds of dollars making these upgrades. In our area, there are rebates to buy CFLs, water pipe insulation, programmable thermostats and many other energy saving products. The everykilowattcounts.com site has more information on rebates for purchasing these items.

Another program every home owner in Canada should take advantage of is the ecoENERGY Retrofit grant. An approved inspector comes and does an energy evaluation of your home. In return you get a report telling you what you can do to reduce energy use, and what money you’ll get if you do it. There’s some good money to be had, considering the provincial government is matching the federal grants. For instance, I’ll get $300 back for improving air leakage, and another $150 if I exceed the standard by 20%. Nice! There are grants for improving insulation ratings of the attic, basement, even getting a more water efficient toilet, plus several others. I like knowing exactly what I need to do, how to do it, and then getting paid for doing work that will cut my energy costs. Even part of the evaluation cost is covered. Highly recommended.

This post was written as part of a global effort called Blog Action Day to raise awareness and get action on climate change.

Thousands of voices, one cause

Bloggers Unite - Blog Action Day

Climate change is front and centre in the news again today, with the announcement of the Nobel Peace prize being awarded to Al Gore and the Intergovernmental Panel on Climate Change (IPCC).

This Monday, October 16, 13,734 bloggers at latest count including myself reaching an audience of nearly 12 million will unite together to put the issue of climate change on everyone’s mind. It’s all part of Blog Action Day.

If you write a blog, it’s easy to take part, and I encourage you to do so. Climate change affects all of us. The fact that the Nobel Peace committee considers climate change a real threat to world peace underlines that we all need to commit to changing how we live – right now.

I’ll be writing about ways I’m improving the energy efficiency of my home, which helps both the environment and my pocket-book, especially during those cold Canadian winters. I’d like to keep enjoying those cold winters, too, but climate change is already diminishing the snow levels here in Northern Ontario. Our last Christmas was a green Christmas. Snowmobile tourism is dying out.

On Monday, be part of the solution.