magpiebrain

Sam Newman's site, a Consultant at ThoughtWorks

Archive for ‘September, 2006’

I’ll be presenting a session entitled “Refactoring Databases for fun and profit” with a colleague at this year’s “XP Day 2006”:http://www.xpday.org/. XP Day (not just XP, not just one day…) is run by the long-established (and Olde Bank of England regulars) the “Extreme Tuesday Club”:http://www.xpdeveloper.com/. I attended last year and can highly recommend it to both beginners and seasoned practitioners alike. The conference is very vendor-lite – it is run by practitioners, for practitioners.

Our session will be feeding back experiences of using some specific database refactoring techniques, and will also be presenting a new open source tool for managing database change.

First came the worlds first most modernist computing conference, “PoMoPro”:http://www.bcs-spa.org/pomopro.html, then came this great bit of post modern spam:

Are you looking for bulk email software to promote your online

business and increase your profits?

Seeking ways to promote your web presence?

Do you need bulk emailing software to send the ads?

If so, our e-mail marketing utilities can help you reach your goals.

Let’s ignore the fact that I often blog about blogging, shall we?

This month’s meeting will be on Monday the 2nd of October – I’m hoping to try and make the first Monday of each month the regular time for these little get togethers. As usual, it’s informal, no real agenda, however I’ll probably be talking about Database refactorings and Microformats.

After an interesting meeting earlier this month, where Jason provided us with a very cool Selenium demo, I’m once again hoping for people to bring along stuff to show off. This time around I’ll do my best to get a quieter space – hopefully one of the rooms at the Olde Bank of England. We have a room at the Olde Bank of England. Starting 7pm as usual, although I’ll probably be there from 6.30pm.

Please let me know if you’re going to attend – either by leaving a comment or mentioning it over at “Upcoming”:http://upcoming.org/event/108986. As always, the event is on the “London 2.0 iCal feed”:http://www.google.com/calendar/ical/c7ilcesmkkn0e3bkirk4kgf5cc@group.calendar.google.com/public/basic.ics too.

I’m in the process of saving up for a new Mac (probably a MacBook Pro) for photo editing. I’m seriously considering getting Apple’s “Aperture”:http://www.apple.com/aperture/ software. I know the history of the project has been “beset by problems(ThinkSecret – Aperture future in question as Apple axes bulk of team)”:http://www.thinksecret.com/news/0604aperture.html, however with things having stabilised (and the price being slashed), I was thinking of giving it a go.

Does anyone have any experiences with it? Should I consider it? Or should I wait for “Adobe Lightroom”:http://labs.adobe.com/technologies/lightroom/?

Overview

I’ve had a chance over the last few years to observe various different types of tech leads. Collated here are my views on what I think makes a successful one.

A Tech Lead Should…

  • Ensure the creation of a clear and consistent technical vision for the project which can best result in a successful project
  • Ensure all members of the team have a proper understanding of the technical vision
  • Ensure that the technical vision updates to reflect new requirements
  • Track and resolve issues where the code deviates from the technical vision
  • Create an environment in which all members of the team can contribute towards the technical vision
  • Understand and address skills gaps in the team which would result in difficulties implementing the technical vision

A Tech Lead Should Not…

  • Tell everyone what to do
  • Necessarily be the best at everything
  • Write no code
  • Write all the hard code
10 Comments

I just got this from an old colleague:

Despite all of our many successes, our architect has started making noises to the product management team that pair programming is a waste of money.

Why should he let mountains of academic research and our own project metrics get in the way of his own personal opinions!?!?!

Sometimes I just want to pack up and go home

Now first off, when people start talking in favour of Pair Programming, I tell them two things:

# From what I’ve seen, it’s the most efficient way to transfer skills, reduce “truck factor”:http://www.agileadvice.com/archives/2005/05/truck_factor.html, ensure quality and (say it quietly) stop slacking. It’s also damn hard to get some companies to try it for a number of reasons.
# Read “this Hacknot article(Hacknot – A Critical Look At Some Pair Programming Research)”:http://www.hacknot.info/hacknot/action/showEntry?eid=50 before you start quoting studies.

I don’t happen to agree with the editorial bais of the Hacknot site – my own (and my company’s own) experience has shown that we produce better software more efficiently when pairing. That said the study quoted is clearly flawed for the reasons mentioned. There have been more studies since – one day I should really get round to pulling them all together. The major problem in producing such a study is that I don’t know anyone who would spend the money creating a real world experiment over a long enough period of time to produce conclusive results.

I am however fairly sure that “pairing with a cat”:http://www.hacknot.info/hacknot/action/showEntry?eid=21 yields no benefit over pairing with an alternate programmer.