Estimating Software Delivery Time DOESN'T WORK!

  Рет қаралды 33,185

Continuous Delivery

Continuous Delivery

8 ай бұрын

Allen Holub talks to Dave Farley about estimating software delivery time and why it's not remotely possible to do it accurately. Even if there are pressures from a business point of view. Software engineering has too many variables so a more sensible way to think about the process is with a TRULY agile mindset.
This is a clip from Allen's FULL Engineering Room episode which you can watch HERE ➡️ • Agile & Scrum Don't Wo...
___________________________________________________
🙏The Engineering Room series is SPONSORED BY EQUAL EXPERTS
Equal Experts is a product software development consultancy with a network of over 1,000 experienced technology consultants globally. They increase the pace of innovation by using modern software engineering practices that embrace Continuous Delivery, Security, and Operability from the outset ➡️ bit.ly/3ASy8n0
-------------------------------------------------------------------------------------
Also from Dave:
🎓 CD TRAINING COURSES
If you want to learn Continuous Delivery and DevOps skills, check out Dave Farley's courses
➡️ bit.ly/DFTraining
📧 Get a FREE guide "How to Organise Software Teams" by Dave Farley when you join our CD MAIL LIST 📧
The best way to keep in touch with the latest discussions, events and new training courses, get FREE guides and exclusive offers. ➡️ www.subscribepage.com/organis...
-------------------------------------------------------------------------------------
➡️ Links:
Allen Holub's Website ➡️ holub.com
Allen Holub's Heuristics ➡️ holub.com/heuristics/
The Agile Manifesto ➡️ agilemanifesto.org
Westrum Model of Organizational Culture ➡️ bit.ly/3QaK8bE

