- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
TLDR; Project manager didn't check what tables were in scope for a database project and wildly over estimated timescales.
Management not knowing any better try to justify the cost without question.
Seems like a normal day at any big company.
Edit, Ive been waiting years to say frist, Im not missing my chance now)
Admin
Admin
Hay Wonko,
You finished building that asylum yet?
Admin
Congratulations!
Admin
Admin
Consultants grimaces
The company should have consulted either the team that was currently maintaining the database for an estimate or have a competing team do an estimate on how long it would take. The hint that the company was overpaying for these consultants is when one consultant's full time job was keeping the MS-Project (the micro-manager devil's favorite tool) pinpoint accurate.
Assumptions (and blame) all around: C-Level executives: For not trusting (or commissioning) a in house estimate Consultants: For not clarifying how several strangely named tables are important for the system and clarifying the scope of work Rob: For not asking specific clarifying questions when the 70k hour estimate was delivered to lead the C-Level exes to realize that the estimate is off by 4 orders of magnitude. C-Level executives: For blindly assuming that the Consultants uninformed estimates are accurate and need 100% priority over other commitments.
Admin
You can't just assume that a table called TMP_65239423756893 is not critically important.
Admin
TRWTF is the decision to get external consultants involved. The rest follows with depressing predictability.
Even the final section, where Rob is overhearing the mgrs, is not particular WTF-worthy. They've been told to sit tight and wait while Rob goes and gets a more realistic estimate. And so with nothing better to do, they are operating like an idling gear-train, or an uncoupled phase-locked loop; their cage has been rattled, they are frightened, they have nothing better to fill their decision-making processes than the rubbish they have been fed, and so they do the best they can: work with the data they've got for the worst-case scenario: "We know Rob's pretty good at this sort of thing, and I expect he can shave a few hours off this estimate, but what if ...?"
Might as well treat as a WTF people who argue, weep, wail and write angry letters to newspapers about the happenings in daily episodes of soap operas.
Admin
s/consultant/conslutant/g
Admin
It could be worse. They could have taken the agile scrum approach like we do:
A product owner has a vague idea of what they want.
They give a brief summary in planning 1.
The product owner and team lead dictates to the team that any estimate above an 8 is unacceptable.
The developer is expected to just start coding immediately.
Specifications and feature changes are verbally communicated during the morning standup.
Team leads and product owners battle for supremecy during code reviews and if you implement a feature dictated by the one, the other will disagree out of principle. Eventually the developer will advocate some unholy hybrid of the two that just manages to not meat anyones requirements.
When the resulting application gives issues the developer will be accused by the team lead of trying to sabotage his career and the product owner will throw aggressive tantrums and insults at everyone.
Admin
Admin
Anyone with any significant amount of forum experience has had to navigate a topic of some complexity. The only real way to do it is by breaking down the topic into major pages. Then breaking each page into smaller posts and so on, until you have a list of posts that you can reasonably estimate the amount of time that will be required to read. Then you figure in images, see what can be ignored because TDEMSYR, factor in online users, add it all up, pad by as much as you think you can get away with to account for unscheduled derails, misquotations, blakeyrants and general stupidity. Finally, you put it into a textbox and post your presentation to the forum.
Captcha: wisi. Wisi cared enough to complete the post.
Admin
WRONG.
Admin
Tables named like that tend to become more important the longer they stick around
Admin
No the TLDR; version is management brought in an expensive outside consulting firm without giving their own people a crack at the problem first.
Said firm did what most do and sent folks who are in truth probably pretty sharp and experienced in but who don't know the site specific details and may not know the specific tech ie. the database guy they sent is a SQL Server expert and the company runs Oracle.
The consultants are just as frustrated and annoyed with their firm for sending them on a job they can't possibly do well in the time allowed and are building a ridiculous estimate based on the worst case ("all those temp tables are import to the app") to CYA.
Management should have enough qualified people on staff with availability to at least design detailed specs and run IT projects. Have the consultants do "the work." I have seen that model work well. I have never seen the bring the consultants in to run the project and let them use internal resources to do it model ever result in anything useful getting done unless its also way over time and budget.
Admin
Please try to show some sensitivity. I had a son who was named TMP_65239423756893 and let me assure you it is no laughing matter.
Admin
int Main(string [] args) { return 0;}
might be a good start.
Excellent, identifying that Item #54123 has been posted which contins the details of a proposed chang and needs to be reviewed and prioritized is a valid standup activity OK, so you finally identified a WTF. Clearly the ALM tooling will have a proper hitory. Regardless of tantrums and insults, the audit trail will speak for itselfAdmin
The last phrase of the article is so true and soooo frightening...
Admin
software development is not same as automobile repair.
Admin
A product owner not understanding their own requirement is definitely not a positive.
These are story estimates for major subsystems and as the requirements are unknown at this point they cannot be tasked in any detail.
Once again. Coding something functional for a barely considered and unanalysed new system.
No, making shit up as you go along, refining processes and entertaining scope creep as you go along is a CRAP way of developing robust systems.
What, you think any managers in this environment would even dream of putting anything in writing to be held accountable in this environment? Or that any features, specifications or analysis belong anywhere but in their heads? Are you kidding me?
Admin
Yes, because this great starting point adds SOOOOO much "business value". Don't forget to add even more by a unit test to make sure that it's exit code is 0.
Admin
Sounds like the consultants were getting ready to make a down payment on some vacation villas in Tuscany...
Admin
It's a security measure, what hacker is going to look in TMP_65239423756893 for credit card numbers? So secure!
Admin
At one company years ago, we had a PDP-11/70 with the RSTS/E operating system.
Many of the various application programs created a great many .tmp temporary files. One evening to save space, someone deleted them all when nothing was running and thus needed a temporary file. The next day we all found out that being named .tmp necessarily meant that the file was temporary.
Admin
Admin
Missing the WTF-ness of this. I would much rather give kudos to the management team in that they did something almost unheard of in this business - they listened to the people that were responsible for the project, were trained to be the subject matter experts and, when given information from said team, they didn't just blow it off, rework reality to suit them, cut the hourly estimate in half and said "just make it work or your fired" or any of the other usual management stupidities, they just listened and tried to act on what they were told. That they were given completely bogus information isn't the point - that they listened and just trusted the subject matter experts, is! These "managers" should be cherished as much as any other extremely rare species and given all the help and guidance possible. After all, they listened!
Admin
It's probably launch codes. For every country on the planet and several extraterrestrial species.
And it has over six hundred columns, named (not quite sequentially) "fld001", "fld002", etc. All of them CHAR(500).
Admin
I wonder how defoliation affects the paper-making process.
Admin
So true! Best part of the story!!
Admin
Brillant!
Admin
We actually have an application called TMP (which does stand for something but the application has changed so much that if we used the full name iut wouldn't make sense to the users) and it does create a lot of records called TMP_reallyLongNumber
Admin
$85/hour for a project manager? Last project manager (an MS Architect, or what's it called) I had around me cost us 20x that!
Captcha: j'en ai mara
Admin
Why didn't Rob just drop all the TMP_* tables and ask Mr. Project to update his estimate?
Side note: It's situations like these that would make a writable INFORMATION_SCHEMA useful. Then the command would just be
DELETE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE 'TMP_%';
Admin
Admin
Bob, you and I may be co-workers because you described my daily work life in great detail.
Admin
Whatever happened to TMP_IrishGirl123?
I thought that was a critically important... :(
But no... Somebody dropped it, and now we are ALL suffering.
Admin
Admin
Admin
Admin
I know the old rule about about garbage in garbage out (GIGO) and how putting garbage into a computer ennobles the garbage that comes out.
I had no idea the same principle worked for project management.
Admin
NOBODY knows the requirements of a project at the start of a project, though some are foolish to believe they do. Almost as insane is the idea that detailed requirements which will match reality for an optimal solution at time of delivery can be determined at the start of the project.
EMBRACING (not just tolerating) chage is a killer mindset for many, but once accepted is immensely powerful.
fyi: TRWTF is trying to have a serious discussion here - I Know, I know....
Admin
You agile guys are always dealing in extremes and using examples of non-existent problems to make your case. Nobody is saying that your initial analysis has to be perfect right down to pixel perfect UI elements.
Iteartion and refinement are crucial - they should just be part of a better process and you should have a solid understanding of the system you are developing so that you are iterating and refining, not just making up everything as you go along.
I've seen major areas of functionality being rolled back and redeveloped at a huge cost which could have been avoided by a systems analyst asking the right person the right question before the first line of code had ever been written.
There is a huge cost associated with trying to retrofit major requirements to a system half way through development.
Admin
Admin
The real WTF: Having to read this post twice to realize that snoofle attempted to brng us the double-punch:
The project analyst guy failed to recognize that the TMP tables could likely be ignored
While this was revealed, the managers were continuing to panic over the original estimate.
What I find disappointing is that Rob and snoofle apparently expected these people to manifest psychic abilities and sense that the original estimate was off by a factor of 10. At least they were looking to tackle the problem, discussing the reallocation of resources, instead of dismissing the issue.
-Caecus
Admin
Surely that's 'Amazonian'?
Admin
Admin
Admin
Admin
That is a great anecdote.
My experiences go something like this : The fact is that agile, iterative development doesn't reduce the cost of a project and doesn't make it any easier to manage. All you are doing is taking the initial cost of analysis and design and deferring it to extra iterations by the developers, testers (and hopefully analysts) further down the line. Good analysis in the beginning greatly reduces the amount of neccesary "discovery" iterations.
The problem is that the MBAs see that the costs are staying the same and if anything the quality of the software is going down because all they see in meetings is how the developers never seem to get things right the first time. So the pressure starts being applied on the developers to get it right the first bloody time around, which is downright ridiculous because we don't have accurate requirements to build on. By this time the culture of up front analysis and design is completely dead and the relationship between managers and developers starts deteriorating to the point where it becomes about them and us. Things just get ugly and you start seeing massive staff turnover and managers get more defensive and try to avoid even more accountability.
Chaos, anarchy, cats sleeping with dogs ensues.
Admin
Almost the same here. Somebody removed a file named "a" in temp folder, and next day everyone discovered the website ( of a public company ) collapsed completely without the file.