Lessons from the art of storyboarding

Storyboarding is a traditional and very useful technique for planning and checking film, video, and other visual arts. Presentation Zen points out that it is also a powerful technique for making better presentations.

Presentation Zen: Lessons from the art of storyboarding

Just Breathe: Building the case for Email Apnea

Do you hold your breath while reading email? While typing? While thinking about this blog post?

Linda Stone wrote a blog post about a year ago on this topic, claiming all sorts of health problems might be averted if we just remembered to breathe properly. Do you think this is a real problem?

Linda Stone: Just Breathe: Building the case for Email Apnea.

Install multiple versions of IE on your PC

This is brilliant! Last week I eventually gave in and accepted the update to Internet Explorer 7 on my last development PC. I had been keeping IE6 around so that I could test on it’s broken-but-still-common behavior.

I still need to test on IE6, though, so I was resigned to either installing a fresh version of Windows XP on an old PC, or setting up a virtual machine image. However, it looks like I won’t need to do that after all.

Yousif at tredosoft has put together a simple installer which lets anyone run a whole bunch of IE versions on the same box. Excellent!

Install multiple versions of IE on your PC | TredoSoft.

Color Scheme Designer

From time to time I find myself forced to design a web site without being able to hand the task to a proper graphic designer. I find that I can just about produce workable layouts, but colour baffles me.

I’m always on the lookout for useful tools to help the design-challenged, and this one looks particularly cool, as it includes a way of checking how your chosen colours might look to users with different types of colour-blindness.

[ws] Color Scheme Designer.

Agile Risk Management

There are lots of approaches to estimation for agile projects, but not all of them include estimation of risk. Some approaches deliberately ignore risk, preferring to work from hindsight and averages.

For the others, a consideration of levels of risk for each estimated story or task seems a good idea.

InfoQ: Agile Risk Management.

Hiring Software Developers: The Agile Aptitude Test

I know it’s a funny time to be writing about hiring with so many layoffs, but any company which can afford to hire needs to hire the right people more than ever. We have spent a lot of time and effort on the traditional CVC/resume and interview process, and still managed to reject the great majority of applicants. So I’m always looking for a better way to do things.

The “extreme interview” process described in this article is an interesting step along the way.

Hiring Software Developers: The Agile Aptitude Test

Optimise your team

Coping with difficult times is a topic of the moment. Jared from Agile Artisans writes about optimising a team.

Agile Artisans::home.

Chef – scriptable multi-machine deployment

I’m a strong believer that manual steps should be automated wherever possible. One of the areas of our current product which seems to require an inordinate amount of manual “faffing” is provisioning and deployment.

Chef, a ruby system for distributing and automating just these kinds of tasks seems an interesting solution.

Home – Chef – Opscode Open Source Wiki.

Martinig’s 10 Favorite Agile Project Management Articles

An interesting collection of articles. I have read a small number of them, but I’m looking forward to enjoying (or at least complaining about) the rest.

My 10 Favorites Agile Project Management Articles | From the Editor of Methods & Tools.

getteamtasks – get your flexible task management wiki here.

While setting up for some new work on my masters dissertation today I checked to make sure I had the latest version of TiddlyWiki. While looking I found a whole “ecosystem” of TiddlyWiki variants.

One which particularly caught my eye was “teamtasks”, a neat way of using the TiddlyWiki technique to simplify project planning and tracking

getteamtasks – get your flexible task management wiki here.

Embrace Uncertainty

In the current economic and work climate, it sometimes seems as if uncertainty is “flavour of the month”. In reality it’s been there all along, particularly in the field of software where the whole point is that choosing software over hardware is supposed to make change easier.

Jeff Patton has put together a presentation about using this uncertainty rather than fearing it.

InfoQ: Presentation: Embrace Uncertainty by Jeff Patton

Agile Advocate’s videos on Vimeo

Agile development, Lego, and video – what a combination! A cute series of short stop-motion videos explaining agile techniques.

Agile Advocate’s videos on Vimeo.

Update: the figures in these videos are, of course PlayMobil, not Lego. That’ll teach me to blog in a hurry :(

Pounding A Nail: Old Shoe or Glass Bottle?

I just found this article from 2005, but it’s a classic!

Pounding A Nail: Old Shoe or Glass Bottle? – Alex Papadimoulis’ .NET Blog.

(via Stack Overflow Blog)

How to Embed Almost Anything in your Website

Another summary of useful tips. This time about how to use existing software and familiar techniques to give a richer web experience.

How to Embed Almost Anything in your Website

Put Your Large Pictures in Web Pages without Resizing Them, use Google Maps

With digital image sizes growing faster than screen space, it’s hard to put any kind of picture on the web without resizing it. There’s a great trick to use the Google Maps interface and a free “image cutter” to make zooming and panning across huge images easy.

Put Your Large Pictures in Web Pages without Resizing Them – Google Maps Image Viewer

I’m sure I could have made use of this if I had known of it sooner.

PhoneME, a JavaVM for wifi routers

For some time I have beem mulling over the posibilities of deploying applications to low-cost wireless routers to provide hyper-local services to wi-fi surfers. One thing which has always put me off is the apparent need to dig deep into low-level Linux hacking. It’s a *long* time since I last did any significant C development.

However, it seems that there are ways to support a small footprint Java virtual machine on some of this class of devices. This in turn opens up opportunities for deploying some of my own small-footprint java software here.

Wolf Paulus’ Web Journal:PhoneME, a JavaVM for the Fonera FON Router.

Pair programming is just like flying a plane

Flying is scary enough even without software development analogies! However, there is something to be learned about the practice of pair programming from studying problems with two-pilot aircraft – especially the kinds of problems which led to crashes.

Sarah Taraporewalla’s Technical Ramblings » Pair programming is just like flying a plane.

Agile: When is a story done?

Anyone who has worked with me in the past will probably recognize my standard response to vague or unclear requirements – “how will I know when I’m done?”. I use it so much becuase the simple trick of changing viewpoint to view work in terms of acceptance criteria is key to enabling sensible discussion, estimation, planning and development to begin.

Mark Needham has been considering similar issues, but rather than using the technique to clarify requirements so a pice of work can enter the development process, he looks at how to decide when to remove it.

Agile: When is a story done? at Mark Needham

How to Kick Ass at anything

Kathy Sierra is always worth paying attention to. This 30-minute audio is Kathy doing her inspiring, thought-provoking, energising thing at an O’Reilly conference.

Kathy Sierra on How to Kick Ass | IT Conversations

Context and problems with “Best Practice”

I sometimes have to suppress a shudder when people use the term “best practice”. Despite a positive sounding name, the idea of “best practice” is almost always used in a way that is restrictive rather than enabling. Declaring one approach or solution as “best practice” by implication shuts out other answers.

I will admit that for some (very narrow) fields there can be a common understanding of the one best way to do something, but this is often so well understood that it does not even get a name. Walking on your feet is generally better than walking on your hands or knees, for example, but I have never met anyone who referred to foot-walking as “best practice”.

In my world of software development, where the landscape changes at a moment’s notice, naming something as “best practice” is tantamount to declaring it obsolete. Yet large numbers of software developers still numbly follow the its lead.

James Bach tackles a similar issue in testing James Bach’s Blog » Blog Archive » The Great Implication of Context-Driven Methodology.