Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "time estimation"
President of my employer: how long do you thing it will take to complete x type of migration?
Me: I don't know. We've never done one.
President: well how long do you think it will take based on your experience?
Me: I don't know. I've never done one.12
ESTIMATING FUCKING HOURS.
Well not literally, that only takes 10 minutes.
But software estimation... anyone pretending to be good at it is a dirty liar. Adding a button? Uh, let's say 2 hours, I mean I gotta poop in between as well, and it's probably some broken bootstrap theme with hacked custom margins.
Building a commenting system coupled to an ancient CRM? Uh... maybe one day? Maybe a month? I don't even know what the CRMs looks like? You won't show me because "that's irrelevant"?
WELL THEN I DON'T FUCKING HAVE A CLUE.
And in the time we spent on discussing time estimations, I could have written like half of the feature... or zero... because you still haven't fucking shown me what the CRM API looks like.
YOU KNOW WHAT I'LL GIVE YOU AN ESTIMATION. ME. VACATION. DONE IN 6 WEEKS.7
"How long will it take us to build X?"
"How long is a piece of string?"
Very similar indeed. Time estimates are insanely hard even with all the cards on the table, be sure to lay them all out before asking.1
You guys know the concept of devs giving a time estimation to their project manager, so that he can give a time estimation + pricing to the client, so the PM would leave them alone until the deadline is about to arrive, right?
Well, my PM doesn't.
Today is Tuesday. You friggin' gave the client an estimation of 5 days about this new project, and we started working on the project on Sunday, 2 days ago.
WHY THE FUCK ARE YOU ASKING ME ABOUT WHEN WE THINK WE'LL BE DONE SINCE YESTERDAY THEN?! IT'S NOT LIKE I'M JERKING OFF TO PORN OVER HERE FFS.7
I remember a bad freelance experience.
It was a sophisticated mobile applications (many UI, many customization, many APIs to integrate with). since the client have many future freelance projects, I give him 3 weeks as estimation time, and one day per week I work on its place to evaluate the progress and sync our work.
I worked hard, the quality was excellent.. but he kept ask for "small" changes and "small" features.. at first it was OK, and I was planning to give him a good example to profit from his future projects.. but he toke advantage for that and the same app extended from 3 weeks to 2 months and more.. he barely added a little to the initial price..
So what I did? I uploaded the code to a private repository in Bitbucket, added him to the team.. I wrote few lines how to sign and publish the app.. aand disappeared.
his luck, I disappeared from the country, I immigrated to another country for best job opportunity.2
The 5 stages of project management:
1 - the Mission:
Receive a project
2 - the Vision:
Over confidence and optimistic time estimation. Tell people how quick you can finish it.
3 - the Climax:
Adding unnecessary features. Try to be innovative. Think different. Feeling like a Rockstar.
4 - the Bargain:
Does not aware deadline is not far away. Reverse all unnecessary or impractical moomshot features. A bit stressed
5 - the Embarrassment:
Unpredicted obstacles or incidents. Late delivery or fail. Feel like a loser.1
If your boss asks you for an estimation don't follow your gut coz your gut sucks. Ask for time to analyse before giving any estimation. And yeah don't forget external factors such as :
- third party tool down (github I'm looking at you)
- updates (windows, IDE, etc.)
- 90% of the time it doesn't work
- if it involves front dev just go ahead and double your estimation
- YOUR BOSS THINKS YOU OVERESTIMATED
I'm on my first free lance project, and devRant asks me for my horror story. -_-
Well, I undersold myself and gave such a stupid time estimation. Fortunately, the client was smarter, and he wants just half the work in same time period and will still gave me the same amount xD2
We as developers often get a lot of pressure considering the deadline for $someProduct™.
But sometimes it happens to me that I need less than half of the estimated time for development of $randomFeature or $product™.
Do you think it is fair to (rarely) procrastinate a bit in order to not show your boss that it needed much less time, so he will not lower his time estimations for future stuff?3
The current project in working on. It is a complete nightmare.
It is the first large scale project that our company does. We were used to smaller projects that are basically fixed priced, and that's why my boss treated this one the same. Big, big mistake.
My CTO and another crew member gave an estimation of 8-9 months to finish this app. My boss said "eh" , and told the client we'll be ready in 5 months. What the actual fuck bro.
Because of that, we had no time for implementing tests, no time for proper QA and no time to cover edge case scenarios.
My CTO decided to go with Angular2. We hired this freelancer who supposedly knew Angular 2 but eventually did 3 weeks' work in 3 months. He got sacked and we had 2 months left for delivery. At the time, not even 20% of the app was actually ready.
Then I got into the project to replace the freewanker who got sacked.
I spent the first 2 weeks fixing the ridiculous amounts of spaghetti code and unoptimized builds he made while my CTO took care of the server side.
Now, 4 months later (7 months into the project), we still have the mobile version to work on and the desktop version isn't ready yet because we keep finding bugs BECAUSE THERE WASN'T ENOUGH FUCKING TIME FOR TESTING.
To make matters worse - my CTO got married 3 months ago and took a vacation overseas a month ago, for a full month. He's coming back next week.
So the deal is pretty much this right now -
- My boss is stressed as fuck, which means he's stressing me out and I'm really about to fucking lose it
- I'm taking care of this whole friggin' thing alone
- My boss wants me to put more hours into this, after spending 2 whole weeks (3 months ago) working 13 hours a day. I'm not going back to that situation, not a fucking chance. Not my CTO either.
- I absolutely love my boss and I understand where he's coming from, and I can't be mad at my senior because he got married (and who wouldn't want a long honeymoon?), but if this thing goes on, I'm gonna have to abandon ship. I've already had some interviews and it turns out that my years of experience are really noticeable, which feels nice.
In short - FML.
I hope my boss learns something from all of this. I'm moments away from just giving up after these last few months.
That said, I would be happy to receive some tips regarding the management of large scale projects. Whether it's pricing, estimations, QA/testing related, whatever. I welcome every little piece of advice, because I want to educate my boss if I do eventually decide to stay there.
Thanks ranters. ❤2
Damit I always get in trouble after I give a deadline to any task :/
My estimation of work done is poor4
My first project it’s an emotional roller coaster. I was a little trainee/ junior dev at my job with a little more than a month learning RoR and one day my tech lead receives an email from the big boss saying: “We got a big client who wants a total redesign of his web and we said yes we can do it in a month, so please check if anything it’s reusable”, after reading my tech lead said to me “Do you want to help me with this ?” And well, we spend like 2-3 hours checking all the controllers, views, assets, etc. We conclude that the project was mostly front end changes and the back end will stay the same, so yeah it can be done in a month. The next day in a meeting with all the team I was nominee to be the person in charge of that project, because it was an easy project and all my teammates hate to do front end stuff, so I take the challenge. After that I met the Project Manager, another guy who recently start as PM about a month, so yeah we were two new guys who need to handle the project of a big client, nothing can go wrong. We did the planing, I give an estimation ( first one in my life ) for the tasks and added like 4 hours in case anything goes wrong. Then the first sprint came by, and I couldn’t finish it because the time given to some features was to low and the “design” was a mockup made by the PM, ok, no problems, we add more time to the tasks and we ask for a real design. At the half of the sprint the client start adding more and more stuff, the PM doesn’t talk back, just say yes yes yes. Then in a blink of an eye the easy project became a three months projects with no design at all, two devs ( a new guy who recently begin as dev enter the project ), just mockups and good hopes. But somehow we did it, we finish it! Nope. The early Monday of the next week I received an email of the PM saying we would have a second version and the estimation of the tech lead was a minimum of six months ( that became 8 months). This time was hell, because the client doesn’t decide what the hell he wants so a task would take a couple of days more or so, the PM became the personal bitch of the client, but it wasn’t his fault, because we later knew that the company became partner with this client and because of that the PM didn’t have too much choice :/, the designs were cool, but they weren’t on time ever, our only design guy had to do designs to our project and another 5 projects of the company, so yeah, we weren’t the only ones suffering. At the end we survive, the project was done and the client somehow was happy. Of course the project didn’t end and it was terminated half a year later, but I’ll always remember it because thanks to this project I was given the opportunity to work as a Front end dev and I’m happy still working as one.
feel stupid bcoz you underestimated the time to complete the project, feel even more stupid when you do it again and again1
During my time at university my friend got me a job, he said. He explained there was someone who was a member of some student club where they needed a website. Me and this person met and discussed the scope of the project, "nothing major but it will take some time" I thought to myself.
I gave her a rough estimation and told her my rate (extremely cheap). She looked at me and said "I was thinking a case of beer would be enough?".
We were both students, but seriously?? I almost contacted a proper company to give them the details just to get a real cost estimation to shove it in her snug fucking face!
Talking about some new feature he haven't totally thought about. so i tell him to think about it.
Talking about a bug, but can't reproduce it.
Talking about another enormous new feature but halt it after hearing the initial estimation.
Total time waster = 1.5 hours for every day.
DON'T LET CUSTOMERS WASTE YOUR DEVELOPMENT TIME.
instead of talking - use project tracking software (i.e. JIRA)
Screw Scrum, screw it very much. Is it a task or a story? Oh let's make it a story to track points. What are points, really? *20 minute grilling always follows* Well they're kind of a roundabout way of talking about time without talking about time, mkay? But last time 2 points took you a day, what gives now? What do you mean points are for internal use, but how will management plan ahead for next quarter? Ok, let's mix in all those new people, and propotionately bump the expectation for the sprint, mkay? Yeah, they did 34 points per sprint over there, we'll just add those in. Oh, and by the way, after the 4-day estimation session we had where everyone was seizuring, I scheduled us at 645 points for the coming quarter, mkay? Don't worry, I added 15% for the "unexpected dtuff" so you're safe. Fuck you scrum, scrum-fall, whatever you are. Lost a dev lead role once for being honest about it after a year with a team that loved me, and projects completed more or less on time. Been reconsidered for a dev lead role for being honest about it in another place. Somebody else peddle this kool-aid, this one prefers a walk-on role in the wall to a lead role in the cage.5
Perfect time estimation.
Handy side effect would be all specs become frozen and sealed the instant they're agreed on
Just discovered "git hours" (https://github.com/kimmobrunfeldt/...) and it's as simple as awesome! I'm gonna start using it in combination with RescueTime to check how accurate are my estimations... Any thoughts, suggestions or experiences on this, guys?
Is it normal that devs go back home on time? Or it's only me sometime I didn't have any progress at the end of the day coz I stuck at something? Luckily my manager is cool with my 1 day extra for time estimation. Haha.