May 5, 2005

Pace, Decisions, Software.

One of the illuminating things about working for Novell is getting to talk to people from around the company as they (or I) wander offices and locations. I don't do nearly as much of this as other people within the company, but I make up for it by being at least fifteen times as loudmouthed and opinionated as most of those I come across, plus ten times as willing to mouth off about crap that those on the receiving end of my bloviations are quite sure I have no credentials to be talking about anyway.

Recently, the topic of decisionmaking at Novell came up. (Woo! Here's my chance to get fired for blogging!) Fear not, I'm not going to get into specifics about products, organization, people, or anything like that. I'd like to talk about goals, stated and otherwise, and about what Novell is Trying To Do - since that has been a popular topic on blogs related to this company in recent months.

Let me make one thing clear at the outset of this post. I'm not a software engineer. Nor am I a project manager. Nor am I a corporate executive. My views don't reflect those of my employer. I don't have information that is not available to anyone who simply reads the trade mags (at least, not about the stuff I'm talking about). Furthermore, I in no way affect policy (thank whatever you hold holy). So there. I'm an Op. I make shit work, mostly. Sometimes I break it. Sometimes I get up at 3 am and haul my lazy black ass into the office because a server has gotten lonely and decided it needs to feel loved, or because some user has done something that we in the biz call 'stupidwrong.'

I rant about the state of Novell and its Linux strategy from the POV of someone who has now worked within Novell-the-corporate-structure for about eighteen months, and who has worked with Linux the thing and community (note I don't say product) for about seven years. I've worked in IT, part and full-time, for around fifteen years. That's not a claim to Superior Understanding; that's just a statement of my point of view, so you can decide for yourself if you are going to lend these words any credence. I can't tell you to do so; you have to make that decision.

Back to the point.

In any case, I see the tension as follows. Novell is an Old World Software Company. It was the epitome of Old World Software company. It lived and thrived on measured, managed, release-cycle engineering, with Managed Customer Expectations and predictable upgrade revenues. Shipping product on time? Much more important than fanatic attention to detail. Appeasing the stockholders? Absolutely critical. Who were and are the customers that need to be kept completely happy? Large, conservative enterprises - financial institutions, etc. - with conservative, enterprise buying habits.

Not all of this has changed. The latter, for example, is still true. But there's a tension, now. The declared future of the company rests on Linux. Linux is not something that will sit still long enough for you to shoehorn it into your corporation's familiar release cycle. Nor is it something that will permit you to ship it raw to keep the customers happy.

This is not because the final market is so very different. After all, we're not expecting (as I see it) to keep Novell alive by forsaking the enterprise customer! We're planning - and working like bees - to make the enterprise customer stable, productive and functional by utilizing the New Hotness that is linux, rather than by locking them into the death spiral of Netware. Don't take that as a slam on Netware - everything dies. Entropy, you know. Netware is a Grand Veteran of the software industry. In any case, the problem is that Novell isn't there yet. We're working to prove ourselves to our customers and to the industry that we can pull this off. I think we can. The problem is that this means that there is an incredible spotlight on the things we are doing right now - and that products that are being released now matter more than ever.

Couple that with the fact that the Linux world doesn't work like the old software world. The Linux world (I know, there's no such thing as 'the Linux world' - how about 'the new Sofware industry? Nah, no better...I'll keep trying) is one where the community watches, reads, dissects, comments, blogs...everything. No-one is immune. Open Source software, for better or worse, has a concomitant ecosystem of very smart and very dedicated people who spend a great deal of time, sometimes with motivations that 'classic corporations' do not understand, evaluating, testing, improving, commenting on and 'policing' software. Not only software - moves made in the business world that in the 'old' software industry only 'industry analysts' and stockholders would care about.

Plus, the community listens to them - not always, and not unanimously. But linux as a whole, and its uptake and use, can be swayed by the response of these watchers.

In this context, the 'old world' attitude of 'the release cycle matters because stockholders need to see a product out before year's end' is not as important as getting it right. A mediocre product, at this point in our business, is not a simple low point on the release cycle - it's an amplified perception problem. Problems that are being caught in early QA testing yet not being fixed, or being passed over due to limited time in cycle are signs of decisions which are perfectly proper in old world engineering. They are absolutely fucking lethal if carried over into the changeover period.

If cycles aren't adjusted to handle product polish, if design constraints are not mediated or adjusted to take into account the fact that these products are designed not to add 'incremental functionality' but to introduce skeptical conservative users and hyperattentive Linux commentators to a Whole New Way of Novell, then all the work, all the effort, all the Culture Change, all the money in the world won't make this happen.

In some cases, these things are happening. Sometimes, there is a sense that we're performing for the world. Sometimes there is not - there's a sense that we're doing the 9-to-5 job. This difference knows no facility or geographic boundary. It doesn't map to which business unit people are in. It doesn't map to how long people have been at Novell. But it's there, nonetheless.

You can probably guess which side of that difference makes me absolutely fucking crazy sometimes.

Posted by jbz at May 5, 2005 4:56 PM | TrackBack

Post a comment

Remember personal info?