It's fascinating to watch 37signals adapt as it becomes a slightly larger company. I think the number of features accomplished is pretty impressive for it being their first attempt at this new way of working. Across multiple products, no less.
My first reaction to a lot of their learnings was "Duh", but of course I've only learned a number of those lessons after several years working with agile dev teams. Credit to them for sharing all of this.
I remember in college always being hammered with "break down problems into appropriately sized, manageable chunks." This looks like a great approach to it. Focus on a specific issue for a 2-week block, design-develop-deploy, and move on.
Key quote: "Late nights are a sign of scope failure. Hero mode is a sign of scope failure." Bingo. If you're regularly going into those modes, it means the problems weren't broken down into right-sized pieces.
We're doing 4-day weeks in the summer. They work better there since a good portion of the company lives in cold-weather climates. The extra day was often used for working, and when it wasn't it made the week feel like 3.5 day weeks. So we're starting to think of it as summer vacation every work week.
That's the current idea. We're ever-chaging so we'll see how it all shakes out.
Is programming twice as much work as designing? (2 programmers, 1 designer).
What would change if programming was 4x faster than it is now (e.g. because of imaginary better tools)? Would you do 2 designers with 1 programmer? Could you offload some of the designer work to programmers?
In my experience, designers are slower than programmers. It depends on the product but usually it takes some time to tweak all Internet Explorer issues.
To hijack the thread a bit: designer's tools are horrible. Photoshop misleads you, and designs done from PSD are easy to be poorly implemented. On the other hand, CSS/XHTML slows your creativity down.
I find this is an enormous opportunity for profit.
Do you have ideas on better tools for designers? I do for programmers, but if designers are a bigger bottleneck it would be great if their tools could be improved too :)
Unfortunately, no. I'm a programmer and sometimes a manager, not a designer. I don't know their pains too deeply. I merely keep seeing that the period between their "aha!" moment and the final implementation is definitely too long.
If I'd have to give any hints, I'd stick with what I wrote above, expanding it a bit.
Photoshop is a handy tool but it tends to attract people who are not web designers (there was a thread few days ago that you should hire a web designer for web design; a logo designer for logo etc.); also, it requires some experience with XHTML/CSS to get the fonts right, or realize that grid matters.
On the other hand, current CSS frameworks are rather painful to work with. I saw Blueprint hijacked million times, and the whole reloading concept is a big headache for non tech savvy folks. (unfortunately, the same applies to Compass)
I've worked in 1-2 week sprints for ages, and it works really well. As pointed out in the article, 1-2 weeks is a horizon/deadline that you can _feel_. That pressure focuses.
"We want to throw work overboard, not our sanity or our sleep. Late nights are a sign of scope failure. Hero mode is a sign of scope failure. You can’t compartmentalize burnout. Yes, we start new iterations every two weeks, but burnout carries over. The scope hammer helps eliminate burnout."
My first reaction to a lot of their learnings was "Duh", but of course I've only learned a number of those lessons after several years working with agile dev teams. Credit to them for sharing all of this.