Fred’s Laws (again)

Some time back (late September) I promised a series of posts on what I term “Fred’s Laws”, a set of rules you can follow if you are determined to have your software development project fail miserably.

Back in September, I promised I was going to post a law per day until I ran out of things to say. That lasted, well, zero days :-). For various reasons I felt it prudent to delay posting these for a couple of months.

The laws I am going to post are in no particular order in terms their impact. I am not sure how many of these laws there will be, and I am not even sure that they will not end up being self-contradictory.

(hey, I am doing this like a typical software project!)

I think the laws will fall into a few main categories:

  • Requirements
  • Project planning and tracking
  • Process, methodology, blah, blah, blah
  • Working with management
  • Working with marketing
  • Quality, testing, etc.
  • Technology and tools

Something to keep in mind here is that I am a big fan of process in software development. Not of big, heavy processes, but of some process. If you are going to go from A to B, you have to follow some process to get there. There is value in having some level of predictability and repeatability in that path. You may vary the path with the circumstances, but you should at least know what path you are improvising around.

Also, I do not believe that there are any rules which you can follow which will guarantee perfection in you software development efforts (at least not if you are building anything interesting). All of the rules, and process, and other magic spells can do is to improve your probability of success, and allow you to see when you are heading down the path of failure, allowing you to make some intelligent decisions along the way.

On the other hands, the are a few rules you can follow which can almost guarantee that your project will fail. Combine a few of them together, and you can make your failure truly spectacular. Stay tuned…

Advertisements

Beta versus VHS all over again

What a sense of déjà vu. Over the last few days, I have been looking at buying a replacement for the DVD player in my home entertainment system. The one I have is quite old, and was never really all that good to begin with.

Being a geek and a gadget freak, I am of course looking at upgrading to a new high definition player. As many, if not all, of you know there are currently two competing, entirely incompatible format for high definition DVDs.

Now, I am not in much of a position to argue the detailed technical merits of the two formats, nor do I have any interest whatsoever in being in such a position.

What strikes me here is that, once again, we have an industry showing a complete lack of respect for its customers, encouraging a large number to invest in a technology which not survive. Then, anyone who has invested in the losing technology will not only have to invest in new hardware, but will potentially have to invest in replacement copies of any media which have been purchased in that format. What a windfall for the media owners – almost like they could have planned it that way, if one believed they were smart enough.

Really, I think this whole business of an industry which cannot get its act together to agree on a single high definition DVD format is absurd, and shows that this industry cannot learns from its mistakes.

Can I do anything about this stupidity? Probably not. The only option I have right now is the same one all of us have – i choose not to spend one thin dime on this crap until the industry gets it head out of its, well, you know.

Get with it people.

Vista is a failure? Mac is a success?

This post was prompted by a post I saw on the WordPress “TagSurfer” about the current market share between various operating systems and OS versions. I cannot find that post again, so I looked up the stats at http://marketshare.hitslink.com/report.aspx?qprid=10, and the numbers looked much the same as I recall from the post.

What jumps out at me from the stats is this: Vista is at 9.19% (after about a year in the wild), and Mac is at 6.81%. And yet, Vista is widely perceived as a failure, and Mac is perceived to be on a roll. How much of a roll can Mac be on if they still do not have the market penetration of a new OS that everyone supposedly hates?

What these numbers say to me is that marketers, fan boys, and other obsessives can spin the numbers to say whatever they want you to buy!

Ok, so now what?

I will let you know, right up front, that this is going to be a largely self-indulgent post. I am basically just thinking out loud, and doing it in public. Kind of like standing on a street corner talking to myself, I guess.

You see, I am on the verge of a life changing moment. Or maybe I am in the middle of it – it is a long moment. It started when I received notice on October 11 that my services were no longer required. Maybe it started even earlier, when the acquisition of Whitehill by Skywire was announced, and I was pretty sure that my time here was coming to an end. No matter, since I do know when the moment ends – December 15.

This transition period has been very complex, emotionally. I have, after all, spent close to 9 years at Whitehill – a considerable portion of my working life. I have invested a great deal of emotion and energy into it. And of course there is the people side of things – I have worked closely with a group of people for many years now.

On the other hand, I have been feeling for some time now that it was time for me to move on from Whitehill, and do something new. For the past year or so I have been semi-actively working on other ideas, plans, schemes, etc. I have been held back, however, by inertia, fear, complacency – all the usual things. So, in a way, being laid of could be viewed as a good thing – forcing me past these issues which I may never have overcome on my own.

So, I am now presented with an opportunity to do something new. I can do something a little bit new, like finding a similar role in a different company. Or, I can go all the way and completely reinvent myself again (I have done this twice before in my working life). I am taking this situation as an opportunity to re-evaluate what I do, how I do it, and most importantly why I do it.

As is typical for me, this evaluation has involved a great deal of reading. Even before the transition at Whitehill became concrete, I had been reading a number of books on starting my own MicroISV, including Eric Sink on the Business of Software and Micro-ISV: From Vision to Reality, both of which were extremely useful. Recently I have been reading Timothy Ferriss’ The 4-Hour Workweek: Escape 9-5, Live Anywhere, and Join the New Rich, which is a very interesting read and has some cool ideas, though not all of them I see as being good ideas.

