Posted on 04/09/2014 5:11:04 PM PDT by ImJustAnotherOkie
Software developers are among the smartest people on the planet and often boast advanced degrees in mathematics, engineering, or computer science. In some ways, they are like superheroes capable of programming complex functions, juggling myriad technologies, morphing customer ideas into working software, all the while not breaking a sweat. So how is it that despite such technical savvy and programming prowess, they are so woefully poor at project estimation? Study upon study cites that less than one-third of projects are delivered on time or on budget. Couple this with the fact that close to half of the effort spent doing software projects ends up being "rework" and the whole situation seems to defy logic. How can smart people produce dumb estimates?
(Excerpt) Read more at drdobbs.com ...
you should call me
REM The standard response that we always got from the boys and girls at Lawrence Livermore Labs - six months, a million bucks. Someone usually wrote them a check.
That’s where Agile Projects come into play.
Build your package incrementally. Management loathes rewriting existing functionality but it needs to be done. After several iterations you’ll get it right.
Real programmers are not Fungable...Lesson 1.
Message from planet X.
IT these days is 80% technical generalist’s and 15% programmers of medium ability, 4% good abilities and about 1% outstanding abilities.
The majority of developers who have been at it for 5 years have 1 year’s experience 5 times.
Your’re singing to the crowd brother.
Since software is easy to change, management will change the target often at the slightest whim of the customer. Mechanical or electical managers are much better at telling upper level management “we’ve already had the dies made. Your ‘little tweak’ will cost $30,000 and set us back six weeks. Are you sure you really want this?” Software’s flexibility is used as an excuse to skip the design phase or to throw aside the design when the code is being written.
But then when they've been on the job for a couple years and finally know how to program in that language they are considered dinosaurs and are now unemployable because the new latest-greatest language has just come out.
Philosophy is supposed to just be footnotes to Plato.
Why can't software just be add-ons to C?
Who’s job is to update the spreadsheet? Ok, we’ll download ms project and import it into the spreadsheet to massage it? Who’s job is that? Ok, we’ve lost the conference room, time for the next meeting.
I see these project management types Outlook calendars. It looks like modern art. Where is the time to think, run analysis models?
What is a software analyst?
The programmers are not giving the estimates.
My rule of thumb as a CFO was to double their estimates of time and cost. Worked every time.
5.56mm
How well defined are the tasks? Are the tasks defined in user speak, or table names and fields. Someone other than the programmers needs to have a working knowledge of the tables, schema's and object models at a workable level.
We multiply by PI.
Hell, I’m developer and I double all mine for admin, status reports, team meetings, Quick questions, firefighting ...ect.
Its actually the inverse Peter principle. Instead of getting promoted from competence to incompetence, they get promoted out of incompetence to a place where they can do less damage.
It’s pretty much a solitary endeavor contrary to Popular Wisdom. Makes a rubics cuble look pretty simple sometimes.
That’s an interesting question. The definition on tasks seems sometimes to have an odd relationship to how far behind a project has gotten. The more behind, the less well defined the tasks are. Whatever project discipline there might have been early on in the project tends to fly out the window as things get difficult and pressure rises.
A couple of thoughts:
(BTW, I have been doing S/W development for 45 years and counting, and in my first 30 years I put in 15 years of un-compensated overtime; that’s 45 years of experience during that time plus the last 15 years of “normal” work. That’s 60 years equivalent experience by my count)
Why is it that the only people who know how to do S/W development better than those of us who actually do it is EVERYONE WHO HAS NEVER TRIED IT!?
And, they NEVER tire of telling us how easy it is. sigh.
The reason estimates are guaranteed to be off is because the software to satisfy a given set of requirements (usually a rough wild-assed-guess), composed of what the user thinks they want and never what they NEED, have NEVER been created by this development team, for this customer/user group, using these tools, on this platform, using this data, etc. EACH new project/requirement is UNIQUE! If it had been done before we would just go get that solution and be done. It’s not like an estimate to build 6 more houses like the last 50 that this crew built on the last project.
Why is it that the estimate (wild-assed-guess) is given more credibility than the work product that delivers the needed capability. It makes me think that the critics are all libs/progressives (live in a dream world) and the development team is conservative (forced to live with reality).
Sorry to rant.
The ones who talk the big game are the ones who tried it and failed because they are task oriented people who cannot focus on complex scenario’s. They need to be spoon fed. Can’t figure things out on their own. They think it is ok just to ask a question instead of mastering research skills. They can’t accept failure, if it doesn’t work the first time they give up.
I’ve seen so many it’s sickening.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.