Пікірлер: 103
@seinfan9
@seinfan9 8 ай бұрын
The company I worked for got their snake oil grifter in during our onerous planning session to answer questions. I asked him how to account for shit that just comes up out of your control and derails the intended plan. His response: "Plan better." Genius.
@Maztergyl666
@Maztergyl666 8 ай бұрын
cOdE fAsTeR!
@ABC__-tm9ug
@ABC__-tm9ug 8 ай бұрын
But but but....
@SufianBabri
@SufianBabri 5 ай бұрын
@@Maztergyl666 but before coding faster, lets have a 2 hour meeting on why you think this change requires 1 hour of work.
@MrMate12345
@MrMate12345 8 ай бұрын
I can estimate the delivery date with high accuracy. Sadly I can't estimate the delivered features. 😅
@petebrown6356
@petebrown6356 8 ай бұрын
Which can be fine if the customer accepts that. For me, Agile is a good tool to understand velocity of a given team. Unfortunately, that is hard to know if it is made up of people you don't know. The team's velocity (avg. points closed over time) - can help you inform the customer of what can be achieved by a production date, or, if all features must be completed, when the production date will be. Customers want both, especially in the automotive industry - both features AND production deadlines are fixed.
@TheEvertw
@TheEvertw 8 ай бұрын
Many managers complain that software is the only discipline in engineering that can't make good estimates. But in all other disciplines, designing is about 10% of the final cost. The rest is manufacturing, logistics, purchasing etc. In software, designing is 100% of the cost. There are no (almost no) "manufacturing" costs. The other disciplines can not estimate how much "design" costs either. If they do estimate it, they are often wrong by a factor of 2. But they can make pretty good estimates for manufacturing from a preliminary, rough design, and the variance in design costs is negligible compared to manufacturing. That is apart from the other disciplines dumping all their big problems on software. "Oh, software will fix that" has doomed many projects. This include inter-department warfare that software is somehow to bring to an end -- the bane of many government SW projects.
@ForgottenKnight1
@ForgottenKnight1 8 ай бұрын
In software, there is no standard. If you go to a car manufacturer and say "I want a car with 7 doors, one of them on the floor, and 15 wheels, 3 of them on the roof, and 5 engines" they will laugh you out the door, no matter who you are :))) These people don't understand the actual LUXURY they have when it comes to software.
@TheEvertw
@TheEvertw 8 ай бұрын
@@ForgottenKnight1 Also, every 10 years the industry decides to no longer use the nuts 'n bolts of the previous product line, switching to something as radically different as e.g. using only glue or only velcro.
@morksinaanab
@morksinaanab 8 ай бұрын
Software is 100% design! I'm going to remember that!
@SufianBabri
@SufianBabri 5 ай бұрын
@@TheEvertw even worse: almost all libraries/SDKs update every 6 months or so with tons of breaking changes, which would easily break any estimate! And the management need new and shiny things, with smaller yet perfect estimate. At this point I find my kid easier to tackle than these non-technical (sometimes even technical) personnel.
@TheEvertw
@TheEvertw 5 ай бұрын
@@SufianBabri Exactly! It isn't like the tooth shape of an M-10 thread changes every time the relevant committee has a meeting. But this does happen with our tools and even our programming languages.
@svensommerfeld9640
@svensommerfeld9640 8 ай бұрын
At my first touchpoint with agile software development roughy 15 years ago our agile coach always told us: Just break everything down to the smallest piece so that it can be delivered in one day. This means you are moving "stories" every day, which has a motivational aspect to it, and you don't need to estimate. I loved the idea of it and it really worked like a charme.
@disgruntledtoons
@disgruntledtoons 8 ай бұрын
Management clings to estimates, in the face of all evidence that they are largely guesses, because it gives them a sense of control. In every case, both in software and in other aspects of business, when something is made for the first time, statements of cost are true only in the past tense.
@errrzarrr
@errrzarrr 8 ай бұрын
Vanity metrics = vanity results
@thatsabug
@thatsabug 8 ай бұрын
Quick fix on your text: "Management clings to estimates..." => "Bad management clings to estimates...." A manager work is to manage. Focus on controling aims to avoid unpredictable things, thus avoid things to manage; bad managers want to avoid having to do their work. But no matter how you fight reality, reality always wins.
@TomAndGingeCoLtd1996
@TomAndGingeCoLtd1996 8 ай бұрын
I respectfully disagree that it's about vanity or control. Waterfall style planning is just the default. If I buy a jumper from Amazon, I expect an accurate ETA - I don't expect a vest this afternoon, a shirt in the morning and a jumper some point after that. I am very much for Agile, but I don't assume people are control freaks or 'clinging' for wanting an ETA on their project
@PhilipJReed-db3zc
@PhilipJReed-db3zc 8 ай бұрын
​@@TomAndGingeCoLtd1996Right. Kent Beck has written about this with a lot of nuance. Senior management rather reasonably wants coarse grained estimates; the trick is not to turn things into a fine-grained estimation frenzy that ends up in meaningless story point=days and the like.
@stevecarter8810
@stevecarter8810 8 ай бұрын
The Amazon jumper is an industrial process, repeated and stochastically predictable. Software is in general not. I watch department heads talk about accountability then apply pressure to meet the roadmap timescales, causing middle managers to claim empty victories on due dates, and the software to cause big clouds of bug reports on shipping because we track by the plan not by the condition of dependencies.
@badtiming6313
@badtiming6313 8 ай бұрын
Software development is treated like working in a factory, which is not at all the same. The are only two valid estimates: "When its done" and "Something between a hour and a month.".
@RetroFab
@RetroFab 2 ай бұрын
Another observable problem is when EVERYTHING is deemed a priority and the organisation want it delivered yesterday. They then don't often give new ideas the time needed to embed and make meaningful change.
@orterves
@orterves 8 ай бұрын
The point at the end - that Agile encompasses the organisation - is key here. The estimates and deliverable timelines are more about the coordination of things like marketing and processes external to the software development, than with the need to obtain certainty around the software itself. A company that takes on agile only for the software development and not the other processes will never have agile work effectively for it
@vanivari359
@vanivari359 8 ай бұрын
but most companies can't work "agile" for everything. I spent a lot of time in car companies, unless you have a bunch of devote fans who swallow everything and thank you, you can't roll out features months after the product rollout of a new model. the hardware is already in the car (or not), you pay when you order, you can't sell features, but deliver them agile, especially if legal/security is involved. Stuff needs to work on rollout when all the journalists drive your car and present your features. This rollout is planned years ahead, products go through long cycles, delaying a product rollout is also problematic (because your factories already order parts, free up production lines etc). In videogames, the "day one patch" and "feature will come later this year" solutions are pretty common and customers hate it with passion. And right now i'm in the public sector where everything is dominated by laws which are valid at a specific date or mass-events in a year for which the software must be ready and nobody is moving the Worldcup or Olympics because a bunch of developers was not feeling like updating estimations. And lets be fair, without estimations, we would be slower, not faster. Many (most?) humans are procrastinators, without deadlines, many of us would never get stuff done. A big reason why management loves estimations is to create pressure. Most of them know that it won't be ready in the estimated time, that's why they want updates and have big buffers to ensure that there is enough buffer left to get it done and react soon enough if it turns yellow/red.
@Fanmade1b
@Fanmade1b 8 ай бұрын
@@vanivari359 If you can't fully work agile, then don't do it at all. There is still a place for the waterfall model. There you have to plan everything ahead and you can't be flexible. That is the tradeoff. And the "you need pressure or the lazy devs won't work" is a really bad thing to think. Pressure only results in shortcuts being taken and worse results in the end. If you want fast results, there are a lot of ways to motivate the developers. First, give them properly defined stories with "who", "what" and "why". The "why" is often the most relevant point that can lead to way better solutions than initially thought of. Then, try to make the results measurable. Is it something that will allow more orders to be handled? Will it automate a previously manual task and free n days per month of unnecessary work? Provide proper feedback for good work and maybe even give rewards for it. Maybe even create (positive!) competition between the developers. The rewards don't have to be money btw, it can be a completely worthless "company coin". Or ten company coins translate into one ticket for a quarterly lottery where you can win small price. Something like that. There are other ways, but I hope you can think of some for yourself. If I hear that a feature helps someone to get rid of an unnecessary task who has too much to do anyway I am way more motivated to implement it quickly than if some manager pulled some date out of their ass that I should keep so that they get their bonus for delivering no actual value of their own.
@calkelpdiver
@calkelpdiver 8 ай бұрын
Estimates are like Statistics. Lies, Damn Lies, and Statistics. Typically an estimate is an EWAG (Educated Wild Ass Guess). Been in the Software industry for over 35 years. SSDD.
@markemerson98
@markemerson98 8 ай бұрын
100% agree - sadly this doesnt fly when communicating this to scrum masters, ADMs or upper management on any level... they just dont get it...
@vanivari359
@vanivari359 8 ай бұрын
@@user-ff7ct4go5f scrum masters are the worst. These are people nowadays who want to be project managers or "do something with people" who went from university to a 1 week scrum training (or how long those are) and then explain agile to developers working in agile projects for a decade or more. Most of them are the manifestation of a cargo cult. It's a really bad idea to give people with no clue a simple book of "rules" to follow, the harm those people (who never produces a single line of code) have created in teams and projects.
@danielo9902
@danielo9902 8 ай бұрын
The book ”mythical man month” explains this in detail. Recommended read
@merchz2
@merchz2 8 ай бұрын
I dunno. I just give super high estimates if there is a lot of uncertainty. So, basically, I just give an upper limit of how much time it will take. That way everyone is happy
@Christian-of1tz
@Christian-of1tz 8 ай бұрын
I agree with you that estimates often don't provide much value. I personally don't like them. However, we sometimes work with government agencies as clients who have fixed delivery dates and impose heavy penalties for non-delivery. How would one approach this situation without even rough estimates?
@petebrown6356
@petebrown6356 8 ай бұрын
@@pcap8810 They'll want both scope and date....otherwise no contract. You lose.
@JonSchleicher
@JonSchleicher 8 ай бұрын
Government space isn't tricky. The way they work is flat out wrong. They hire consulting agencies with incredibly high turnover rates so they lose knowledge like air from a balloon. The comment on death marches is 100% correct. Consulting leadership won't do anything to push back on incredibly unhealthy anti-patterns so they will just throw bodies upon bodies to get something done just so they can save face. There's zero education of the organization happening. Government also has missing or broken feedback loops. Some/most government agencies have blank checks so as long as things are getting done nothing changes. Government sets the incentives, consultants don't push back because they want that big, ever-flowing gov check. The only way to work for a government agency is to act like an owner. You, your kids, your family, your community, the individuals actually dependent on that government service is depending on it. No pressure 🤭🤭🤭
@psingh007
@psingh007 8 ай бұрын
Use ranges during initiation and be more specific towards the end
@animanaut
@animanaut 8 ай бұрын
you can have "something" at a certain date or a certain thing at "some" date, but for a certain thing at a certain date it better be very, very small (1d or something of that scale max) and then we are back at agile
@Tony-dp1rl
@Tony-dp1rl 8 ай бұрын
These principles are great - but don't always work. Some projects simply need a huge investment up front, or have deadlines that are not agile in nature, or have external partners and dependencies that don't work the same way. Using the right tools for the job applies to processes as well as tools. You can't go to management and answer the question "how long and what resources do you need to build a new payroll system?" with "I can have the login screen ready in two weeks" :)
@TheEvertw
@TheEvertw 8 ай бұрын
The principles still work. You can make "proof of concepts" very quickly even for very complex systems. That is what stuff like LabView and Simulink is for. Risk-driven prioritization is even more important for those projects. And management needs to know and be OK with the fact that early in the product cycle, estimates for software can be off by a factor 2. If they are not OK with that, they need to manage the project differently, spending more time in small POC projects before going all-out. If you give a detailed estimate for a complex software system when there still are technical risks, you are doing your company a disservice.
@AlexanderNecheff
@AlexanderNecheff 8 ай бұрын
You know what else doesn't work? Pretending you can accurately estimate events taking place out years from now and that will likely be done by a different engineer than the one doing the estimating. It is a fools errand, and you are only lying to yourself and your employer if you think otherwise. Even if you ignore all the usual bullshit like parts of the team getting pulled off to work on different projects or whatever; building a new payroll system isn't remotely like building a timber framed structure where you can get a rough idea of on average how long it takes your team to frame 16" on center stud walls per linear foot and then multiply that by the number of feet of wall requested to be framed.
@Tony-dp1rl
@Tony-dp1rl 8 ай бұрын
@@TheEvertw That doesn't work before the team is even hired, or when deciding on buy vs build. You can't say it costs 1 million dollars to buy, and an imaginary amount of time and money to build. You still need to estimate. Budgets are done years in advance. But yes, I agree that estimates are hard, and often wrong.Also, you cannot make 'proof of concepts' for very complex systems. By definition, that makes them simple systems.
@stnhld2841
@stnhld2841 8 ай бұрын
Ultimately it’s not just the time but the capital too and that does need planning. I always challenge any view of prediction however, I can’t dismiss the premise of the question so quick as this video does.
@chrispeng5502
@chrispeng5502 8 ай бұрын
"Some projects ... have deadlines that are not agile in nature, or have external partners and dependencies that don't work the same way" Still makes estimation a huge waste of effort and time, and one thing I used to complain to my manager all the time. If you already had a deadline in your own mind, why the fuck did you ask me to give you an estimation? Just let me start working.
@adrianpaulwynne
@adrianpaulwynne 3 ай бұрын
Back when I was a head of software, I was routinely asked for estimates. I knew full well I would be held accountable for failing to hit them. A deliberate trap. I got in the habit of pushing back by asking .. if I get you that info what will you do with it? Often the answer was nothing. I would explain that if I get you an answer it will take 2 weeks and stop delivery of X, Y and Z and have a high margin of error (make up a number) - do you still want it? Sometimes the answer was no. Part of the issue here is cultural - software teams are thought of as an expensive and unreliable supplier of a commodity, rather than the foundational value creation engine of the business.
@modolief
@modolief 8 ай бұрын
Allen Holub! Legend.
@vanivari359
@vanivari359 8 ай бұрын
I hate all that corporation crap, but you have developed software decades ago and now you consult and preach all the good stuff, but this is not reality for most developers and companies. Tons of work is connecting backend system A with backend system B to integrate it for a report that must be created for legal reasons until 2025 or a product launch in 7 months. There is nothing to show in 2 weeks, there is no agile development with the customer, you have a bunch of interfaces against you have to implement an application and that takes months and of course they want estimates to see if they make it in time for the legal requirement or for the budget period or for a big release of a new car model which requires that events are routed through systems into a specific backend service so the remote car-door unlock feature works in a safe way. All this fancy "lets deliver constantly and you can see what you get so you don't need estimates" stuff is fine if you build customer facing frontend applications. Many products are now connected to backend systems and you can't roll them out until the backend is done. Not every company is brazen enough to sell you a 120k car with missing or deactivated features and the vage promise to deliver it later over the air. And we hate it when videogames do that. And lets be honest: the biggest reason for wrong estimations is Parkinson's law. Work almost always expands to the available time magically. That's why we almost always under-estimate and never over-estimate no matter how much buffer we add. There are people who work fast and use the extra time to clean up and do stuff they think is necessary, which is fine, but the majority slacks, starts late and gets the sh*t barely done in time, if at all. Any unexpected thing at this point creates a delay and for sure there is not enough time to improve the code. AS much as i despise Elon Musk, the fact that he fired like over 80% of Twitters employees and the application still runs and rolls out new horrible features, is not a proud moment of our craft.
@danflemming3553
@danflemming3553 8 ай бұрын
I have huge respect for Allen, but most of us cannot answer the question of "what's your estimate?" by saying "trust me for the next two weeks and we'll take it from there...". Usually business wants an estimate for the whole thing, anything else is not going to fly.
@akjowik
@akjowik 8 ай бұрын
@@user-ff7ct4go5f How long have you been a Software Engineer?
@jangohemmes352
@jangohemmes352 8 ай бұрын
​@@user-ff7ct4go5fGames? BS? What are you on about? You think writing clean code is a game?
@arakwar
@arakwar 8 ай бұрын
@@user-ff7ct4go5f Yeah you’re a bot or something like that. You’re not making any sense.
@PhilipJReed-db3zc
@PhilipJReed-db3zc 8 ай бұрын
There is a sort of privilege gap in some of this genre of content. If you're in the top 1% of sought after SE talent, Farley or Holub or Fowler or Beck, you get to be selective about not dealing with customers (employers) who refuse to accept reality. Most of us have to adapt to what it takes to keep our jobs, at least until we can get to a better place. Often that means playing along with nonsense estimates.
@JPBelanger
@JPBelanger 8 ай бұрын
I've always found that middle management is pretty bad at self-evaluation and thus think that their estimations work, even if they dont. Somewhat along the lines of being told "That one year project is late by six months", and answering "Oh yeah but there were delays in delivering the database" and not realising that all projects get this. All the time.
@6ilberm
@6ilberm 8 ай бұрын
Unrelated comment, but i find it quite funny that whenever I watch your videos, and the intro starts my dogs think its a dog outside and rush out to bark haha. Great content however! Thank you!
@pacifico4999
@pacifico4999 8 ай бұрын
What should we do when we have a delivery date negotiated with the client? Deliver the software as it is on the deadline, with feature flags hiding whatever is not finished?
@seinfan9
@seinfan9 8 ай бұрын
There is an emphasis by the "true" Agilistas that the developers should be in constant contact with the customer. Things are supposed to be hashed out, compromises made such as descoping the project and reevaluating what are actual must-have functionalities and what are simply nice-to-haves that can come about in later updates. Perhaps something early on is being implemented that has a very simple implementation but is being overcomplicated based on a fundamental misunderstanding on the customer's part that doesn't grasp just how complex the work is. If you're thinking to yourself that there's no way you can do this in a corporate environment, recall the adage that "Agile doesn't scale." These guys may disagree, but a large corporate entity is just going to have a lot of bureaucratic legacy and your ability to actually be agile is completely snuffed by it.
@PhilipJReed-db3zc
@PhilipJReed-db3zc 8 ай бұрын
Ironically the best empirical evidence Agile doesn't scale comes with a brand name starting with "Scaled Agile...." And Dave has a video on that, too.
@PaulSebastianM
@PaulSebastianM 8 ай бұрын
You see a 3min video with Allen Holub dropping knowledge, you click it! 😅
@Tony-dp1rl
@Tony-dp1rl 8 ай бұрын
I didn't get much out of it, because it didn't really explain what to do in all the cases where estimates are essential, such as build vs buy decisions, yearly budgets, government contracts, etc., etc. This just rehashed old ideas that we as agile developers all know already - it didn't provide any solution to the very real cases where estimates are needed.
@jurriaan_r
@jurriaan_r 3 ай бұрын
So while on the whole I agree with this, the reality is somewhay different. The situation already changes if your company is not developing software for themselves, but for (multiple) clients. First of all, there is planning.Can I take on this new assignment in 3 months, will I have the people available. Also, your whole company can be through and through agile, if your client isnt and you are not in the position to turn down clients because they dont understand agile, somethings gotta give
@witblitsfpv1265
@witblitsfpv1265 8 ай бұрын
I can estimate with 100% accuracy, but you can only have it at the end of the project. 😂
@seamusconnolly9710
@seamusconnolly9710 7 ай бұрын
I am still searching for any video or article where Alun Holub is positive about anything.
@yannick5099
@yannick5099 8 ай бұрын
Sadly it is often not the choice of the engineers. Customers or your own management demands it, because they have limited budgets to allocate each year or someone demands their commitments. I even think it is required to have some kind of guaranteed delivery date: imagine modernizing a factory with new heavy-duty machinery that needs new (your) software. Delivery with heavy-duty trucks and production needs to be planned and booked months or even years in advance. The machinery takes ton of expensive storage, so it's a hot potato nobody wants to keep too long. How would you try to convince someone that you can't estimate at all when everyone else does? I don't think that works outside the software-only-I-can-just-rent-hardware-instantly-in-the-cloud world. Maybe I'm overlooking something and there is another way dealing with systems that contain some rather inflexible components.
@davidbcg286
@davidbcg286 8 ай бұрын
No you’re right. I work for a big company where we have “business” and “IT” and it’s hard to change the culture because there are lots of moving parts (like launching a new brand that depends on IT components, marketing campaign that have to happens a certain time…) and IT is pushed to estimate and keep their word. It’s not always easy then it comes with tons of buffer and lots of work to establish proper expectations… and if you miss you’re in a big stress all the time.
@michaelbourke8967
@michaelbourke8967 8 ай бұрын
I wrote this as a independent comment but does align with yours so will add it to this thread. I Echo your thoughts I would not tolerate a trades person \ mechanic etc that wanted to give me on going sprint updates and no rough cost or time estimates as there was to many unknowns to be accurate. ............................. While I fully acknowledge that estimates in the software development field often resemble speculative guesses at best, especially if you don't possess an intimate knowledge of the entire technology stack and its intricacies (a rare occurrence), I also find myself somewhat disheartened by how we handle requests for such estimates within our industry. Speaking from my perspective as a developer, I understand and respect that many aspects of a project are so complex that accurate assessments are challenging until you're nearly 90% into its completion. It's astonishing how frequently tasks projected to take months end up requiring just a week, and vice versa. Never the less I see from a business point of view why they want estimates and time lines. To illustrate this point, consider a scenario akin to approaching a builder with architectural plans, asking, "How much will it cost, and how long will it take to build this house in this location?" The builder responds, "We work in two-week cycles. In the first sprint, we'll dig the foundations, and then in about 10 days, we'll estimate the cost of pouring concrete. In the sprint after that, we'll focus on the flooring, providing estimates for large, medium, and small details, and so on." I comprehend the builder's standpoint: they can't reasonably estimate concrete pouring until they've excavated the foundations, and they can't predict flooring or brickwork costs until the concrete is in place. However, as the one financing the project, I need a rough idea-whether it's going to take eight weeks and consume 70% of my available funds or if it's going to stretch over two years, necessitating the sale of other properties and potentially refinancing my family home. If it's the latter, I'd prefer not to commence the project at all. If, after four to five weeks, the builder approaches me, saying, "Now that we've dug the foundations and poured the concrete, we can discuss the brickwork. This section will be quite extensive and cost significantly more than initially anticipated," in the agile development world, many developers might view this as a triumph-a successful delivery of two productive sprints with accurate planning for the next one. Yet, as the homeowner, I perceive it differently: I have a hole in the ground filled with concrete, and I've already paid for four to five weeks of work, but now it can't proceed due to unforeseen escalating costs. put like that I think any of us in that situation would sympathies hence estimates are required.
@Fanmade1b
@Fanmade1b 8 ай бұрын
@@michaelbourke8967 I've used the "building a house" metaphor for software development in the past as well but I've learned that this doesn't really fit at all. If building houses would be like software development, you could first just place a roof to have a dry workplace, then add the stairs and floors to be able to walk around and then start adding the stuff based on what's most important for the people who want it. You could for example let the residents move in without having any bathrooms. They could use chemical toilets and shower in the gym until there's time and money for the bathrooms. You could add the cellar last and add floors later if you see that there's not enough room. But with each house you'd have something you haven't seen before. Each one would have new materials or outside factors you didn't know about. Like the gravity or temperature would randomly change. Then the client would suddenly want a 3meter deep pool in the second floor and argue that that's a totally standard request to have and you should add it until the end of the next business day. Then the government would decide on a new law that requires you to change any door to be 2 meters wide, swing in both directions and - additionally to the normal key - will also open if a government key is used. Just because you have some overlapping terminology doesn't mean that you can compare those two. In my opinion, a professional company should be able to give a fairly good estimate for implementing some standard functionality. But almost every custom software development is very hard to plan ahead and even more difficult to estimate. So I would recommend to follow the advice given in the video for that part: Find out what is most important, order the tasks by importance and let the devs do them in that order. They have to be done anyway, so there is no real advantage in wasting time (and money) trying to estimate them, which will fail in most cases anyway.
@adambickford8720
@adambickford8720 8 ай бұрын
Then you should be using waterfall, not agile. When they have to accept that no changes can be made to the plan without invalidating it, they'll quicky decide its the even worse approach.
@arakwar
@arakwar 8 ай бұрын
@@adambickford8720In reality, they’ll use waterfall but make changes all the time. And you can’t complain.
@santiagopuentep
@santiagopuentep 8 ай бұрын
But when he said "let me give you something in two weeks", isn't that an estimate?
@idontwhy3132
@idontwhy3132 8 ай бұрын
at it's best time estimation abuses complexity into a language that management can speak even if it completely misses in terms of accuracy and isn't meaningful in terms of decision-making
@vanivari359
@vanivari359 8 ай бұрын
Yet, estimations are always lower than the actual required time. If it would just be a factor of bad accuracy, we would over- and underestimate, but we always underestimate. It's called Parkinson's law, it's how most humans work. So by asking for estimations, management already has an important information: it will for sure not be cheaper and not faster. Now they can for example use historic information to see what the typical overrun is in that department or in that area or with that provider and they have a pretty good idea if they will make it until the product launch or a new tax law going into effect. And if the estimation leaves you with 8 month buffer and you are falling behind the estimations fast and hard, you have enough time to adjust (which happens, projects are "rescued" all the time in all kinds of ways after estimations for remaining work run into yellow/red status)
@sidsmith1080
@sidsmith1080 8 ай бұрын
Estimating most of the time is to a degree guesswork, what this guy Allen is talking about is right on the money.
@petebrown6356
@petebrown6356 8 ай бұрын
As a software engineer of over 30 years I agree.....BUT when you're working as a contractor customers have a budget and want to know that the work will fit within the budget. The contract will reflect the work that needs to be completed otherwise payment isn't made. The implication here is that every project should be 'time and materials' based but most customers don't want that. Business operates in a financially deterministic fashion because they have to predict financials for shareholders. They want software estimates to be like building a brick wall, where the estimate is based on 'length x height' on flat ground. We all know that isn't reality but I'm not comfortable with giving an estimate that is based purely on knowing it'll get the contract even though it probably doesn't reflect the real work that will need to be done.
@markianross
@markianross 8 ай бұрын
Exactly - many of these Agile advocates don't seem to live in the real world, or at least have only worked "in house". When you're dealing with a client with a fixed budget you need to deliver what they want for that budget. If you go over the estimate your company either has to take the hit, or the client has to agree to accept a partially finished product (which most won't, particularly if you have a contract which commits you to delivering the finished product within their budget).
@rdean150
@rdean150 8 ай бұрын
Sounds like you are setting yourself up for either (a) failure or (b) pain. Low-balling your estimates to make them more appealing to customers / management means that the developers who will be stuck trying to meet those estimates will be forced to absorb the difference, at the cost of their own health and well-being. This seems to be why (a) software engineers are paid well, but also why (b) there is such a constant demand for young, fresh grad developers willing to take this sort of beating - because they don't know better. Both of these points directly lead to the sort of effective ageism we see in the field. The more times we have gone through this process, the less willing we become to go through it again, and hence the more compensation we demand for the pain it causes us. And the more we push back against decisions that lead to that pain. Both of which make experienced engineers less appealing to the managers who make the promises you find yourself making. We also push back against these unreasonable deadlines because they lead to technical debt, and poorly implemented software that is difficult to support and a nightmare to extend with new features in future versions. But of course, that is not a problem for contractors, because they only make the bed, they do not have to lay in it afterward.
@petebrown6356
@petebrown6356 8 ай бұрын
@@rdean150 ? some contracts are for an entire team to develop the entire code base for a product and do it on time on *budget*. The penalties for not doing so can kill any profit, or worse, and lead to layoffs or even, for small companies, kill the company. Agile just doesn't accommodate for this, especially if the product involves functional safety certification like ISO-26262, IEC61508, DO-178C, etc.. Hence the term 'agile scrumfall'. But none of this goes over well with customers.
@lynic-0091
@lynic-0091 7 ай бұрын
Then you take the hit if you're going over budget. Or decline the contract. Simple.
@MarcusPereiraRJ
@MarcusPereiraRJ 8 ай бұрын
It's a lost cause. More than 30 years in the industry and Business still get all the cards... And we're still discussing about contracts, estimates, blaming. 23+ from the Agile Manifesto, with a whole new generation, and still didn't touch the hearts of businessmen and their way of doing stuff. Maybe it's something to the next 30 years to see normalized.
@leojboby
@leojboby Ай бұрын
No business is going to invest into a product or project that will take between 1 minute and infinite amount of minutes to finish. Business must estimate costs, inevitably. They have finite resources, and therefore MUST evaluate their opportunity costs to know where to invest. An infinite amount of minutes means an infinite amount of cost, which means it should never be undertaken. What I have not heard, is how you ground software development such that it is a reasonable proposition for any business. If you want to build a website for your business, from scratch, to have 100 initial features, the estimate of when that can be accomplished can not be that it may be infinitely expensive.
@ContinuousDelivery
@ContinuousDelivery Ай бұрын
Clearly you have never worked with a Plumber or a Builder 🤣🤣
@horsethi3f
@horsethi3f 8 ай бұрын
Surely there's some solution to this. How else would one estimate the cost of a project, and ensure developers get paid every month.
@seinfan9
@seinfan9 8 ай бұрын
There's a reason people get pressured to do more for less pay. Layoffs are a thing. Companies fail. I don't believe there's any real "solution", but a corporation can mitigate failure. Reducing useless positions within the company, perhaps not spending on opulent perks, favoring a respect for work-life balance as opposed to paying top dollar for talented engineers, raises are low such that the employees typically can't beat inflation... Pick your poison: money or stability.
@mwildam
@mwildam 8 ай бұрын
Estimation DOES make sense - because it shows effort and costs needed for a particular feature. And this helps deciding whether it is worth the effort implementing the feature. However the estimation then only makes sense for features that are not must-haves anyway.
@lost-prototype
@lost-prototype 8 ай бұрын
💯 - Estimates are an abject waste of time. There's no wisdom behind needing to make a bet with yourself about when you can finish work.
@TheAkiller101
@TheAkiller101 8 ай бұрын
Agile: Show don't tell.
@camgere
@camgere 8 ай бұрын
If you want a correct estimate you need to know all the problems that will come up and the amount of time to fix those problems. If you knew that in advance the time would be different, but you don't. You can't predict the future of complex events. As far as I can tell Agile puts a checkmark in the done box at the end of the sprint. Off to the next sprint immediately. Customer feedback then represents a failure and IS NOT part of the sprint. The Build-Measure-Learn cycle has to include Learn before it is checked off.
@arakwar
@arakwar 8 ай бұрын
I worked in Agile for a couple of months, and honestly it’s not for projects with a delivery date. Efficient agile comes with unlimited time and ressource, or it doesn’t work. Anything with a delivery date can use the same sprint/scrum ideas to work on the project and have frequent follow-up and communication channels with the client. But when a specific list of features is required for the business to use the software, there’s no room to deprioritize stuff unless you have no deadlines.
@DudeWatIsThis
@DudeWatIsThis 8 ай бұрын
The entire problem in 2 sentences: - 60 years ago, shrewd businessmen made a ton of money. - Now, idiots who grew up in a house with a swimming pool have inherited that money and are trying to play businessmen.
@robrick9361
@robrick9361 8 ай бұрын
Why use more dollar when few dollar do trick
@fordprefect5040
@fordprefect5040 8 ай бұрын
You basically say that the business people should "understand better" that when hiring you, there will be no limit to their obligations and no delivery date. But they might well understand the obvious, that they would be exploited terribly without hard limits in the contracts. Maybe you should understand better that the limits are not avoidable if you want to get paid and I guess that's what you want. Estimations might be hard, therefore: improve on that instead of claiming it to be impossible! It's an important part of the job.
@thenewms5333
@thenewms5333 6 ай бұрын
Software consulting is a billions of dollars industry with most players having a well established, repeatable process by which they estimate contract work. Is that just all BS? There seems to be this church of "agile" practitioners who use its terminology to shirk any accountability for their delivery. Don't measure quality - that's not agile. Don't estimate delivery of a project - that's not agile. But oh I'm an engineer, so pay me a lot for my time while I futz around and tell you how you need to run your business
@denisblack9897
@denisblack9897 8 ай бұрын
I always troll my manager and don’t even open Jira) “It could be 15minutes, could be 2 weeks, you know it depends on my mood, on my wife’s mood, weather etc” he gets tired and just manages my estimates himself Asking for estimates isn’t hurting me, it’s hurting them) cause I’m going to do stuff in an hour and then play World of Warcraft for a few days and usually get a better solution cause of a generous deadline. I can do my shit very very fast if you don’t waste my energy, if you do - you get punished
@lynic-0091
@lynic-0091 7 ай бұрын
Congratulations on being unprofessional and childish.
PAINFUL Software Release Cycles Are NO JOKE
21:50
Continuous Delivery
Рет қаралды 15 М.
Is AGILE Better Than KANBAN?
17:07
Continuous Delivery
Рет қаралды 57 М.
어른의 힘으로만 할 수 있는 버블티 마시는법
00:15
진영민yeongmin
Рет қаралды 7 МЛН
Do you have a friend like this? 🤣#shorts
00:12
dednahype
Рет қаралды 43 МЛН
КАРМАНЧИК 2 СЕЗОН 5 СЕРИЯ
27:21
Inter Production
Рет қаралды 575 М.
Indian sharing by Secret Vlog #shorts
00:13
Secret Vlog
Рет қаралды 50 МЛН
AI Takeover: Are We Building Our Own Doom?
8:02
TechTimeTravelerz
Рет қаралды 2
DevOps Is Dead! Long Live Platform Engineering! Did We Get Confused?
20:15
Software Architecture Tips I WISH I Knew Sooner
18:04
Continuous Delivery
Рет қаралды 42 М.
Why I Quit the Scrum Alliance
7:58
The Passionate Programmer
Рет қаралды 4,3 М.
#NoEstimates (Allen Holub)
37:45
Allen Holub
Рет қаралды 227 М.
Time to stop the madness. Time to stop estimating.
13:18
Development That Pays
Рет қаралды 6 М.
USER STORIES Shouldn’t Be TOO BIG
15:27
Continuous Delivery
Рет қаралды 19 М.
Estimate Software Development Costs
14:02
AltexSoft
Рет қаралды 12 М.
Scrum DOES NOT Equal AGILE
17:47
Continuous Delivery
Рет қаралды 29 М.
Is SAFe REALLY Safe?
20:00
Continuous Delivery
Рет қаралды 33 М.
Карточка Зарядка 📱 ( @ArshSoni )
0:23
EpicShortsRussia
Рет қаралды 223 М.
iphone fold ? #spongebob #spongebobsquarepants
0:15
Si pamer 😏
Рет қаралды 104 М.
Дени против умной колонки😁
0:40
Deni & Mani
Рет қаралды 9 МЛН