In addition, there are the various blogs I follow, such as Escape from Cubicle Nation (which has had a couple of interesting, relevant posts recently – Excellent reading for those paralyzed by fear of leaving their job and Tips on cutting the ties and saying goodbye from Psychology Today) which in turn led me to 10 Remedies For “I’m Starting My Own Business And I’m Paralyzed With Fear!”, which of course has a 10 links to some other interesting posts.

I must admit that even now, when I know I am leaving, i still feel paralyzed with fear a lot. I swing from be optimistic about the future, to wildly ecstatic about the possibilities, to absolutely terrified that life will collapse in six months. Part of this, I know, is because I am moving outside of my comfort zone. This will be the first time in 20+ years that I will not be employed by someone, for even one day. That is a bit creepy!

So, getting to the title of this post, what now? I really do not know at this point. I have opportunities out there already, and I have no shortage of my own ideas. I have been asked by various people what I want to do. About the only thing I can say for sure right now, is that I want to do something “new and interesting” – I just have not decided what yet.

I have decided that as of December 15, I am going to take a few weeks to “decompress”, and to unclog my brain from all the Whitehill clutter that has built up. The last thing I want to do is to jump into something instantly. I know with certainty that once I am away from here for a few weeks, my thinking will change dramatically.

All in all, it promises to be a very interesting new year!

Treating employees well

“The true measure of a man is how he treats someone who can do him absolutely no good”Samuel Johnson

Many companies claim to treat their staff well – claiming in fact that people are their greatest resource. In fact, I am pretty sure that I have never heard a company claim the opposite – when was the last time you heard a company loudly proclaim “we treat our staff like crap, and we’re proud of it”? Maybe these companies do exist, albeit briefly. I guess the companies which actually think this way do not make a point of mentioning it.Thinking for now, however, just of the companies who do claim that they treat their staff well, I have come to believe that there are two main groups:

  1. Companies which believe that you treat your staff (and everyone else, for that matter) well simply because it is the right way to be. There is no analysis of the ROI of being respectful. There is a fundamental belief in the right way of doing things, and a corresponding confidence that doing the right things ultimately leads to long term success.
  2. Companies for whom “treating people well” is a strategic decision, accompanied by detailed analyses of the ROI which will be achieved by treating different people with varying degrees of “rightness”. For these companies, there is no right or wrong here, it is merely a way to coerce the people upon whom the company relies into doing what is best for the company.

The difference between these two flavours of “we treat our employees well” is frequently made most clear when someone is let go – when for one reason or another, it is determined that a given individual is no longer of value to the organization. Companies in the former group treat outgoing employees with the same respect and kindness as they have all along. Companies in the latter group, on the other hand, show their true colours at this point, and will generally treat outgoing employees only well enough to avoid being sued, no more.So, which kind of company do you want to be?

Leopard will open the Mac OS X floodgates (and embarass Microsoft)?

Leopard will open the Mac OS X floodgates (and embarass Microsoft) – nice thought, but not very realistic. The fact is, Apple will continue to eat away a Microsoft’s dominance, especially in certain segments of the market (primarily those who would not be running Windows anyway), but will not become the dominant desktop OS (and hence, will not destroy Microsoft) unless Apple stops being a radically proprietary, closed environment, and lets users buy the OS and run it on whatever hardware they want. Same battle Apple lost in the 80s – seems they never learn.This assumes, of course, that Apple wants to be an OS vendor – maybe they are not stupid, they just do not want to compete in that market.

Five easy ways to fail?

Ok, so I just read Five easy ways to fail, which itself is just a quote from his article on Inc. Magazine. While I usually find Joel’s stuff intelligent, even when I do not agree with it, and I actually agree with much of the article, the piece quoted on his blog is one of the most mind-numbingly stupid statements I have ever heard outside of a political speech.

“Even though a bad team of developers tends to be the No. 1 cause of software project failures…”

I have never seen any statistics which support this statement. In 20+ years, I have never been part of a project (either as a member or as an observer) which would support this statement. I have been involved in projects where stellar teams overcame bad management, bad scheduling and many other common obstacles, but never have I seen a well-managed, well-thought-out project fail because the programmers just were not smart enough. I would challenge Joel to provide any evidence to support this.

Then again, I have never seen anyone stupid enough to have hired an entire team of stupid people, and then been stupid enough to keep them. If this is the case, you have a much more serious problem than dumb programmers.

Also, while it would be nice to have the luxury of hiring only exactly the developers who fit your profile, that is a luxury most of us do not have (see my previous post on hiring). The reality is that you are almost always going to have a distribution of talents on your team – you are going to have stars, you are going to have duds, and you are going to have everything in between. I am always guided by an article I read in Harvard Business Review many years ago, where the late Bill Walsh talked about building great teams. The basic idea was that in any team of ten people, you are typically going have 2 people who are so good, they are going to over-achieve no matter what you do. You will also likely have 2 people who will under-achieve no matter what. The six in the middle may under-achieve or over-achieve, depending upon how they are led. And the deciding factor as to whether you have a stellar team, or a failing team, depends upon how those six in the middle are guided/managed/coached/led.

To say that most projects fail because the team is not competent is not statistically supported, is overly general in the extreme, and smacks of the kind of statement bad managers make to cover the fact that they are bad managers.