Fog Creek Software
Discussion Board




Quotes from a custom soft dev proposal

"The development schedule is based on our work with cooperating customers. Since customer priorities change on an almost daily basis, this process can be quite unpredictable. We will not be announcing a release date until the program is ready to ship."

"Performance is scalable. You can get any amount of performance you want out of a SQL Server database (by upgrading hardware)."

Anyone else find this eyebrow raising?  A client has asked us what we think of the proposal and my instinct is "run!!!".

Withheld
Thursday, March 04, 2004

"Performance is scalable. You can get any amount of performance you want out of a SQL Server database (by upgrading hardware)."

/me tries to imagine a program which couldn't get a performance increase by upgrading hardware

Matthew Lock
Thursday, March 04, 2004

Notepad.

Philo
Thursday, March 04, 2004

So did MS build some sort of performance limiter into Notepad so it runs the same on a 486 as a Pentium 4?

Matthew Lock
Thursday, March 04, 2004

It may load quicker, though probably not after 6 months, but the duty cycle for collecting keystrokes is exactly the same regardless.

Simon Lucy
Thursday, March 04, 2004

"We will not be announcing a release date until the program is ready to ship"

No, what you do in a proposal is specify the features, and a release date (like T+14 months, T = receipt of first payment). If "customer priorities change", you revise the release date based on the new and discarded features. But you specify that in the proposal, so that the customer knows they can change the specs but with consequences to the schedule.

Rick
Thursday, March 04, 2004

>> "The development schedule is based on our work with cooperating customers. Since customer priorities change on an almost daily basis, this process can be quite unpredictable. We will not be announcing a release date until the program is ready to ship."

So it's done when it's done. What's the problem?

QUITE understandable and it indicates to me that the software developer has, indeed, done this kind of work in the past.

Clients generally run the software developer ragged with changes that are out-of-scope from the original specifications. And many clients, especially end users, are clueless that changes in specifications may propagate through the deliverable work and may require much additional effort.

I have rarely seen any SW development specification that the client didn't modify continually.

Bored Bystander
Thursday, March 04, 2004

"Performance is scalable. You can get any amount of performance you want out of a SQL Server database (by upgrading hardware)."

In other words.  We're too busy adding featuritis to this damn thing to do any sort of tuning or optimization, or being IDEiots we plain don't know how.  So if you want better performance, buy better hardware.

I would run from a product like this.

Mike
Thursday, March 04, 2004

Bored,
  If you're writing shrink wrapped software, then you can play the "it's done when it's done" card, and more power to you if you can overcome the salesdroids and do it (and turn a profit, because you're saying you know your market VERY well.)  Few projects I've been on have had this luxury - most are projects driven by a business need that must be met.  (Of course if you're smart - you trim your scope down enough so that "When it's done" is going to be inisde your business need deadline.  Most users will hate you for  this because that means you'll have to cut their AI level data entry wizard and their custom reports to show them in the absolute best light to their VP.)

Mike,
  Yes and no.  Scaling in hardware is a practical consideration for lots of reasons.  The database is one of the few places that I would NOT want to rely on hardware scalability.

Unfocused Focused
Thursday, March 04, 2004

"So did MS build some sort of performance limiter into Notepad so it runs the same on a 486 as a Pentium 4?"

Well, as far as I'm aware, Notepad has always been pretty much a single-user application. Anyone ever tried to set up a Notepad server? Maybe it does scale...

Notepad Collaboration:
"Give me the keyboard!"

Philo

Philo
Thursday, March 04, 2004

> Well, as far as I'm aware, Notepad has always been
> pretty much a single-user application. Anyone ever tried
> to set up a Notepad server? Maybe it does scale...

An MDI version of Notepad would be required.
Speaking seriously, Notepad is pretty sluggish with a, let's say, 100 MB file. So it would definitely benefit from a faster processor. Hey, the edit box control in Windows was not designed to scale! :)
An example of an application which becomes more sluggish when hardware is upgraded - a badly written server Java application using files. It does not release the file handles, so this has to wait for the garbage collection. However, the memory is increased and garbage collection happens less often ==> less file handles are released ==> the system runs out of file handles, the built in logic in the server does retries ....

