Live data from Hacker News

“This project will only take 2 hours”

web.eecs.utk.edu

71–80 of 279 posts

Re: “This project will only take 2 hours”

#71
While back I applied to this PHP/Laravel job. I had to make a CRUD app and I did it, took me like 9 hrs, I made it... but I was a noob too back then regarding repos/how to share code. So I attach it in an email and it never made it... so days later I ask like "did you get my project?" realizing it didn't go through oh man.

Re: “This project will only take 2 hours”

#72
I've gone down this rabbitole before, and yes, there are things that take two hours, and there are things that take a lot more. The problem is the scope - ie. are you trying to do what you said you'll do (miniature software to log urls), or are you adding 100s of requirements to the scope (gui, filters, privacy,...).

We had a bunch of .xml files containing some data, and someone wanted a .csv file... sure, an hour max, and it's done. Fire up some perl, loop, xml->hash, take the data needed, print line by line, done... less than an hour.

"Hey, can you add just this and that, and separate folders for this and a total and rolling sum?"

...yeah sure... hour or two.

"and this and that?"

...sure, another hour...

"Can this be made for that department to use.. just add a simple gui"

...and we've gone from an hour or two, to weeks or months of work. Nobody wanted a gui application made for "normal users", with all the checks and verifications and documentation and everything when you made a request... the scope was a simple one-off script, and that actually took an hour or two. This is like requesting a bicycle, than wanting to add a hitch for a boat trailer and making it higway-legal. And the added problem is, that your script never intended to do "all of this", and you either have to rewrite it from scratch, or you software looks like "the Burrow" (from harry potter).

Re: “This project will only take 2 hours”

#73

Earlier quoted context omitted.

> Anyone can write a rough command line tool that monitors the clipboard and prints to stdout. There's a good chance that this will solve 95% of all needs. Most of the features suggested in the article beyond the original premise are unnecessary.

>There's a good chance that this will solve 95% of all needs. Most of the features suggested in the article beyond the original premise are unnecessary. The teacher is the client. The client is the one who will better estimate what is necessary or not. If you own a company and someone wants to contract you for work, you start explaining how what the client says it needs is not necessary and how he can manage with les…

Every idiot with a stupid idea for a piece of software is a client, but vanishingly few clients are good customers.

In different words: there are tens or hundreds of thousands of people who can describe software that would be very useful for them, but very few of those ideas would be profitable to fully develop.

Opportunity cost! Every stupid idea implemented snuffs out what could have been a good idea.

Re: “This project will only take 2 hours”

#74
post #66

Reminds me of how some companies give take-home assignments to job candidates. > Here's a task that takes a day to do sloppily and at least two days for you to show your best work. We want to be respectful of your time so please don't spend more than 2 hours on it.

I only accept paired assignments. If you are going to use my time, the least you can do is offer an equal amount of time on your side.

Re: “This project will only take 2 hours”

#75
post #40
post #23

Earlier quoted context omitted.

This was supposed to be a student hobby project, not a company product release. You are thinking of this problem from the perspective of an enterprise programmer, not of a hobbyist enthusiast.

They are studying to become professional programmers. I think the enterprise perspective is correct, you don't want grad students with a hobbyist mindset.

At that time, I enjoyed writing software only I would ever use. I can set up auto start myself ; I can log with CSV format and write a tool later to process it ; I can hardcode my exclusion list. I would still get enjoyment from the project doing all of those things. And using the clipboard API could open up my next project idea.

Implementing every feature the Prof listed sounds like something I would only do for money.

Even professionally, there is still use for code that only ever gets run by its original author.

Re: “This project will only take 2 hours”

#76
post #5
post #4

This sounds more like a problem of scope creep than unexpected complexity

Scope creep happens when you discover new requirements after defining a project scope and delivering an estimate. The type of analysis outlined in the article is helpful to define a sane and reasonable scope upfront, to hopefully avoid creep down the line.

