- Feature Articles
-
CodeSOD
- Most Recent Articles
- What a More And
- Hall of Mirrors
- Magical Bytes
- Contact Us
- Plugin Acrobatics
- Recursive Search
- Objectified
- Secondary Waits
- 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
This is fscking stupid and definitely not true.
Admin
Yeah, hence my earlier reply.
Admin
I just love that intelligent and well thought out comment regarding I.T. costs.
I've been coding for 23 years. I bill out at $125 an hour. I can't believe I'm so stupid and they pay me so much!
Know that the most sucessful auto manufacturers in the world (the Japs) use a PAPER system. The assembly line workers put little cards at the end of their workstation, and a dude with a cart picks up the cards and puts them on the truck. The truck driver takes the cards and brings back a bin full of parts. Voila. Not one single computer and 25 times cheaper system than any mrp system in the world.
You think I'm stupid? I'm not the one who has no idea what the original system cost, and what the new system cost, and what the ROI is. If your company knows this stuff, then I say you are truly blessed and my comments do not apply to you. In my experiance, most companies do not make software decisions wisely. If they did, they would all be running Linux.
Admin
They would all be running linux hey? Nice way to turn a nice heated discution into a flame war (as my avatar sugests im on linux side) but i digress...
The point you raised is MOST valid! I dont think it aplies to every company and every project, but certainly to many, some ones i did included.
My 0.02€
Admin
<FONT color=#000000>
</FONT><FONT color=#000000>a couple of points; </FONT>
<FONT color=#000000>One, as a developer it is not my job to calculate ROI. We have a project managment staff to do that. </FONT>
<FONT color=#000000>Two, the project I am working on is projected to bring in $1.2 Million in the next 12 months and three times that in 24. The total cost will be be in the neighborhood of $140,000 from soup to nuts.</FONT>
<FONT color=#000000>Three, you failed to take into account the cost of the server downtime Steve caused with his 500 connections per spreadsheet.</FONT>
<FONT color=#000000>Look as a developer I know who my customers are, its the business, and if I am not customer focused the business will find someone who is.</FONT>
Admin
Quoting has always worked on Firefox for me. The new look and the possibility of editing posts finally convinced me to join today.
Edit: Should've read all the comments before posting.
Admin
$140,000 investment earns 3 million. That's 1000% profit! I want in on that action. No wonder we don't make "things" and sit around playing with computers instead.
Are you arguing those are typical ROI numbers for I.T. projects?
Admin
Let's see, SAP should have DEV, QA and PROD. And transport authorization should be limited to the IT organization. Ergo...
T.
Admin
Back to the OP:
1. This kind of evolutionary prototyping goes on all the time - and it should! A business is a living entity that must explore new & better ways of doing things. We know in retrospect that Steve's dashboard - at least in principle - was one such good idea. Why can't an IT department be structured to support the "Spiral" or "Evolutionary Prototyping" <FONT size=1>[see McConnell, Rapid Development]</FONT> model as a standard methodology? All Steve's dashboard project needed was a little oversight from the guys who know about development risks and who can (try to) make sure Steve uses some of the best practices & avoids the worst practices while he & his managers discover the best solution to their business needs.
2. I can guarantee the dashboard most likely "needs" a full rewrite, sure. But it seems like the scalability problem, at least, can be fixed if the spreadsheet opens one connection to a common "dashboard pool" server. This dashboard pool server opens one set of connections to the databases (and I"ll bet it wouldn't need 500 connections!), and all the clients query its single database instead.
Whoever in IT would want to try to implement these approaches, first has to “give Steve his proper props for coming up with such an ingenious tool that is clearly proving to be useful for you managers” - and then lobby for IT to “build on this tool's proven worth to the company by making it scale properly” so that all the managers “can benefit from its essential brilliance” while “ensuring that it plays well with others now that it's being relied on by so many managers”.
IOW, instead of simply bitching about the Steves & their creations, acknowledge that they have some use to the organization - while gently teaching management about the many inherent dangers in that approach, one of which is making itself painfully clear as you speak by bringing the company's databases to their knees.
This kind of approach takes people skills, I know. I'm just not sold on the idea that such a widespread phenomenon as cowboy coders exists just because the wrong people are in charge. I'm searching for some kind of middle ground between having several rogue projects running around with absolutely no oversight at all, and not allowing any projects to exist unless they're full-scale, formal IT projects. Something where the IT dept. can provide "guidance", "support", and "oversight" to otherwise ad-hoc projects - just enough to make sure they don't turn malignant.
Admin
What you're describing here is the kanban system. Do you know when and how to implement this system?
What if there is no "original system"? Consider a highly automated new facility. Without software, it simply does not work.
*lol* sounds like a teenager on /.
Admin
Yup. We have an online service-based business and a process for deploying by hand that requires several steps (copy flat html over, copy templates into templates directory, copy code over, compile code, copy compiled code into appropriate directory...). There is one section of of the website that requires an extra step - which is invariably forgotten as it's the only section of the website that requires it (out of about 20 projects). I have forgotten to do it a number of times and yep - I did bad for having done so... have written notes to myself to try to remind myself of it etc etc - but when you've been off said project for 6 months and come back to it... it's hard to remind yourself.
The second time I forgot it (and was given a stern talking-to) I tried to impress upon the project manager that if we set up an automated process to do these steps for us it would mean that it would never be a problem again. I was essentially told that this would not be necessary (we're far to busy chopping down the tree to sharpen that axe right now) and given the strong implication that I was simply... I don't know, not trying hard enough - maybe being lazy or incompetant for having forgotten the extra step - that I should be able to remember to do it and maybe I just wasn't "going the extra mile" or something...
Needless to say - every new developer that has worked on that project has forgotten that step at some time or another since then (it's fully documented what steps need to be done, but not everyone reads the doco - and of course, you stil have to remember it even if you know it has to be done).
We're finally putting into place some automatic deployment practices now - but it took our new manager (the original PM having been promoted to CTO and replaced by someone with Clue) to get this even acceptable to management. <sigh>
Admin
<font face="Arial">Now thats e good point of view!</font>
Admin
Yeah, I just hate people who post over the top responses, don't you? The fact is that a lot (not all) of projects do eat up resources and return either nothing or nowhere near what they cost; case in point - I am currently working on a project that, even if it manages to save as much money as is being claimed when (if) it is finished, would still take between ten and fifteen years to pay for itself.
Will the company go bankrupt? I doubt it - this isn't the first rime that they've been through this kind of mess and it probably won't be the last either.
Have they learnt anything from it? Again, unlikely. They didn't learn last time and I don't see any evidence of learning anything this time either.
Why is the project still going? Because "too much has been invested" now to stop. The logic (!) goes, "it's better to spend another £2,000,000 and get a bad solution that never pays for itself than to write off £1,000,000 with nothing to show for it." The numbers don't make sense and the logic isn't logical, but companies are still steered by people and are subject to the same failings as people (stupidity, selfishness, pride, greed etc.).
The point? I've been an Excel hacker in the past (although all of my stuff was tested and shipped with the usage restrictions such as "no more than 50 users") because, llike children, a lot of businesses want the answer but don't want the cost or the consequences. More mature businesses realise that they must spend to get what they want (and if you work for a business like that then please let me know if you leave because I'll take your job in a heartbeat, no matter what it is), but most of us work for and with infants.
Admin
It may also make kind-of sense from an accounting perspective: Finish the project for £3M, declare it an asset and write it off over a period of, say, 7 years. That's about 0,4M per year in your balance sheet.
On the other hand, if you cancel the project now, you must completely write it off now, thus having expenses of £1M this year or even this quarter. Since we live in a shareholder-value society, it's normal to care for the short-term results only.
Admin
yeah, I love that kind of argument. "We've always done it this way." we see that a lot.
Admin
why is my icon so small? in a word... GENETICS
Admin
The problem is, any temporary solution instantly becomes a permanent mission-critical application the second it starts being used and works. Trust me, I have to keep a 20 year-old temporary Progress app up on a 15 year-old temporary machine. The only person that knows how to maintain it is retiring next year and we can't get rid of the thing!
Admin
Poppycock. Steve deserves no kudos, and the managers who used his application are equally to blame for not working through the proper channels to get the data / application that they need. Yes, in these days of Sarbanes-Oxley compliance, outsourcing, and monetary reductions for corporate infrastructure, IT organizations are often not able to turn on a dime. But that is no excuse for implementing sloppy, poorly designed, amateurish code with improper tools.
Having worked with a "Steve" on a similar dashboard project, I can tell you first hand that with these under-the-radar applications it is often not possible to add new functionality or integrate into existing applications. Like an idiot-savant, they are often hardwired to their initial design and know nothing of the bigger world in which they inhabit. In my situtation, the corporate data architect and senior production DBA donated many hours of their own time to train and educate "Steve" so that the app could be rewritten as version 2.0 with best-practices design and a coherent data model. Meanwhile the managers who used the application complained that it took only a few weeks to develop the initial app, so why does it take nine months to add new functionality?
In my opinion, IT should immediately pull the plug on these skunk works projects as soon as they are discovered. An IT manager worth his/her salt will deal with the fall out. The alternative will result in new non-technical application coders coming out of the woodwork. Information management is not free. Otherwise companies would be running their business with Excel spreadsheets and there would be no need to system administrators, DBAs, and application developers.
Admin
In my opinion, IT should immediately pull the plug on these skunk works projects as soon as they are discovered. An IT manager worth his/her salt will deal with the fall out. The alternative will result in new non-technical application coders coming out of the woodwork. Information management is not free. Otherwise companies would be running their business with Excel spreadsheets and there would be no need to system administrators, DBAs, and application developers.
In my opinion, you should come out into the real world once in a while. Hate to break it to you sparky, but the world DOES run on Excel, on the worlds most popular operating system, Microsoft Office.
I was once as arrogant as you, and one day I realised I knew nothing. So I ventured beyond the server door, and found out what business actually means. Tip: it's not you.
Tell me, how long would it take for you to duplicate what Steve did? I'll make it simple, let's say you're selling bras. Y'know, those things women wear, you know about women, right?
Write an app that produces a real time (well, refresh every 5 minutes) display of what's selling, broken down by region, store, brand, cup size & colour. Highlight best sellers etc. My God, we're running low on green C cups bras in the West!
I can do that in 15 minutes in Excel.
Excel has the ability to grab data from almost anything, be it a text file, web page or database. (Import External data, go play with it). It can be set to refresh automatically, down to 1 minute. If the query already exists in the database, use that, other make one up (standard SQL).
Next, use a pivot table to summarise the data. Pivot tables can slice & dice data to whatever form you want. If you don't know pivot tables, you don't know Excel. Nothing else matters.
Finally, graph the data.
Done. Grab your pay & go home.
What few people in the thread realised is that Steves app (like this one) is a ZERO CODE solution. There are no macros. As a bonus, you don't have to worry about install routines, DLL mismatches & all that other crap. Here's a sheet, open it. Excel takes a while to get your head around, but it's worth it. While you're at it, go learn Word as well - a tip: it's all about styles.
Steve picked the right tool for the job. Mind you, he was bit persistant in setting up 500 connections.
The '91 comments and no-one gets it' guy was right. And I'm glad, because I've found myself a nice little niche that few are interested in. I do stuff like this all day, dashboard apps, little (and not so little) calculators, etc. And I go home at 5.
Admin
First of all, I don't believe you can do that in 15 minutes. Let's settle for one hour.
So how long does it take to duplicate that without Excel?
Well, it depends on what is used. If you do it all in plain C without tools, it might take months. On the other hand, using the right tools (like report generators), it probably can be done in (say) two or three hours. So what's the gain? Let's say this app becomes so important that you want to automagically order replenishment whenever you run out of green C cup bras. In the excel way, you are likely to create a complex Rube Goldberg thingy to get the information from your Excel "app" into the ERP system. You likely end up with a dedicated PC doing nothing but running this Excel sheet. For the real app, doing such an integration is more of a straight-forward process.
Admin
Actually, I can do that in 15 minutes. Excel is that good. Might be a bit unpolished, but hey, it works. You reckon three hours? I reckon you've underestimated what's involved.
The correct tool to use is Excel. It IS a reporting tool.
If your ERP provides an interface for ordering, what difference does it matter if it's Excel or a C++ app submitting the order?
If you write a custom 'real' app to provide the display, it'll need to run on it's own PC too. Oh wait, IT said it'd be 12 months before the real-time graphing module was finished. Where's Steve?
Get out of your ivory tower, drop the mindset 'Word/Excel is for lusers' attitude, and go learn it. You'll like it.
Do you want to hear about 3270 screenscrapers in Excel? Did one in Powerpoint once, that was bizarre..
Tony
Admin
You seem to look at it in a black/white fashion. Don't you think other tools can make this job relatively easy as well?
It depends on the API. If you can use it from VBA, fine. If not, Rube Goldberg.
I was thinking along the line of a web app, running on an already existing server.
That's a serious IT department problem, but no reason to assume that Excel is able to do things no other system can't.
I've done that, but in a long term perspective, it's a source of problems. Things not working on the next version of Excel, subtile incompatibilies between seemingly identical installations etc. IMO those are quick hacks that work for the moment.
Admin
What tool would you suggest?
It needs to be able to do what I described before, in 15 minutes.
I do contract work. I provide solutions for departments whose IT can't or won't. Note these tend to be large companies (hence department), so the "can't or won't" reasons vary, but a common theme is arrogance - go away, you pissy little 3-man department, we've an entire company to run. Yah, what causes more grief, the reception or the programmer not showing up to work.
You're 'but what if it needs to provide ordering' comment is a strawman argument, but anyway. Sure, doing it 'properly' is better, but not getting it done at all is worse. Sure, add ordering, and let's make it order ponies for all at Xmas too.
You don't know Excel, so here's a quick example. Feel free to do the same in another tool, be it .NET, assembler, COBEL, SAP, whatever. I didn't actually do this, merely talked someone thru it. Took about 20 minutes, I talk a lot, slows things down. Classic 'Steve' dashboard app.
User is the web admin. Every so often the server spits out a report (html) listing who's online. Wants to graph various stats etc.
Step 1: Excel, "Import External Data / Web query". Type in address, page appears. Select the table containing the data. Select refresh every minute. Hit Ok, data appears on sheet.
Step 2: Graph showing registered users vs guests. Use XL CountA() formula to get # of data rows, = total users. Use CountIF() to count number of times 'Guest' appears. Registered users is difference. Highlight cells, click graph, pick pie, ok. Move & resize, play with colours.
Step 3: Show longest time online, shortest, etc. Use Average(), Max() statistics functions.
Step 4: Highlight if certain users are online. Enter name in cell. Use Vlookup() or Match() to find find. Use conditional formatting option to change cell background to red is a match is found. Copy over login times next to name (using Vlookup).
Step 6: Graph online times, say number of users per 10 minutes, eg there are 12 users logged in for between 30 & 40 minutes. Add a pivot table, and use the Group function to do this. Graph the output of the pivot table.
Step 7: Repeat a few more times.
Step 8: Put it up on your second screen & watch up it update every minute.
Your turn.
Admin
So what exactly is supposed to be the difficult part about that? Importing HTML? Counting? Aggregating? Searching? Grouping? Creating graphs?
Admin
It's not difficult, that's the point.
With Excel, it can be created by an end-user, in a very short time.
Now that you've agreed it's trivial, and barely worth ITs precious time, let's see your 15min solution.
Tony
Admin
I never said I would do it in 15 minutes. It might take 300 lines of code and four hours to create that. So what? Your example is very well suited for Excels features. You win. Steve killed the database server. Go figure.
Admin
Steve didn't kill the server, his manager did. Y'know what, if you or I had been in Steve's spot, and coded something meant for a single user, our application would have killed the server too. Who's fault?
The WTF isn't that Steve used Excel, it's the fact that the user base suddenly expanded 500 fold. Few apps scale. The ones that do take months or years to develop.
Would your 300 line / 4 hours app really be that much better than the 0 line / 15 minute Excel sheet? 16 times better?
I estimate 75% of the DB stuff I used to do could be done in Excel. For small scale stuff (eg 20,000 or so records) Excel can't be beat. For reports, I often use Excel to pull data from DB, process it, then do a mail merge with Word. Beats pissing about with DB reporting tools. As a bonus, the reports are just Word templates, very easy to modify by administraion staff, and they don't come & bother you with change requests.
CYA with the appropriate disclaimers, and you're set.
Admin
For me, there is an easy criteria for "better": How much trouble will this app cause in the future? Will I receive a desperate call, 6 months or 2 years from now, because the thingy suddenly stopped working? 15 minutes or 4 hours, its a nano-application anyway. It seems ridiculous to compete on the 0,00015 person-year level.
Your Excel app may work today, but as a side effect, it creates a dependence on that HTML log output. I guess your 15 minutes do not include writing documentation or discussing that issue with the IT department. Such apps, when appearing in dozens or hundreds, become part of why the IT department behaves so sluggishly: The existing systems are connected with those inofficial apps, used by managers, in undocumented ways, so it becomes dangerous to change anything at all.
Admin
I'm amused that so many people are assuming that a reporting solution developed by the 'real' IT department would have been any better than this mess.
Aside from about $500,000, is there really a lot of difference between 100k lines of overcomplicated .NET spaghetti code that overwhelms the database server vs. Steve's spreadsheet?
Admin
Right, and non-Excel apps are more reliable and better documented... You're a funny guy.
Let's say better price-wise, you may claim to earn $100/h (right), so your solution costs at least $400 (you hope). Steve is lucky to get $10/h, his solution cost $2.50.
Steve has something running NOW, you haven't even decided on what tool to use yet. Enjoy your performance review.
Yeah, three months later it didn't scale (dumbass manager), so they call me. I know what Steve did wrong (too many queries with a very high refresh rate, possibly large "SELECT *" recordsets too). A couple of hours to fix, but I charge a flat daily rate, so what else needs fixing? "Hey Steve, let me show you something".
Relying on a log file is bad why? So it breaks, and it takes 15 minutes to fix or re-write from scratch. Big deal. Changed the DB schema lately? Break anything there?
Three months ago I did a spreadsheet for a warehouse. They wanted to know how much weight was in each bin, and therefore in each rack. Some OHAS deal, so they wanted it now. IT told them to fuck off, politely of course.
Again, this is fairly trivial (except there was no data in the DB saying what bins were in what rack, hence the fuck off response), so once the warehouse guys compiled the bin/rack data, it was just a matter of pulling out the stock info, qty * weight, summarised by bin & rack.
Today they wanted to know how much space each item took up, (or how full each rack was), so they could move things around, and thus fit more in. Typical warehouse, too small. Same as before (just qty * volume), but it looked back thru twelve months data and plotted the trend. Just because it was empty today doesn't mean it will be empty tomorrow. About 2 hours work, with comments on another sheet. There is so little to it the comments are hardly needed.
The IT dept there is actually pretty helpful, and provides a number of data dumps (text files) for people to build their own stuff. Things like a dump of the product file, used to produce price tags for the shops, or to filter out the heavy items to produce "This is really fucking heavy" tags. The format of the tags changes every few months (marketing), can you keep up? This way, you don't have to. Other files are stock levels, updated daily & hourly, as used by the above, customer lists (for Xmas cards etc) and so on.
Look around, a large company will have THOUSANDS of these weird little sheets, useful to only 1 or 2 people. Are you going to add all those to your app? Or will you simply provide the data, and say 'here, go do it yourself'.
And the bin/rack data? IT said thanks very much, and added it to the DB.
Admin
If they are not, they are just as problematic. Nothing inherent to Excel. Just inherent to quick hacks. That's why I haven't proposed a quick Perl hack, thought it might be cheaper than my $400 "solution".
First of all, Steve has something that has killed the DB. Forget the $397,50 advantage.
If the application is of any importance, it's definitely worth the $400.
What if they call you but you are on vacation? 3 Weeks without reliable database service until someone finds the reason?
Did I say it is?
You sleep next to your cellphone, just in case any of those Excel-apps break during night shift?
Any decent warehouse management system will tell them the weight on each bin/rack, and on the way, make sure it isn't overloaded. If they have no standard way of getting this info out, it's a serious and dangerous problem with the warehouse management software.
Every application should be able to deliver the data required by the users. Otherwise, I consider it broken or incomplete.
That said, I'm not at all against an "export to Excel feature" like most of my programs offer, so power-users can export any tabular data the program creates to Excel an do whatever they like.
It's just that I
a) don't want undocumented dependencies between Excel and some log file format
b) don't want Excel apps to kill the database server
c) don't want business to depend on Excel apps that do not conform to a) or b)
Admin
No sleepless nights here. I threw my cell phone away in 1998, about the time I sat down and learnt Excel (well, Office really).
Cab driver once told me if he picks someone up at 4am and they're sober, they work in IT. My apps (most barely rate the name) tend not to be mission-critical, and if they are, that then becomes your problem. I develop to spec & provide updates, and leave enough notes for support, which the company provides.
Server falls over? Your problem. Go upgrade the load balancer or add more memory. Read my notes. Oh wait, you 'didn't want to know'. Still your problem.
Read those last few paragraphs of your aswer again, the 'deliver data' bit. Still waiting for your solution. You've delivered squat. Yes, business is short-sighted. Deal with it.
And FWIW, most warehouse apps are crap. Usually running on some old mainframe somewhere. The larger the company, the worse the back end. You're lucky to even have weight & size info. Rack weights, right. In the brochure, maybe.
Perl. Heeeheehee. Funny.
Tony
Admin
No, it isn't. It's not your problem either? Who cares, I don't, as long as it isn't my server. If it was my server, your Excel app would not have access to it.
Do you really want me to explain the layout of a webapp that parses through a file and does some calculations? You have my estimate, that should be enough. I'm not going to do the homework of the poor guy who works on such things.
Fortunately, there are people like me are working on decent warehouse apps.
I don't like it, either.
Admin
If I was your CEO, and I asked for that report now, I want to know where the 4 hours is coming from. I pay you $100/h and it still takes 4 hours?
By the time you'd finished, and his eyes had glazed over from all the fancy words, Steve would have come to rescue. Hooray for Steve!
Yep, I do want an explanation. I showed you mine (hell, twice!), you show me yours.
In case you'd forgotten, the bra one will do. The second one is much easier. So:
Grab data from a DB (or anywhere)
Show various statistics; count, average, min, max, whatever.
Group / aggregate data. User can select what he wants to see, say only North division (pivot table in Excel for this)
Graphs. Pie will do.
Real time (where real time is 1-5 minutes)
Zero installation. Open it, it works. (So intranet solves that)
You've got 15 minutes. Oh wait, 4 hours, less the amount of time you've spend telling us all about how trivial it is. So that leaves 3 seconds.
Go to it. Show us how you'll crush the Steve's of this world (and all the others!), and leave the rest of us mere morals in awe.
What was it you said?
So what exactly is supposed to be the difficult part about that? Importing HTML? Counting? Aggregating? Searching? Grouping? Creating graphs?
Y'know what? You're all talk.
Tony
Admin
But you are not my CEO (heaven beware) and in all decently run companies, it's not up to the CEO to decide on how to make IT systems.
And if you really think I'll spend the next four hours to make what I said can be done in four hours, just to prove my point, you are really nuts.
Here is the layout: Java Servlet + Template Engine.
I have a generic Java servlet that reads data from one database table or view and feeds it into a template engine, searching and sorting included.
So the main effort goes to a) making the views (10 minutes) and b) making the HTML templates (0.5 hours per template). For the pie chart, I use an already existing generic drawing service that receives the numbers in the request string and returns the image; configuring the feed is 10 minutes per chart.
Admin
The CEO want his shiny report, and he wants it now.
Go learn Excel. Far less pissing about, better interface, faster to maintain, and a better result.
Tony
Admin
This sounds like an ad-hoc report. Excel is the right tool for that, no doubt.
Admin
And then the by-product meets the rotating object and nobody wants ownership of said bit of code.....
Admin
What code? There isn't any.
Ya wanna take control over some 'generic' java someone else put together instead? Note there are no real details in AmmoQs solution, it might as well been "I'm gunna use a 'puter" for all the use it was. Lame.
One post I did described step by step how to do it in Excel. Read it, follow it, go home early.
Like I said before, all talk.
Tony
Admin
You want me to post the source code or what? LAME
Admin
The code is standard crap. Complete gruntwork. No thought necessary. Give it to the most recent college grad, and even if they are complete crap it'll be done in a day.
ammoQ laid out the pretty much standard report method. Four hours was a bit high on the estimate IMHO. If you have a person well versed in templates, it'd take much less. To call it a program even is a little bit of a stretch. I can't count the number of companies that produce reports like this. It's just so standard. Another hour could be taken so the same script could generate Excel reports!
Using excel to generate the reports is just asking for trouble.
Tony... or should I call you Steve.... The only place where excel should be used to generate reports is in a buisness of less than 10 people MAYBE. Hope that the company doesn't grow either.
IMHO, Excel should never be used to generate reports. It's a great tool for visualizing data, and even manipulating to some extent, but that's it.
Admin
The original challenge included parsing a HTML file, so consider 30 min for that. And then there are those strange rituals IT people tend to do... I remember they called it "specifying", "documenting" and "testing".
Admin
Oh yeah, that would probably account for some more time. I was thinking of just coding and debugging.... Go figure ;-P
Admin
Imagine a chat between two people, let's call them interviewer & candidate.
[I] - So, here's something Steve used to knock out in about 15 minutes, how would you do it?
[C] - Well, that's looks trivial.
[I] - It is, Steve wan't the sharpest knife in the block.
[C] - I reckon I could do that in 4 hours.
[I] - How exactly? Take you time, give as much details as needed, like actual tools used.
[C] - Ok, well, I'd use a computer.
[I] - Um, good.
[C] - And Java.
[C] - And HTML.
[C] - Templates, obviously.
[I] - Obviously.
[I] - Anything else you want to add?
[C] - No, that covers it pretty well, I think. Any fool can see that.
[I] - Well, thanks for you time, door is over there.
[I] - (mutters) Lame.
Will the intrepid job hunter get the job? Don't both staying tuned, because you know the answer.
ammoq can pretend to be either. Works boths ways, based on his comments.
Tony
Admin
Proper version:
[I] - So, here's something Steve knocked out in about 15 minutes, it worked well for one manager, but failed to scale.
[C] - Well, that's looks trivial.
[I] - It is, Steve wasn't the sharpest knife in the block.
[C] - I reckon I could do that in 4 hours. Give or take a little bit depending on if you want any extra features.
[I] - How exactly? Take you time, give as much details as needed, like actual tools used.
[C] - Well, I'd probably use a java servlet to generate an XML report, using a XSLT for the formatting of the data.
[I] - Anything else you want to add?
[C] - If Excel output is still needed, then all we would need is another XSLT to format the report.
[I] - Excellent. Sounds like the standard enterprise solution that we like. When can you start?
Admin
You can't measure ROI using simplistic calculations of "basic cost"; you've got to consider cost over the lifetime of the solution. If your "cheap" solution increases the load on the database server to a point were an upgrade becomes required its no longer cheap. The problem here is most managers/directors are completely clueless about IT; making it very hard to explain the long term benfits/costs of any solution.
And remember, just because they wanted the spreadsheet and used it, doesn't mean they actually made use of the information. Managers love nice fancy graphs. :P
Admin
You are so fscking childish that this thread gets really annoying.
Here is my version:
[I] - So, here's something Steve used to knock out in about 15 minutes, how would you do it?
[C] - Is this going the be my job, replacing Excel hacks?
[I] - Yes, because they have a tendency to break the database.
[C] - How many of them are out there?
[I] - We don't know, maybe hundreds or thousands. Nobody bothers to document them. IT knows nothing.
[C] - Thanks a lot, I'll help myself to the door.
Admin
Wow what an incedibly juvenile post. It one thing to believe in a veiw point and support it with empirical evidence and logical reasoning. It's entirely another matter to drag drag the argument down to personal attacks presented at the level of a childish disagreement on the grade school playground.
I would also add that most C level management in successful multimillion dollar companies would many times over spend 4 hours to make sure that they get a report right which will be key in making business decisions involving millions of dollars than save a few hundred dollars and a few hours of time to get the report in 15 minutes with a nontrivial chance of having a mistake in the report. In big business, managing risk is key. The Steve's of the world, when working on reports or applications key to business, represent a very high risk without a mitigation plan to manage this risk. Only a fool would knowing bet millions to save a few hundred dollars as long as there is a nontrivial chance of losing the bet. With a Steve solution you don't know the full risks because not enough resources are spent to define what the risks are. It's the corporate version of Russian roulette where you don't know how many chambers have a bullet in them. Could be none, could be all, or could be somewhere in between.
Admin
Righto, ammoq, that's you in the [C] seat, now try it again in the [I] one.
Still get the same result?
Businesses don't give a rats arse about doing it 'right', where 'right' is rigidly defined by IT. Yep, like you lot, I used to care about 'right'. Then I discovered that right doesn't matter much. It even gets mentioned in this thread, posts stating 'who can justify that the 'right' solution is any better than the Excel version?' Don't forget this is isn't a simple static report, which your solution makes no allowance for. Realtime? User selectable options? Data varies, eg add/drop a region?
Out of the hundreds of crappy sheets Steve cobbled together, one blew up. Overloaded the server. Big deal. I been at companies taken out by viruses, theft, fires, black-outs, cut cables, a truck thru the server wall (big one too), and cluelessness (me included). Click over to the back-up site, and carry on. Just another day.
Now all I care about is getting paid, going home, and how cute the PAs are (try working for a Japanese company sometime...). Oh yeah, more girls on the other side of the server door. Hooray for girls.
Ok, it's not as bad as it seems written up there in black & white (not the girl stuff, that's good!), but in the end, that's all that really matters. I've spent years doing this crap, and far too many of those 'doing it right'.
Now I concentrate on getting it right, and getting it done right now.
If C++, assembly, Excel, PDQ, BroadVision, .Net, InfoPath (yeah, go look at that one too), or even Pascal (long story) gets me there, then that's what I'll use. Is it right? Who cares. Businesses pay me for solutions, not to masturbate over O'Reilly books.
$100/h programmers spending 4 hours on something a $10/h admin can do? Oh, but we're doing it the 'right' way...
If your under 20, then carry on with what you're doing, these comments are useless to you. If you're over 30 with the 'right' stuff, then you really haven't learnt much in the past 10 or so years.
There's a story by Asimov (possibly Clarke) about 'good, better, best' that budding engineers were made to read...
Tony
Admin
If I asked the same stupid questions like your [I], I'd expect the asame response from any serious [C].
Your businesses obviously have different quality standards (i.e. none) than my businesses.
This flexibility is usefull for adhoc queries and rapid prototyping, but I wouldn't want it to directly access productive databases. Just because of that.
That's what I meant when I said "different quality standards".
If an application is of any importance, it is worth to be done right, whatever that means in context. Could even be Excel in some cases. If something is done by ElCheapo without specification, documentation and testing, chances are it is unnecessary anyway or the company doesn't care about risks.
I'm 36 and I've learnt a lot in the last 15 years, like "software systems live longer than expected" or "one desaster costs more than was saved on the 20 lucky cases".