| |
| ▲ | wpietri a day ago | parent | next [-] | | I have had many successful projects where we spent approximately zero time on estimates. The fact that a successful approach is culturally seen as illegitimate to even talk about is a great example of why I wrote that last paragraph. | | |
| ▲ | awesome_dude a day ago | parent [-] | | Whenever there are constraints (money, time, resources) there are going to be estimates and prioritisation. You might be speaking a little more broadly than I am interpreting. | | |
| ▲ | lmm 17 hours ago | parent | next [-] | | Research is subject to constraints of money, time, and resources, but is not normally estimated in the sense that software industry people would use the term. | | |
| ▲ | awesome_dude 3 hours ago | parent | next [-] | | Research is estimated, sometimes those estimates are hilariously bad (Computer vision is easy, a summer research for a student should be enough), but more often than not it's "We expect that this research will take someone doing a Ph.D approximately 3 - 5 years to do" The entire premise of a project is "Look at this, with the intent to find X, and, if it's not possible, break it down so that we can create more projects to work toward that goal" which is an estimate, or a breakdown into sub projects that also come with estimates. | |
| ▲ | bpt3 12 hours ago | parent | prev [-] | | Yes, yet estimates are still made. The author of the article didn't use some highly formal definition of estimation, didn't imply one, and seems to be focused on devops (not software development) as a practitioner. Estimates are difficult, and in unhealthy environments are weaponized against developers. That doesn't mean they're unnecessary or impossible. | | |
| ▲ | awesome_dude 3 hours ago | parent [-] | | I think that the replies I am getting are demonstrating why developers have estimates used against them - people forget that they are estimates, and they also forget that when new information comes to hand that invalidates that estimate a completely new one may need to be created to take into account the new data. If developers (or anyone giving estimates) discovers that the initial estimate was based on faulty information then they need to push that information back to whomever they are reporting it to (Team Lead, Product Owner, Manager, customer, angel investor...). The receiver of that information then needs to decide on how to react according to the changes. | | |
| ▲ | bpt3 20 minutes ago | parent [-] | | Yes, agile is a reaction to spreadsheet driven development and some very dumb ways of tracking progress towards completion and managing work in general. In my experience, people don't forget they're estimates, they just want to force developers to meet whatever they agreed to that's most convenient for management. If you want to fight back against that, my experience has been that giving terrible estimates or refusing to give them at all will not result in more autonomy or authority. |
|
|
| |
| ▲ | wpietri a day ago | parent | prev [-] | | On the contrary, constraints often mean you don't need formal estimates. (I'll come back to prioritization in a sec.) Startups are a great example. When you raise your first chunk of money, the size of that isn't really driven by a carefully considered, detailed plan with engineering hours estimated per task. What you get is basically determined what's currently fashionable among angels and small-end VCs, plus who's doing your fundraising. (If you're Jeffery Katzenberg and Meg Whitman, you can raise $1bn. [1] https://en.wikipedia.org/wiki/Quibi But the rest of us have to make do with what we can get.) So at that point you have a strong constraint (whatever you raised) and some relatively clear goal. As I said, cost isn't nearly as relevant as ROI, and nobody can put real numbers on the R in a startup. At that point you have two choices. One is just to build to whatever the CEO (or some set of HiPPOs wants). Then you launch and find out whether or not you're fucked. The other is to take something akin to the Lean Startup approach, where you iteratively chase your goal, testing product and marketing hypotheses by shipping early and often. In that later context, are people making intuitive ROI judgments? Absolutely. Every thing you try has people doing what you could casually call estimating. But does that require an estimation practice, where engineers carefully examine the work and produce numbers? Not at all. Again, I've done it many times. Especially in a startup context, the effort required for estimation is much better put into maximizing learning per unit of spending. And how do you do that? Relentless prioritization. I was once part of a team that was so good at it that they launched with no login system. Initial users just typed their names in text fields. They wanted proper auth, and eventually they built it, but for demonstrating traction and raising money there were higher priorities. It worked out for them; they built up to have millions of users and were eventually acquired for tens of millions. On very little investor money. Being great at prioritization makes estimation way less necessary. The units of work get small enough that the law of large numbers is on your side. And the amount of learning gained from the things released change both the R and I numbers frequently enough that formal estimates don't have a long shelf life. So I get what you're saying in theory, but I'm telling you in practice it's different. [1] https://en.wikipedia.org/wiki/Quibi | | |
| ▲ | awesome_dude a day ago | parent [-] | | Wait, your first example is "We raised X dollars" which is a literal estimate of the worth of the company? I think you are well missing the point - everything you put into your rebuttal is about estimates - in time, money, or resources | | |
| ▲ | wpietri a day ago | parent [-] | | If you're saying there's some sort of wisps-and-moonbeams notion of estimation in everything that we do, sure. I'm not going to argue with that. One world, brah. What I am talking about here, though, is a practice of software estimation where programmers produce detailed numbers on the amount of time requested work will take. Which is certainly the common meaning of estimating around here, and also what the original article is about. | | |
| ▲ | awesome_dude 21 hours ago | parent [-] | | "Brah" I mean, if this is upsetting you, take a minute and go for a walk. > You might be speaking a little more broadly than I am interpreting. (Or I could be interpreting it more broadly) In either case I don't think your response is apt | | |
| ▲ | wpietri 21 hours ago | parent [-] | | I'm not upset. But as far as I can tell you've wandered off into some sort of philosophical space when I'm speaking of practicalities, without apparent recognition of the transition. I thought that was a bit ridiculous, something from the "wow dude have you ever really looked at your hand" school of conversation, so I made a joke. Apparently the joke didn't land for you. Alas. |
|
|
|
|
|
| |
| ▲ | collingreen a day ago | parent | prev [-] | | I, and others, don't agree with the blanket statement that "no estimates" is not a legitimate argument in any scenario. Can you expand on why you think there isn't a single case where estimates don't add value? Similarly, is there anything specifically in that post's claims that you think was incorrect, leading to their false conclusion? | | |
| ▲ | bpt3 a day ago | parent [-] | | Okay, a scenario where you're building a hobby project alone and you don't care if or when it gets finished would be one where estimates aren't needed. There is no scenario where it's appropriate or necessary when developing software professionally or even as a side project where others are expecting you to complete work at some point. One of the many misconceptions in the original comment in this thread is that "worthwhile software is usually novel", which is not the case without a very specific and novel definition of worthwhile that I don't believe was intended. | | |
| ▲ | kragen 17 hours ago | parent [-] | | If software isn't novel, that means some other, existing software does the same thing just as well in the same way on the same platform. So, unless it's a hobby project you're building alone, why don't you just use the existing software? I think that writing software that isn't novel fails to be worthwhile by a perfectly ordinary, mainstream definition of "worthwhile". | | |
| ▲ | bpt3 12 hours ago | parent [-] | | So you would consider a CRUD app with some basic business rules to be novel? Basically meaning that any software that requires any development effort is novel? That's a completely valid definition of worthwhile software, but to claim it's impossible to create an estimate to complete said development is absurd. | | |
| ▲ | collingreen 8 hours ago | parent [-] | | You just keep saying things are absurd or obvious but not putting anything behind it. I hope this isn't a semantics game where things like "1 - 6 months" counts as an estimate in this context. The point way back up this thread was accurate timelines for complicated, novel work have large error bars but those error bars aren't as bad as the equivalent error bars on estimating whatever "return" it is being pitted against. | | |
| ▲ | bpt3 6 hours ago | parent [-] | | I wouldn't consider something like "1-6 months" as a valid estimate, as that would indicate there is too much uncertainty and it needs to be broken down into subtasks that can be estimated with much less variance. I've written what is probably several pages now in response to two individuals who are redefining terms in order to play the exact semantic games you mentioned, but in order to claim no estimation of any sort needs to be done. We seem to be done talking past each other now that I explicitly pointed out their usage of non-standard terms and my suspicions of why (having also unfortunately lived through software development managed by Gantt chart and other unpleasant experiences where someone who had no idea what they were managing was in control of a project), which is fine with me. Feel free to describe your experience in practice when working in an organization where software developers answer to no one but themselves and are never asked for any justification for their progress or any projections of when they will be finished (both of which would require estimation to provide). If you are able to tell stakeholders something like you'll be done in 1-6 months or provide no insight at all into when your tasking will be done, do no tracking of progress internally, and perform no collaboration around the completion of synchronous tasks within your team, I'll acknowledge no estimation is taking place during that process. |
|
|
|
|
|
|