TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Software effort estimation is mostly fake research

780 pointsby waltercliffordover 4 years ago

55 comments

didibusover 4 years ago
The issue with estimates are expectations. While nobody acknowledges it, you&#x27;re not actually asked for an estimate, you&#x27;re being asked for a quote.<p>The difference is when you&#x27;re asked for a quote, you&#x27;re asked how much you will be charging, with the expectations that you&#x27;ll be willing to eat into your own margins to give a lower quote. That&#x27;s why it&#x27;s a negotiation, where you negotiate how much extra effort, time and headcount you&#x27;re willing to give, how much tech dept you&#x27;re willing to take, etc., for the privilege of getting their business.<p>If you see it for what it really is, you&#x27;ll see that it works pretty well actually. The business gets more out of you for less to them. It was never about having an accurate timeline or helping with planning or prioritizing, and always about negotiating a better contract with the dev team.<p>Now keep in mind that the &quot;business&quot; in this case is a person who need to report that through their amazing prowess of administration and management, they personally managed to get X feature out during their last review cycle at Y cost with impact Z. This person will not need to deal with developer satisfaction, retention and performance. They will not need to deal with the impact the lower margins they pushed for had on the next feature delivery, or the continued maintainance of the systems. And if the dev team had to lower the quality too much in order to meet the quote they put out, that will be 100% their fault, the &quot;business&quot; will know not to use them for their next contract, or they&#x27;ll expect the dev team to take on fixing all the issues at their own expense once more.
评论 #25826428 未加载
评论 #25826921 未加载
评论 #25826949 未加载
评论 #25826359 未加载
评论 #25826757 未加载
评论 #25831748 未加载
评论 #25831480 未加载
评论 #25831017 未加载
评论 #25834849 未加载
评论 #25830935 未加载
评论 #25829621 未加载
评论 #25833426 未加载
meeslesover 4 years ago
It&#x27;s unfortunate that this HN thread has been reduced to the generic discussion about software estimates when the article is specifically talking about research done on the topic of software estimates.<p>According to the article, proper research remains a struggle due to outdated datasets from before modern agile methodologies, and that the modern datasets from industry are hard if not impossible to gather.<p>If industry is truly interested in improving software development and estimation, their data should be anonymized and made available to researchers for analysis.
评论 #25826535 未加载
评论 #25827211 未加载
评论 #25828538 未加载
评论 #25829164 未加载
评论 #25826593 未加载
评论 #25833563 未加载
评论 #25830113 未加载
jakubpover 4 years ago
If someone can conclusively teach inexperienced programmers good approach to estimates (methodology) + help embed this into sales process of a software house-type company, I know some folks who&#x27;d love to have this :)<p>My own experience has been this: people make estimates, client has expectations based on some variant of those, and something later happens but so much change is introduced during the actual software development, that there seems to be no sane way to compare what happened with original estimates. (new features, changed features, lots of new information, market shifts&#x2F;product vision shifts, quality assumptions change, etc. etc.)<p>But at that point nobody cares! People go on with further projects, and no data is ever collected.<p>Nobody learns.<p>When f*ckups happen, i.e. a gross over- or under-estimate, this is often not shared with the broader organization (ashamed&#x2F;afraid sales people&#x2F;PMs&#x2F;devs say nothing&#x2F;hide it&#x2F;sugarcoat it). Client walks away.<p>Sometimes project is severly underestimated but usually not just because of the software part. Again, no decoupling and estimation of contributing factors is done.<p>It&#x27;s insane.
评论 #25825856 未加载
评论 #25825817 未加载
评论 #25826317 未加载
评论 #25825758 未加载
评论 #25826934 未加载
评论 #25825740 未加载
评论 #25835675 未加载
评论 #25825754 未加载
评论 #25826113 未加载
评论 #25826281 未加载
csoursover 4 years ago
&quot;Estimates&quot; are for things you&#x27;ve done before - like you can estimate building a house, because people have built houses before. The more like an existing house, the better you can estimate it.<p>Software is invention and construction. The construction part is pretty easy to estimate. The invention part is ... very very hard. I&#x27;d like to say it&#x27;s impossible. I&#x27;d like to see the software industry use a different word than estimate.
评论 #25826135 未加载
评论 #25826509 未加载
评论 #25826117 未加载
评论 #25826286 未加载
评论 #25825861 未加载
评论 #25825870 未加载
评论 #25828686 未加载
评论 #25825875 未加载
shihabover 4 years ago
I have been involved in Software engineering research a bit, even have a first-author short paper. I was struck by just how much pointless, low-effort papers there are in this domain. People have been researching about bug prediction for over two decades now, and judging by the paper quantity, this isn&#x27;t a niche area. Yet how many organizations do actually employ those systems in real-world? Can&#x27;t comment on industry, but I haven&#x27;t found a single open-source program that does that [1].<p>Now I know &quot;most papers are pointless&quot; is a common complaint in science, specially in my area of focus- machine learning. But I can&#x27;t shake the feeling that the situation is particularly worse in software engineering related academic research.<p>[1] I saw Mozilla attempt it, but not sure if it&#x27;s currently in use.
评论 #25826557 未加载
Aldipowerover 4 years ago
I am 20 years in development business now. This simple rule of thumb works for me and the team: (Your honest and concise estimation) * 3<p>There are just to many unknowns you cannot foresee. Software development is complex.
评论 #25827123 未加载
评论 #25830873 未加载
评论 #25825922 未加载
评论 #25826104 未加载
评论 #25825991 未加载
评论 #25826038 未加载
评论 #25827637 未加载
评论 #25825908 未加载
评论 #25826218 未加载
snidaneover 4 years ago
Software development which is a repeatable and already defined process is totally possible to predict and estimate. Most tasks of repeatable processes follow normal distribution and is predictable. Deviations from expected mean will be due to predictable factors of the environment such as failed disk or sleepy programmer. You can apply arbitrary six sigma methodology to measure such process with accuracy.<p>The problem in software though is that such a repeatable process would be immediately automated away by writing a function, library, framework or any such tools that programmers use on a daily basis without much thinking. Unlike in building construction, to which programming discipline is often wrongly likened to, where construction companies simply cannot &quot;write a function&quot; to deploy cookie cutter houses or bridges one after another.<p>Therefore software engineering is never a repeatable process, unless crappy tools are used, which don&#x27;t allow for sufficient abstraction of repeatable parts.<p>Tasks in software disciplines therefore don&#x27;t follow a normal distribution. They follow exponential distribution most often. Most issues go unnoticed. Majority are just so tiny and ofthen considered business as usual. Every time you get stuck and have to look up a solution in docs or stackoverflow technically is an issue, but never gets reported in an issue tracker for its triviality. There are however issues which are orders of magnitude larger than what management expects when they occassionally sampling issue trackers. Some issues lead to critical design flaws which could need a full blown rewrite for example, or ever lasting and expensive hackery in case the executive decision is to work around the critical design flaw. These issues can take years to accomplish or take massive amount of pain endurance.<p>Trying to estimate a process with such exponential distribution and making sense of averages or other statistics of such distribution is borderline insanity.<p>Why not just go to physics department and ask when the next Theory of Relativity will be invented and how much budget and story points those guys need.
评论 #25827190 未加载
jadams3over 4 years ago
The most useful piece of advice I have gotten for estimates is that they are all junk until someone sits down and tries to do the work. For big jobs, 20% of it, small jobs pushing 50% of the work.<p>In every single case when you&#x27;ve done that much work, I seem to wind up with a reasonable estimate.<p>If we&#x27;ve done the job before and have data on it, also reasonable.<p>Double or triple anything else.
tootieover 4 years ago
Scrum dogma is that estimates are for complexity, not effort or timing. The points you track in JIRA are meant to reflect how much of the current backlog is complete and how much is remaining. That can be extrapolated into timing but can&#x27;t be done up front.
评论 #25825790 未加载
评论 #25825733 未加载
评论 #25825707 未加载
评论 #25833232 未加载
SKILNERover 4 years ago
Not only do we not know how to predict how long a software project will take, we don&#x27;t even know how to predict what the end product will look like.<p>So who are we kidding?<p>Another way to look at it: take a small one-person project and assign it to three different developers. You may get wildly different results. How could you have predicted those differences in advance? Let alone apply that type of prediction across a large team.<p>About a dozen years ago I gave a presentation to the Silicon Valley Software Process Improvement Network (does it still exist?) My presentation: &quot;Unsolved Problems of Software Maintenance.&quot; You think predicting greenfield development is difficult? Try predicting maintenance work, where figuring out what to do can be more than half the work.
评论 #25833584 未加载
kylecordesover 4 years ago
Sometimes a request for an “estimate” is really a request for a promise, quotation, a guarantee that something will be delivered by X time or cost.<p>It&#x27;s easy to detect this:<p>Gently begin a discussion of how much uncertainty is tolerable, do they want to know the number we are 50% likely to hit? 80%?<p>If you get emotional pushback to discussing uncertainty, they are looking for a promise.
评论 #25833612 未加载
perl4everover 4 years ago
I had access to information about historical projects, so I compared the actual amount of time taken to the estimated time at the beginning, for every software project in the history of my organization.<p>I found that on average, things take twice as long as expected.<p>So, I was like, now I know how to estimate any project. I figure out what seems reasonable based on known factors...and double it.<p>A way to look at this is the &quot;unknown unknowns&quot; of anything empirically average to a 100% overshoot.<p>But this doesn&#x27;t fly with the project managers I work with, because they can only see that as illegitimately padding an estimate.
评论 #25833848 未加载
taericover 4 years ago
My problem with this is all estimation is hard. Period. Quantitative discussions of something that has been done? Fairly easy, if still not accurate.<p>Discussing something that hasn&#x27;t been rehearsed before? You can really only discuss how long you are willing to work on it. Not how long it will take to get done.<p>Fun examples. How long would it take you to clean out your fridge? How long would it take you to learn to play a song on piano?
评论 #25827222 未加载
评论 #25828729 未加载
mr_tristanover 4 years ago
I wish as much attention was paid to perform post mortems regularly then to only do estimation. You know, actually look at &quot;hey, this is what we guessed and this is what actually happened&quot;.<p>I&#x27;ve had to fight to actually hold post mortems, and every time I&#x27;ve done this, the manager ends up asking, &quot;hey, can I share this?&quot;<p>So clearly, there&#x27;s value, at least when we&#x27;ve done them.<p>I&#x27;m amazed at how few places even perform a complete feedback loop. It&#x27;s just, &quot;when can you get this done?&quot; and, &quot;is it done yet?&quot;.
评论 #25826446 未加载
ChrisMarshallNYover 4 years ago
I find this amusing.<p>Know how much a Honda Accord costs?<p>About 25 Grand.<p>Know how much a Mercedes S450 costs?<p>About three times as much.<p>They are both great cars, that will be rewarding to own.<p>The Mercedes doesn&#x27;t have 3 times more parts, but it probably took four times longer to make, and they paid the folks that make it, a lot more than the Honda. It&#x27;s actually, probably better &quot;bang for the buck,&quot; although it won&#x27;t seem like it, on the surface.<p>The reason is that all those <i>little</i> things that go into high quality take <i>lots</i> of time.<p>I can write a pretty complete app that does some cool stuff in a day or two. I do it often, when I write test harnesses for my libraries and whatnot.<p>However, if you want that app to be ship quality, and highly usable, you&#x27;re looking at over a month.<p>The thing is, many folks would consider my test harness lash-ups to be their &quot;shipping&quot; product, and will use that as a basis for estimation.
评论 #25826072 未加载
评论 #25826408 未加载
评论 #25826159 未加载
评论 #25826397 未加载
评论 #25826857 未加载
评论 #25826185 未加载
encodererover 4 years ago
Don&#x27;t do an estimate, build a prototype.<p>Don&#x27;t do an estimate, build a prototype.<p>Don&#x27;t do an estimate... seriously... build a prototype.<p>And then throw it out.<p>And THEN do an estimate. It will probably be pretty accurate.<p>Not always easy to do this in a tech company but as an eng director I was able to get it done and it changed a seriously broken process based on multi-week scoping and estimation futility.
Kaze404over 4 years ago
I had a conversation about estimates during a recent interview. I asked about how the company deals with those, and the interviewer said they don&#x27;t do estimates because there&#x27;s never been a time where something productive came out of one, and I think it makes sense.<p>In my experience, when an estimate is spot on the world goes on as if nothing happened. When it&#x27;s incorrect, all hell breaks loose and it&#x27;s every man for himself. And at the end of the day, all of the blame ends up on the person who guessed wrong. I&#x27;m glad I don&#x27;t have to deal with that anymore.
评论 #25827290 未加载
neartheplainover 4 years ago
Reminds me of the excellent 2010 talk, “What We Actually Know About Software Development, and Why We Believe It’s True”:<p><a href="https:&#x2F;&#x2F;vimeo.com&#x2F;9270320" rel="nofollow">https:&#x2F;&#x2F;vimeo.com&#x2F;9270320</a><p>Bit long, but well-presented and worth a listen for any practicing software developer (or person who manages developers).
BlargMcLargover 4 years ago
I seriously don&#x27;t understand the obsession with estimates in the paradigm it is pushed in. Want to be steady at a reliable pace, work for a few months and figure out the average and deviations. Need a priority on tasks, use a priority queue using whatever method you assign it by, often a combination of deadline, value added, complexity and more.<p>Yes, I get on a high level, one needs to be able to say &quot;yes we can make this before [date]&quot;, when using big deadlines. How often do people <i>really</i> have to finish something before a critical deadline or decide to drop it right then and there? I&#x27;d wager most software devs do not, let alone biweekly deadlines. Isn&#x27;t agile methodology supposed to help us fight against artificially tight deadlines (customer collaboration)? Isn&#x27;t the SaaS model combined with &quot;deploy any time&quot; designed to be profitable in accordance to features implemented? Then, why push estimates so strongly in whatever flavor of the month Scrum version BigCorp wishes to use today? What do they even add at that point? If they are really so important, why do we always feel the need to introduce human error when we can extrapolate former experiences with computer models?<p>Maybe it is just me being cynical. The entire need to hold so fiercely onto an estimate reeks of micromanagement and desire to push responsibility entire onto the lower ranks.
评论 #25830902 未加载
Groxxover 4 years ago
One important thing I&#x27;ve managed to get a couple managers to track for quarter&#x2F;half planning purposes: <i>uncertainty</i>. Prior to that, we&#x27;d of course hemmed and hawed and <i>verbalized</i> the fuzziness of our estimates... but only the final decided-on not-super-pessimistic number was written down, and decisions were made based on those. <i>That</i> was a major source of our estimating problems.<p>Everyone wants estimates. For decent reasons. But until we&#x27;ve done a similar thing before, they&#x27;re utter fabrication. We can take a semi-educated guess, but we <i>know</i> they&#x27;re still guesses... so for things we don&#x27;t have concrete answers for, we give small&#x2F;medium&#x2F;large&#x2F;extreme markers for how uncertain we are.<p>It&#x27;s fine to take on a big unknown or two. You might even get them both done in a half. But they better be worth it (or you have to decide when to cut your losses), because completing those two <i>could</i> consume <i>all</i> of your resources... and if that happens and you didn&#x27;t commit everyone to it up-front, you won&#x27;t get it done this half. Making that tradeoff more explicit managed to get us signed up for fewer low-impact-but-highly-uncertain projects that would inevitably balloon out of control but never be cut.
riettaover 4 years ago
I&#x27;ve been in this business long enough to know that point estimates are always wrong. A proper estimate is a range with a confidence interval. When forced to do a fixed bid, you have to raise the price even higher to the upper end of the cone of uncertainty.
评论 #25829693 未加载
vincentmarleover 4 years ago
I&#x27;ve been using the Rumsfeld Matrix to classify software estimations into 4 categories:<p>Known knowns: familiar tasks that can be reliably estimated from past experience. You can improve these estimates by better knowledge sharing (internal wiki, adding comments).<p>Unknown knowns: tasks that can be increasingly better estimated the more time you spend on estimating (for example creating Draft PRs with pseudo code).<p>Known unknowns: tasks that haven’t been done before, so estimations need a decent buffer (30-50%) to account for research and potential blockers. You can improve these estimates by benchmarking your previous efforts combined with the team&#x27;s skill levels (aka sprint story point velocity).<p>Unknown unknowns: the unforeseen blockers that come out of nowhere, can&#x27;t really be estimated, and can really disrupt a project&#x27;s schedule. Improving these estimates is really hard. The key to improving these is by improving team&#x2F;company communication and building agile feedback loops so you can identify these issues early and reprioritize as needed.
gregorsover 4 years ago
It&#x27;s worth watching Software Schedules by Joel Spolsky has some of the best insight regarding evidence based scheduling. It&#x27;s extremely interesting - <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=EUS4ktQJOSY" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=EUS4ktQJOSY</a>
kfkover 4 years ago
At least in a business setting I think the whole concept of a project needs serious reconsideration. We end up more often than not trying to fit developing a digital product into an enormously stupid gantt chart to execute some poorly thought “business requirements”. I prefer to talk products and not projects, I deliver the full thing including “growth” as adoption doesn’t come “if you build it” even within a Company setting. If you are building a product you can also get closer to those with the real problem willing to fund you with real budgets. On top of everything else if you are making users happy they will not chase you on fake estimates but rather work with you to get stuff done.
评论 #25827357 未加载
tobyhinloopenover 4 years ago
I feel like I can get pretty good estimates on the following conditions:<p>- the application is thoroughly specced. You might need WEEKS for this. - all variables are taken care of. Stack is known, and you’ve experience with all parts involved. If you don’t, get familiar with the parts first. Again, might take weeks. - there is no implicit functionality. It is either explicit or not included. - there are clear boundaries and rules to prevent feature creep. - you cannot estimate an estimate - all designs and UX are final<p>Now the problem is, this estimate is really expensive, because it’s actual work. It takes about 10-25% of the total project time to estimate the project.
评论 #25834038 未加载
parenthesesover 4 years ago
The first key mistake of software estimation in industry is that we rarely talk about confidence (e.g “I’m 50% confident it’ll be shipped in 5 hours, but 99% confident it’ll ship before end of week”). The fact that this is not part of planning means it’s often not part of the conversation and that we seldom think about estimation as a tuple of value and confidence.<p>The second key mistake is forgetting that estimates (at least in software) are an upper bound. So high estimates are often “better”.
ThomPeteover 4 years ago
In his book “Code Complete”, Steven McConnel speaks about metaphors. He reasons that metaphors are necessary to be a good developer as it helps visualize the act of coding. The metaphor he prefers is the “construction” metaphor. This metaphor he argues best explain the act (some would say art) of programming and gives developers a language to speak in that brings clarity to the development process.<p>When in construction you prepare the building site, lay a foundation, frame the house, put siding and a roof on it, and plumb and wire it. This is equivalent to programming. In other words through the lens of the construction metaphor, the developer is someone who ultimately build someones house by working together with different disciplines (Architects, designers, contractors etc)<p>The problem with that metaphor IMO is that it&#x27;s not actually what software development is.<p>The proper metaphor for software development is more <i>&quot;engineering and development of construction site equipment and material&quot;</i> i.e. a developer is not building buildings they are building the things necessary for building the building.<p>And so the developer will often find themselves in a situation where the material doesn&#x27;t exist and they have to invent it it or the material exist but we dont know how it&#x27;s going to work with some other material needed or the equipment used for that material isn&#x27;t made yet or doesn&#x27;t work with that material even though it normally does.<p>I.e. a developer is inventing, engineering and building all at the same time and that is what makes it impossible to estimate development regardless of process or metaphor.
评论 #25826588 未加载
Netcobover 4 years ago
Integrations for time-tracking software with issue tracking software exists, but I&#x27;ve never actually seen them used in combination before. You&#x27;d think that issue trackers would always include a very user-friendly time tracker by default, and advertise integrations with popular time trackers just to get that &quot;actual time spent&quot; data. I&#x27;ve also never looked at a burndown chart with any particular interest after knowing you can close an 8h issue after .5h and a .5h issue after 8h of work and the issue tracker will just keep pretending its charts mean anything.<p>Yet any company that does a lot of the same work could probably use that. You&#x27;d still need to do some extra work and tag your issues by things that you want to observe (and maybe predict), but then you could say things like &quot;after we switched to that fancy new API client generator, our client development times went way down but debugging times went up a bit&quot;. And the system could display some time range while you&#x27;re writing the issue. You could also look at the issues at the end of a sprint and then merge them with other items from the time tracker to see how meetings and other distractions played into the outcome.
gpmcadamover 4 years ago
Cache&#x2F;mirror<p><a href="http:&#x2F;&#x2F;webcache.googleusercontent.com&#x2F;search?q=cache:http:&#x2F;&#x2F;shape-of-code.coding-guidelines.com&#x2F;2021&#x2F;01&#x2F;17&#x2F;software-effort-estimation-is-mostly-fake-research&#x2F;&amp;client=safari&amp;hl=en-gb&amp;prmd=ivn&amp;strip=0&amp;vwsrc=0" rel="nofollow">http:&#x2F;&#x2F;webcache.googleusercontent.com&#x2F;search?q=cache:http:&#x2F;&#x2F;...</a>
Londaneover 4 years ago
The site is down for me, so : <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20210118200327&#x2F;http:&#x2F;&#x2F;shape-of-code.coding-guidelines.com&#x2F;2021&#x2F;01&#x2F;17&#x2F;software-effort-estimation-is-mostly-fake-research&#x2F;" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20210118200327&#x2F;http:&#x2F;&#x2F;shape-of-c...</a>
yibgover 4 years ago
To me the difficulty of estimating software projects isn&#x27;t about estimating the time &#x2F; effort to build the thing. The biggest uncertainty is trying to estimate what it is we&#x27;re trying to build in the first place. i.e. the details of the spec. Often times where I&#x27;ve seen estimates really off is when the scope changes, or more details are discovered etc.<p>To borrow the usual building a house analogy, if during software estimation we&#x27;re actually given how many rooms, how many floors, where are the doors and windows etc, then I think estimates will be a hell of a lot more accurate. Instead, what we typically get is, build a house that can be used by the family of 4, and we&#x27;ll discover exactly what the family wants as we build.
grey-areaover 4 years ago
It is possible to deliver most software on time, but you need to be very clear about scope and unknowns and keep the units of work small.<p>The broad strokes of the design work need to be done before the estimate (i.e. gather requirements, identify constraints, decide on direction and tools).<p>If work is unknown or in large chunks, it needs to be broken up into smaller well-understood chunks before estimation.<p>When new ideas arise, they should usually be kept for future work.<p>When work is added, other work needs to be removed or the estimate revised.<p>If the work runs late, something should be removed from the scope to keep it on time, then done after delivery.<p>If work involves integration with other systems this is much harder unfortunately, but for some classes of software (much business software), it is not so hard to estimate.
djoldmanover 4 years ago
&gt;Those estimation datasets that were flogged to death in the 1990s using non-machine learning techniques, e.g., regression.<p>&gt;...non-machine learning techniques, e.g., regression.<p>Is this where we are now? The connotation of &quot;machine learning&quot; doesn&#x27;t include regression? Wow.
评论 #25827074 未加载
wyldfireover 4 years ago
How do other disciplines estimate NRE? Do they have the same problems with missed predictions?
评论 #25826334 未加载
评论 #25825977 未加载
评论 #25826712 未加载
morelandjsover 4 years ago
My issue with effort estimates is that it is taboo to report estimates with uncertainty (think how silly that sounds). I&#x27;ll often give a low-end &#x2F; high-end and the person asking for the estimate will tell me they want a single number. If you did this in physics you would get laughed and for good reason. It&#x27;s bad science, and it&#x27;s bad forecasting.<p>You should never claim better precision than you know. It&#x27;s often more accurate to say &quot;more than an hour but less than a week&quot; than to say &quot;6 hours&quot;. We learn scientific precision in middle school... why is modern workflow management still so bad at uncertainty propagation?
mxcrossbover 4 years ago
I need to get a check list for the ever so popular criticisms of academia article. This one surely would hit plenty of boxes: scientists don’t pay attention to industry, researchers only care about grants, etc. It’s a lot of words just to say “they need bigger datasets”, which is also a check box.<p>The article ends by suggesting using GitHub. When I was a PhD student I recall open source projects being a standard data source for people who did software engineering research. But it’s not my field, so I’m not sure if effort estimation really has missed this.
jacques_chesterover 4 years ago
I think a better title would have been &quot;most effort estimation literature relies on small datasets&quot;. The use of &quot;fake&quot; can be read as insinuating deliberate malpractice.
luguover 4 years ago
I bet it is possible to give precise estimates, the problem is the amount of time and effort to produce such estimation compares with the actual execution.
galaxyLogicover 4 years ago
I think the problem is that if you have a timeline you can produce the result within time and budget, but at the expense of quality.<p>The time and cost estimates do not measure the amount of technical debt in the outcome. it may good great on paper but that is because of a vaguely defined specification which says nothing about the quality, including amount of te4chnical debt (meaning mostly maintainability).
franzwongover 4 years ago
In my previous company, we needed to put project code into timesheet for every activity. Of course, requirement gathering is also an activity. However, before you get the budget, you don&#x27;t have the project code. Also, you can&#x27;t get the budget before you have the estimate. It means I needed to give an estimate before I know what system I am going to build.
评论 #25833301 未加载
domanoover 4 years ago
I noticed that my estimates usually end up 3x as high as the next one and i feel pretty confident about them
toolsliveover 4 years ago
Hasn&#x27;t anyone tried to replace time estimates with probabilities?<p>(Like &quot;There&#x27;s a 80% chance we&#x27;ll finish this today.&quot; ) You immediately start to understand why it can take so much longer than expected (You&#x27;ve rolled a dice before; I want a six... How long will it take)
评论 #25833707 未加载
sn_masterover 4 years ago
That&#x27;s how I always felt about all the estimating parts in CS courses. They were all made up BS that would only work on very pre-defined things, like creating a new DB or website based on a template. aka &quot;IT&quot; and not &quot;SE&quot; stuff.
samskover 4 years ago
My bulletproof formula for doing estimations in corporate environments:<p>InternalEstimation = estimate the work as truly as possible (ie. in MD) ExternalEstimation = double the value of InternalEstimation, and increase units by one order<p>Example: 1 day (MD) = 2 weeks 2 weeks = 4 months
jugg1esover 4 years ago
I think there is a big difference between building something totally new versus a modification to an existing system. If you are building something totally new, I do not think there is much value in estimates with granularity lower than a month.
k__over 4 years ago
I think, software development works best without deadlines, but then you have to find ways to finance yourself while people wait.
ChicagoDaveover 4 years ago
Unfortunately, the business folks insist on making up arbitrary dates and costs. It’s the way of the world.
MattGaiserover 4 years ago
Estimation seems like a paperwork generation exercise anyway, so why not take it all the way to research?
mcguireover 4 years ago
Would software effort estimation work better if software developers were held to fixed-price bids?
zomarsover 4 years ago
Jonathan Stark saved my soul from this estimates nightmare. You should check him out!
deandree_over 4 years ago
Exactly, you can&#x27;t really predict what can&#x27;t be predicted
dborehamover 4 years ago
Redirect loop on TFA?<p>Update: working now.
distalxover 4 years ago
Broken Link....
newscrackerover 4 years ago
So research into software estimation also seems to follow Hofstadter&#x27;s Law: “It always takes longer than you expect, even when you take into account Hofstadter&#x27;s Law.”
ytersover 4 years ago
It is provably impossible to predict development effort.