Alexander Chalucov
Friday, March 05, 2004

It sounds like the guys who wrote the proposal got burned in the past, and they're trying to make a stand.  They scare you away today, but someday they will find the middle ground.

Brian
Friday, March 05, 2004

Makes me also wonder. Sounds like a proposal from someone who has some experience, but did not nescessarily shape that experience into something positive.

The first part seems to say: "We can pretend all we want but in the end these things always where so far of the mark I can't even bother pretending anymore".
Now we have all been there, but I am sure we also all have been in situations where the deadline was rocksolid (e.g. in the event related stuff), and the only choice there was was in which features where going to be in.
Even if I wanted to play the "let's be honest" card in the proposal, I would at least present both ends of the spectrum, explain that in most cases the compromise lies somewhere in between and produce relative estimates.

The second part is plain bollocks. If you want to say that often buying some extra gigs of memory is a far more cost effective solution than asking for custom performance code, than say so, but don't pretend trowing in some extra hardware will make any pig fly.

Just me (Sir to you)
Friday, March 05, 2004

>"Performance is scalable. You can get any >amount of performance you want out of a SQL >Server database (by upgrading hardware)."

My former (bankrupt) company tried this.  The client (now my current emloyer!) bought a $30,000 Sun server and yet it still took over 5 mins of CPU time for the JSP page to be displayed!

Yeah, run don't walk away from this one!

Bill Rushmore
Friday, March 05, 2004

Brian's right: (and was more accurate than I was):

>> It sounds like the guys who wrote the proposal got burned in the past, and they're trying to make a stand.  They scare you away today, but someday they will find the middle ground.

Developing custom software projects for clients is VERY risky. There is always something to argue, debate or disagree about. Clients can always change their minds, withhold payment unless absurd performance standards are met, blame the contractor for not reading their mind, etc.

The natural tendency after working through some projects like this is to overreact and to cover yourself. It's lousy marketing for this software developer but it's also much more true than the happy face that many contract developers will put on things.  Unfortunately for our industry, the happy face sales people win sales and the reality based curmudgeons lose sales.

That's the problem with being a geek focused business. The stuff that you are responsible makes you sound "critical" when you try to explain variabilities to clients.

If I were evaluating bids, they would definitely be in the running.

Bored Bystander
Friday, March 05, 2004

Bored,

so after the clever salesman tickles your "rough justice" string you let them get away with
"Performance is scalable. You can get any amount of performance you want out of a SQL Server database (by upgrading hardware)."?

Just me (Sir to you)
Friday, March 05, 2004

You think these guys are "clever"? No! I think the proposal that was quoted reflects geeks overreacting to business risks by becoming obnoxious about covering their hides. I think they're just being honest. I also think that being honest in this business causes one to lose business. I'm saying that it's not exactly endearing but it sounds honest. I side with honest.

As far as the language about SQL Server, it was poorly phrased and abrasively sarcastic. But again, they are covering themselves. A query can run like absolute s*** if poorly constructed or if the indexes are inappropriate. And what about load, number of users accessing concurrently? Etc.

Ask an open ended question, get an open ended answer. I'm sure some numbskull out there will give a clearcut, confident sounding, and absolutely misleading answer in response to an open ended question.

Bored Bystander
Friday, March 05, 2004

Withheld,

The sad fact is that just about everybody nowadays relies on badly defined time and materials software projects to earn a profit and put food on the table.

While I would have to read the entire proposal before I gave a client my opinion, I certainly didn't like the snippet that was posted here on JOS. Imo, the honesty being expressed here is that the software development company which wrote this proposal doesn't appear to have a development methodology nor the experience to write a proper software project proposal.

One Programmer's Opinion
Saturday, March 06, 2004

*  Recent Topics

*  Fog Creek Home