Joel mentioned that the question "Why make Setup at all? You already have your customers' money. Good Setup programs don't increase sales." was hardest to answer. He came up with three reasonable sounding answers but they do have the aura of post-rationalisations rather than genuine considerations.

After all, who will be installing FogBugZ ? By virtue that FogBugz is primarily a tool for teams developing and maintaining software, presumably the majority will be experienced system administrators (or developers). The type of people who don't like other people messing with "their system". I wouldn't be surprised if more than a few weren't tempted to try to figure out what Joel's Setup was doing so that they could install FogBugZ manually, they way they want to install it.

I'm sure these people would be much happier with a clear concise installation guide.

So perhaps the real answer to the question "Why write a Setup at all ?" is because it was easier/more fun/cheaper* than writing a good installation guide ?

*Delete as applicable

Peter WA Wood
Wednesday, October 09, 2002

"Why didn't you just write good setup instructions?"

People rarely read instructions, much less understand them.

.
Wednesday, October 09, 2002

"People rarely read instructions, much less understand them."

That usually applies for operational instructions. But people who need to install and configure specialist tools, have other agenda's.

Particularly, installing a new application on your corporate or even private database system is something no system/database manager would want to do without knowing exactly what happens. Not to know every detail of every table of course, but to know the impact of the new tool on other parts of the system. And to know what to do in case of a calamity. You miss out on that if a setup program does all that.

You may not want the program replaced entirely, or at all, but the general rule quoted above does not apply as strongly as it does in case of general usage.

Erik
Wednesday, October 09, 2002

"Decreased tech support cost. This setup program will pay for itself over the life of the code"

I think this is the best justification for a good setup program. You are guaranteeing yourself a solid baseline when a call comes in because while you don't know how the local administrator will interpret your instructions, you do know how your setup program behaves. Don't try to tell me that well written instructions can't be misunderstood. They can. If an administrator is worried about what the software will do to his system, he can call tech support. I wouldn't be surprised to learn that calls from conscientious system administrators take a lot less time to resolve then those that come from their incompetent brethren.

Geoff
Wednesday, October 09, 2002

At some point in the rational process the little gremlin of pride snuck in and whispered in his ear 'This could be cool to do, you'd feel really good if you did this and it worked...'

And then the harbinger of failure whispered in the other ear 'oh but the risk, if it doesn't work, the wasted time, the possibility of screwing up someone's machine, lost sales, embarrassment, ruin, bankruptcy...'

'ahhh', says the gremlin of pride, 'but it would be so cool...'

etc, etc.

Who said risk assessment was boring? Someone that never took risks, obviously.

Simon P. Lucy
Wednesday, October 09, 2002

I thought the answer was that unlike people who ask "Why didn't you just write good setup instructions?", people who go to the lengths of writing their own setup if thats what it takes to make it work understand why customer satisfaction is way more important than our laziness.

Robert Moir
Wednesday, October 09, 2002

"Why didn't you just write good setup instructions?"

Because there's no fun in that.

Alberto
Wednesday, October 09, 2002

I think the best preparation for writing good setup instructions or answering setup questions would be writing the setup program.

tk
Wednesday, October 09, 2002

The way I see it, one of the largest benefits of a product like FogBUGZ (or any other development tool that is supposed to save help save me time and headaches) is that it does not require me to sit down and read through a detailed list of setup instructions.

In fact, half the reason I'm willing to pay for a product like FogBUGZ is that I can just download it from the web, throw it on a free machine that meets the basic requirements, fire it up and forget about it until it starts emailing me bug notifications.

If I wanted to go through the hassle of figuring out all the intricacies of exactly how FogBUGZ works and which dependent files it will need, and where they need to live, and then perform a myriad of little tucks and tweaks here and there to get everything just so, then I tend to start wondering why I shouldn't just write my own system from scratch.

I think that micro-managing sys admins with God complexes who feel the need to pick apart every setup and perform it manually because they can't bear the thought of someone else touching their precious systems are often a huge drain on company resources. In the time they spend over-analyzing things, they could just as easily have scrounged up a cheap, basic machine to throw the "suspicious" app on rather than trying to figure out how to throw it into the mix with all their mission-critical data. Any large company easily has the resources to do this. (That's what we did and we're a small business.) And as an aside - isn't this the type of thing *backups* are for anyway?

I also question whether a large company with an IT department run by "my way or the highway" types would even fall within the target demographic for a product like FogBUGZ. Seems like this type of organization would probably prefer to just write their own system in the first place...

Tim Lara
Wednesday, October 09, 2002

-----------------------------------------------------------------------
I'm sure these people would be much happier with a clear concise installation guide.
----------------------------------------------------- Peter WA Wood