Wednesday, April 8, 2009

The Catch-22 of functional specifications

Running away from writing functional specifications is a common thing. We prefer to talk about them. When someone joins the team, people from various areas of the project are asked to have a chat with the newcomer and provide her some insights.

However, these discussions have a tendency to repeat themselves in time and also change in a few ways, leading to chaos.

Writing functional specifications helps. Joel Spolsky shows how in a 4-part series, which may look daunting to read due to the length, but it's basically a 30 minutes lecture and it's fun and useful.

Why don't people write specifications, even for a small tool they built, that can be reused and that can clearly state what's going on? The invoked reason is always the same: no time!

This is the Catch-22 of functional specifications: people don't have time to write/maintain specifications, because they have to spend time explaining to their colleagues how things work. And they do this, because there are no up to date specifications.

Thursday, April 2, 2009

IE6 - to support or not to support

Yesterday I was reading this post from the Pingdom blog. I forgot it was the 1st of April, so I thought they went mad.

I realized it's a joke when I saw the first testimonial on the SaveIE6 website mentioned in the post, testimonial written by a certain Steve B. Bangal, Inventor of spaghetti code.

Image by hashmil

First time I read about this call to action by Robert Nyman here. Robert is trying to convince web developers to stop writing special code for Internet Explorer 6. And when you want your web pages to look decent in IE6, you need to write special code. People call it hacks.

We didn't discuss yet if we're going to stop supporting Internet Explorer 6 in Teamness. It's very tempting to do it, given all the frustrations we've been through.

So far, we had 18% of the visits on the public website and 6.5% on the private one coming from IE6. The numbers are small, so I believe we can start the countdown for casting out the hacks.