Those Who Still Need Classic

August 13th, 2006

Chris Adamson talks about the disappearance of classic support now that Apple has switched to Intel. It's true, pretty much everyone has moved on from using classic apps, but there was one place I knew I could turn to find people still waiting for their favorite app to be updated: the HyperCard mailing list. Even there though the number of questions about intel are pretty light on as nearly everyone has moved on to HyperCard alternatives or just moved on to something else altogether.

It turns out though, that at least one person is running HyperCard on an intel Mac - using SheepShaver, an open source PPC Mac OS runtime environment. So apparently, it is still possible to run your favorite classic Mac apps - even if you switched to Windows.

Dealing With Trouble While Adopting XP

August 12th, 2006

The XP process allows so much flexibility in getting things done but this comes at the cost of focus. I've previously talked about how product managers have to be careful they don't abuse the flexibility in XP, but recently Ephox has discovered the huge benefit that being focussed can be, even when you're doing XP.

We've come up against a very tight, very important deadline for a really big, really difficult new feature and at the same time we lost our entire support department so all support fell into the engineer's laps. Support is just one of those things you have to do as a software company and our first impression was that the extra support load would reduce our velocity but we'd be able to share the load around the team, get the day's cases out of the way and get back to developing. What actually happened was the entire engineering team wound up doing support all day and development stopped. Worse still, the team felt drained and tired all the time. We should have been able to get support out of the way faster and get developing, but for some reason we couldn't.

The problem was a lack of focus. Instead of coming in each day looking forward to getting our teeth stuck into the really big, difficult feature and making progress, we came in wondering how much time support would take up. On top of that is the impact of context switching - every time you start a new case you have to come up to speed with a new customer's use case, their problem, a new area of the product and often, another product. All that context switching not only takes time, it tires out your brain. By the time you get to actual development, you're brain has had enough for the day and just isn't capable of working on really big, really hard new features.

So what have we done about it? We split the team in half. Half the team spends all their day doing support so that we keep up our high levels of customer support. The other half spends all their day doing development so we can actually have a chance of getting that really big, really difficult feature done. We've only been working this way for a week now but we've made more progress in that week than we have in the prior month. Instead of feeling like the big feature was turning into a big death march, there's some hope of getting it out on time.

There's some very serious down sides to this approach though. We've just sacrificed half our team to doing support  - that's a tough job to do, particularly when you're a passionate developer that loves creating new stuff. So it's a big ask for them to just focus on support and the team and the company needs to appreciate that - a lot (and we do). The other major downside is the lack of knowledge sharing. We had been rotating pairs around the entire team and we were making real progress at bringing everyone up to speed with all our products. We've had to sacrifice that to make our short term goal and it will come back to bite us in the future. Friday afternoons is now code review time where we go back through what we've done for the week and explain it to the rest of the team - it's not as good as pairing with them, but it's better than nothing.

The most serious risk with this though, is the risk that quality will drop. There's no point in shipping this really big, really difficult feature if it isn't also really good and really reliable. We need to keep up our discipline while under the stress of a tight deadline and while we don't have the whole team providing their unique skills to the development work. That means a lot of discipline and constantly checking that we're doing everything we can to get things right the first time.

We'll definitely be constantly reviewing the product quality, knowledge sharing debt we're accumulating and how the team is feeling to make sure we don't sacrifice too much long term potential for a short term gain.

One More Thing On The eCensus

August 9th, 2006

I found it rather amusing that while filling out my census online it asked me:

Question 59: Can the internet be accessed at this dwelling?

To be fair, the options provided to answer included a description of what type of connection you had so the question couldn't just be assumed, but it's funny none the less.

How Happy Is Sun Now?

August 9th, 2006

I haven't paid a great deal of attention to the WWDC keynote details - just sampled the various discussions going on. I was however interested in a comment by Ted Leug that Apple were including DTrace in Apple's performance tools.

I wonder what Sun think about this. DTrace was a key Solaris feature and now it's coming out for OS X and I seem to recall mention of projects that are porting it to Linux. As a developer it's nice to see your code become popular so the DTrace team are probably thrilled. As a company though, it's hard to leverage the benefit of your investment when everyone else is reaping the benefits. Even if Sun get improvements back from Apple, where's the benefit for them? Apple and everyone else have those improvements too. The ubiquity argument of Java doesn't seem to apply here, you don't build on top of DTrace, you use it as a debugging tool. The support business model probably doesn't pan out either - Apple will be providing support for it themselves and they're the experts on DTrace on OS X, not Sun.

Overall, I can see benefit to Sun in open sourcing Solaris - the ubiquity and support business models have potential for the OS as a whole, but the ability to pinch key advantages of that OS and port them to other OS's seems to be a boon for Solaris competitors. Then again, is Sun really competing in the OS market or are they just using Solaris and Linux to sell their server hardware? Most likely, they don't stand to lose a lot of Solaris gradually dies off, as long as their hardware runs the OS that takes over from it.

That said, clearly this is a boon for OS X developers so you won't hear me complaining about it.

Handling Frequent Updates In The Enterprise World

August 9th, 2006

Mitch Tulloch raises a concern over how large enterprises would react to Microsoft moving to more regular, iterative releases. The answer for large enterprise who can't handle releases coming out more often than once every six years or so is to only update when they are ready instead of every time there's a new release.

With Apple, this isn't a great option because Apple don't have very long support periods for older OS's, but that's not the case with Microsoft - a legacy of the fact that they deal with large enterprise and Apple in general does not. Companies that were running Windows 95 would only have reached the point of having to upgrade, what, a year or two ago? That's easily more than the required six years between upgrades.

So if enterprises won't upgrade anyway, why would Microsoft want to release more regularly? Well for a start it avoids the embarrassment of huge schedule slippage like with Vista and more importantly, it would help keep Microsoft competitive in the consumer market - something that is very slowly moving away from Microsoft. That's not to suggest that Microsoft will lose it's commanding lead in the OS market or that you should expect Apple's market share to suddenly jump. However, Microsoft is clearly under increasing competitive pressure that would be relieved with more frequent releases.