> Scope creep happens when you discover new requirements after defining a project scope and delivering an estimate.

The author defined project scope. Student discussed and came up with 4 hour estimate. Then after that estimate was made the author added a lot of requirements and said the student estimate was too low.

Re: “This project will only take 2 hours”

#77
anyone else feeling like lately at work they are spending more time on dialing in time estimates for work than actually doing the work? it feels like we have a problem (at least in sysadmin/devops roles) of valuing time estimates/"the process"/agile over actually banging out some work. i am starting to tune out planning meetings and requests for time estimates with a least effort possible attitude.

Re: “This project will only take 2 hours”

#78

I've gone down this rabbitole before, and yes, there are things that take two hours, and there are things that take a lot more. The problem is the scope - ie. are you trying to do what you said you'll do (miniature software to log urls), or are you adding 100s of requirements to the scope (gui, filters, privacy,...). We had a bunch of .xml files containing some data, and someone wanted a .csv file... sure, an hour ma…

I vaguely remember a rant some famous Linux developer went on about how setting up printing in Linux requires a dozen parameters, half of which are arcane nonsense that the printer manufacturer themselves probably doesn't know how to set up correctly.

Meanwhile, on an Apple or Windows computer it can be literally just plug and print.

The difference is that hiding those arcane input parameters takes work, and a lot of it. There was a quote that it takes 10x as much effort to remove an input parameter than simply leaving it in there and letting the user fill it out.

A lot of people don't get this, and think the simpler-looking software is simple, when under the hood it is probably doing model auto-detection, driver downloads, protocol negotiation, and even firmware updates on the fly!

I face this all the time at work. "Can't you just make a single button to run this task so I don't have to figure out how to use this complicated script?"

"I can, but not with this budget..."

Re: “This project will only take 2 hours”

#79
post #66

Reminds me of how some companies give take-home assignments to job candidates. > Here's a task that takes a day to do sloppily and at least two days for you to show your best work. We want to be respectful of your time so please don't spend more than 2 hours on it.

I wonder if that's why I wasn't a good fit for a recent company I interviewed with using a take-home assignment... bear in mind it's been at least a decade since I last took a take-home, so things might have changed.

I received the task on Friday evening, I spent the week-end thinking about the problem. Monday I had actual work and on Tuesday, I spent a day coming up with a shit implementation. Then, I started improving it for two days until I think it got in a good shape. I basically wanted to transmit that I can start from the base, add functionality and then iterate on the problem by documenting, refactoring, adding tests, evolving the code base etc.

So I'd say I worked for around 24 hours over 168 hours and the feedback I got was:

> Thank you so much for your interest in joining and the time you took to submit the coding challenge. In reviewing your application though, I have decided not to invite you to the next round of interviews as I believe there are other candidates that are a better fit for what needs right now.

This is turning into a subjective rant, part of me wants to delete this but I'm just gonna go ahead and finish it; When I was younger, I used to love take-home assignments because it felt better than just doing algorithms, and then I used to get proper feedback, what I did wrong, what aspects I could improve in the future etc. This feedback gives me nothing. Just the realization I wasted time.

Re: “This project will only take 2 hours”

#80

Earlier quoted context omitted.

> The programming parts of this would take 2-4 hours This is, literally, the error that the entire article works on dispelling. Anyone can write a rough command line tool that monitors the clipboard and prints to stdout. Writing a usable GUI application is a lot more work. That’s not project management, that’s coding work. The ratio of project management work to coding isn’t 10:1 or even 100:1 like you’re suggesting.

> Anyone can write a rough command line tool that monitors the clipboard and prints to stdout. There's a good chance that this will solve 95% of all needs. Most of the features suggested in the article beyond the original premise are unnecessary.

Reaching to first 90% is easy. Remaining 90% is the hard part.

As the saying goes: The 90% of the project takes 90% of the time. Remaining 10% takes 90% of the time.

Post reply on HN