Joel on Software on Custom Dev

Started by Mr. Analog, October 12, 2005, 09:47:41 AM

Previous topic - Next topic

Mr. Analog

This strikes a little close to home:



QuoteCustom development is that murky world where a customer tells you what to build, and you say, ?are you sure?? and they say yes, and you make an absolutely beautiful spec, and say, ?is this what you want?? and they say yes, and you make them sign the spec in indelible ink, nay, blood, and they do, and then you build that thing they signed off on, promptly, precisely and exactly, and they see it and they are horrified and shocked, and you spend the rest of the week reading up on whether your E&O insurance is going to cover the legal fees for the lawsuit you've gotten yourself into or merely the settlement cost. Or, if you're really lucky, the customer will smile wanly and put your code in a drawer and never use it again and never call you back.



http://www.joelonsoftware.com/ <-As if you've never seen that link before...
By Grabthar's Hammer

Tonnica

Oh ho ho MAN.



So tempted to post links to the first and second designs we did for this one client... The first version was flash-based and apparently only the president of the company liked it. The second version has gone through over 50 minor revisions and is now ColdFusion based (which is good as I was informed late in the development of the flash version that there'd need to be extensive database interaction at some point. At least they were willing to eat the cost for the re-redesign because they accepted they made a bad decision.



So tempted! But I'm not sure if I'd be breaching any confidentialy stuff if I posted the links.

Shayne

Tonnica, i got a story of equal hardship and nothingness.



Quote from: "SHAYNES OPINION AND RETELLING OF EVENTS"
Starting in year 2000 i was givin a job at Techweavers Inc.  About the same time they were finishing up a second version of ASM's "Tree-Planter" website/training system.  The initial version was basic HTML pages and the training module was a poorly coded mess of php and mysql.



6 months after v2 went live, he had some great ideas for creating custom training modules, and custom tests.  We quoted on this module in the area of $50K, he decided that was too much, and instead wanted reporting features for the tests.  This required adding in a layer of security for contractors to view their trainees results, and a few other stuff, a nice size project, we quoted $10K, he accepted.  3 months later it was complete, and being used.



6 months more go by, he brings back the uber $50K project, says that he wants to start with it, and since we already coded the results stuff it should be easy.  We explain to him that they dont work together as this new system is just that a new system.  So he bites his cheek and starts on the project.  We ask for the 50% upfront, and he does with no hassles.



6 months of development elapse.  Im into the project for a good 1000 hours, and its at about 80% completion.  The testing works, custom training material works, pdf exporting works, the only thing we dont have is a snazy login portal, but thats a minor addition.  We show him what we have, he is excited, asks for a few minor changes, and for some reason feels the need to tell us his strategy with the app (basically charge companies $X per trainee).



The company i work for (against my suggestions) says that we will absorb the other 50% of the cost, and would like to become partners in this venture.  Well he snaps, tells us to go @%&# ourselves, and overnight he finds a new company to start on this project with, and moves all of his content over to them (no code, but a CSV export of users and other stuff).



A year after being at this other company, spending $25K and getting basically nothing (they wanted to use their base CMS (built in flash) to power it, but realized after the fact that it couldnt be done), he comes crawling back to us.



We explain to him that the code is old, hasnt been worked on in like 18 months and that we'd basically be starting at 50% and working forwards.  While he is on the verge of giving Techweavers the go ahead on this project "yet again", i quit my job.



...clients are so bad for custom work.  I wouldnt be suprised if Techweavers spent 7,500 hours on that client, and in the end they rolled him into their CMS with the training modules that V2 of his project was using.  A lot of time, money, bad decisions.  Clients like these, and how Techweavers botched it was one of the primary reasons i left.  A company cant make a living paying me $40K a year, and charging a client $50K for a years worth of work, and in the end they didnt see close to the $50K, took a bath on it, client took a bath on it.



Shrink-Wrap is the way to go.

Shayne

Quote from: "SHAYNES OPINION"Techweavers sucked the life out of me for 4 years.  While i enjoyed the code, the chances of that company moving forward are slim to none.  Brutally poor management, no long term thinking, and slave driving wages.



IMHO The product is good but the company sucks.



Ive had that inside me since i left.  Had to get it out.  Maybe google will spider it.

Darren Dirt

You might want to either slightly-modify the co. name, or add a hefty "IMHO" to the end of your post; most of it is obviously opinion but since Google Cache keeps words such as these for a millenium or so (700 years after they index All Info In The World) then you might get a "libel" suit thrown at ya  #-o
_____________________

Strive for progress. Not perfection.
_____________________

Lazybones

I think your post is very on topic and interesting Shayne, but  I agree with DD,  should replace the company name or IMHO.. even then the you never know if it will land you in trouble.

Shayne

Ya, i thought about that after i posted, as the events in the first post are factual, and i wasnt under an NDA, i can say that and not be liable, the second post was more opinion and should have been noted.  Ive updated both anyways.



Its an interesting story and i agree that the first post is totally on topic.

Tonnica

The article was an interesting read and so was your post Shayne. Thumbs up to both!



I was reading about the slide into consultingware and realized how x-tra frustraing my fight to keep the continuous slide of consultingware from re-routing into the horrible pit of shovelware (or as I like to call it, the Bog of Eternal Stench). I've found the desire to turn consultingware projects into shovelware comes from the fact that he just plain doesn't understand how to do a shrinkwrap software project (though the desire is defenitely there to make the money behind a shrinkwrap software project). The second I get a neato and relatively portable feature done BAM! my boss is asking me to apply the feature to nearly every other active project we've got. He got so bad at trying to shovel useless crap into projects he even tried to suggest a free flash-based weather display widget from the weather office was some kind of premium bonus. He only stopped after he got throughly embarassed by clients either directly wondering to him why they would ever need/want it or others pointing out he shouldn't have been trying to shill something distributed for non-commercial use from the govt. as a commercial item.



I mean it's nice to have stuff you can re-use but there's a limit to how much you can try to shovel in to a project to try to make it "worth" more.



My point: who thinks a webapp like this which is primarly for use internally in the govt. to store images should have a Flash front end added to it? Seriously!



As a historical note, I openly told my boss it was a bad idea. A very bad idea. We've moved long past the point where we're trying to dazzle our govt. clients with shiny, flashy, overcomplicated stuff like a Flash front end.

Shayne

Ive yet to find a truely perfect use for flash in the corporate marketplace.

Darren Dirt

ROFLMAO @ Shayne's now-modified "QUOTE" tags above  :lol:
_____________________

Strive for progress. Not perfection.
_____________________