Its always a pleasure to watch your videos.Your design pattern videos are awesome .Thanks for sharing this video. Not sure if it is correct to say that estimates would be 99% of time not correct.Usually,most of the times we will be dealing with software wherein we have prior experience in creating a similar kind of software .So at least at high level we understand the complexity of developing any feature .Yes ,some times there might be features which would be entirely new but then that also can be broken down into known and unknowns .so for unknowns there might be a deviation from actual estimate but probability of such unknowns are very less .Most of the times based on experiences that we gain over time building software ,helps us in making right estimate.Let me know if you think otherwise.
I used to work for a government contractor and I'm not sure how they could implement your no estimates idea. We were contracted to build a certain system in a certain time, and there was no way for us to change that.
It is funny that you are in Brussels just days after I thought that there would be a nice idea to walk and codetalk in Brussels, Athens and other cities :P Enjoy beers & chocolates ;)
Estimates are inevitable and we need to use estimation techniques to get a ballpark value. SE is not too "artistic" especially for "E" type of work. As mentioned in point#1, as long as the development is for business, it should not be too hard to break down the activities and can reach to an estimate.
Uncle Bob has talked about estimates subject and he made a point about accuracy and precision. How long does it take? I don't know. - This is most accurate estimate, but least precise. How long does it take? At best 2 days. Probably 5-6 days. At worst 2 weeks. - This is accurate. It has more precision than last one. So far I have tried to keep accuracy and precision in mind, when asked about some timeframe and it has made me very cautious to hand out specific dates of delivery.
+Olivier MARTY Hehehe, word :) Evil they are. Sorry, I'll try to improve my flow to reduce the cuts. Still too novice on the UA-cam thing but i will get better :)
My life seems to be 3 or more issues raised daily with the software I've inherited but a good day would be resolving a couple of them. Can anyone suggest a method of giving a time frame for a solution when new dev work is thrown in front of existing issues, yet management expect a timescale for all issues to be resolved. #FeelsLikeBuildingOnSand :/
That's a problem we all programmers have every day... unfortunately there is no real solution to that... you could try to classify all the different types of issues you've resolved so far (interface, functional, checking, data...) and all the time that took you to resolve each one of them, so you could have some kind of average historical time by issue type. That can help you to have an estimate, and that can solve management's requirement of a time frame, but again, you probably will never reach that estimate... although it's the best you can do. But if you don't have a historical time log, well... we'll always have a nice Guesstimate :)
Estimates?... Hmmm... maybe programmers need to stop thinking they are all geniuses creating life every time they touch a keyboard. 99.5% of software development has been done before. Maybe if you actually know what you are doing before you touch the keyboard you would be able to provide a QUOTE not an "estimate or guesstimate", or not at all pricing. I'm pretty sure you would tell your hairdresser, builder, electric company, bank, barista, architect, accountant, landlord, doctor, dentist etc to "F-off" if they said "sorry, I can't give you a price, I just need to see how it all happens and you will just have to pay based on that." Try being a professional and thinking about the fact that even with software development you SERVICE your clients. Otherwise you nothing more than a cowboy.
At the end of the day software is an engineering feat, and the problems we solve are often not as straightforwards and calculable as say, building a brick wall, where you know how long and tall the wall is, how big your bricks are, and how long it takes you to a brick. The person solving the problem is often learning as they go. Engineering is a iteratively improving process and approach based on application of knowledge after all, not a pre-determinable activity. If we could say exactly what we had to do before we did it we wouldn't be engineering.
I got a special "neverclosing" tab in my browser for your channel Christopher! Thank you very much for what are you doing!
Its always a pleasure to watch your videos.Your design pattern videos are awesome .Thanks for sharing this video. Not sure if it is correct to say that estimates would be 99% of time not correct.Usually,most of the times we will be dealing with software wherein we have prior experience in creating a similar kind of software .So at least at high level we understand the complexity of developing any feature .Yes ,some times there might be features which would be entirely new but then that also can be broken down into known and unknowns .so for unknowns there might be a deviation from actual estimate but probability of such unknowns are very less .Most of the times based on experiences that we gain over time building software ,helps us in making right estimate.Let me know if you think otherwise.
AWESOME VIDEO DUUDEEE! keep up talkking about code! I'm downloading your videos to watch them while on the subway!
+Asdrubal Perez Hahaha :) Cool! +1 for the multi tasking! :) Thanks for watching :)
I used to work for a government contractor and I'm not sure how they could implement your no estimates idea. We were contracted to build a certain system in a certain time, and there was no way for us to change that.
Nice points, I liked #3 much.
It is funny that you are in Brussels just days after I thought that there would be a nice idea to walk and codetalk in Brussels, Athens and other cities :P
Enjoy beers & chocolates ;)
Thank you for explonations and nice view behind the back :)
This codwalks are awsome
Nice talk Christopher. Like the ideas in this video.
Small remark: a camera stabilizer will make the perfect vlog!
What a beautiful place!
Estimates are inevitable and we need to use estimation techniques to get a ballpark value. SE is not too "artistic" especially for "E" type of work. As mentioned in point#1, as long as the development is for business, it should not be too hard to break down the activities and can reach to an estimate.
Could you please share that e-type , p-type and s-type link?
Your points are totally valid..
+Basavaraju B V Check out the video description :) :) Thank you for watching and I'm glad you agree :)
How hard is it to do a Google search in this day and age?
Uncle Bob has talked about estimates subject and he made a point about accuracy and precision.
How long does it take? I don't know. - This is most accurate estimate, but least precise.
How long does it take? At best 2 days. Probably 5-6 days. At worst 2 weeks. - This is accurate. It has more precision than last one.
So far I have tried to keep accuracy and precision in mind, when asked about some timeframe and it has made me very cautious to hand out specific dates of delivery.
Next video: "jump cuts are evil"
+Olivier MARTY Hehehe, word :) Evil they are. Sorry, I'll try to improve my flow to reduce the cuts. Still too novice on the UA-cam thing but i will get better :)
plz dont stop making these videos
wow in Brussels, next time visit Leuven is a city nearby. I love your videos :)
If you don’t provide estimates how are customers going to gauge return on investment? Inevitably if your customers don’t profit then you don’t profit.
Wow... Now software development is not just a sitting job :)
+deepak upreti Fantastic right! We're building new categories of work :) :) Thank you very much for watching :)
love this video
what can i do as a developer to stop my boss to do exactly the opposite of the point 3?
I think the Agile/Scrum concept do deal with the point 3 cause the time curve of the project adjust with what job is done day by day.
My life seems to be 3 or more issues raised daily with the software I've inherited but a good day would be resolving a couple of them. Can anyone suggest a method of giving a time frame for a solution when new dev work is thrown in front of existing issues, yet management expect a timescale for all issues to be resolved. #FeelsLikeBuildingOnSand :/
That's a problem we all programmers have every day... unfortunately there is no real solution to that... you could try to classify all the different types of issues you've resolved so far (interface, functional, checking, data...) and all the time that took you to resolve each one of them, so you could have some kind of average historical time by issue type. That can help you to have an estimate, and that can solve management's requirement of a time frame, but again, you probably will never reach that estimate... although it's the best you can do. But if you don't have a historical time log, well... we'll always have a nice Guesstimate :)
It's not a "release" it's an "escape".
Estimates can only be right if the requirements never change.
Wow... I actually had to look away and just listen. The camera-shake was making me motion-sick, which I usually not have issues with. :(
great
thank you i'm doing recherches in web semantique and deep learning and your videos is very helpful thank you very much
Is dat Brussel 😁
I'm very sorry. I feel business doesn't matters economics matters.
You have no economic stability without a business model that works.
Estimates?... Hmmm... maybe programmers need to stop thinking they are all geniuses creating life every time they touch a keyboard. 99.5% of software development has been done before. Maybe if you actually know what you are doing before you touch the keyboard you would be able to provide a QUOTE not an "estimate or guesstimate", or not at all pricing. I'm pretty sure you would tell your hairdresser, builder, electric company, bank, barista, architect, accountant, landlord, doctor, dentist etc to "F-off" if they said "sorry, I can't give you a price, I just need to see how it all happens and you will just have to pay based on that." Try being a professional and thinking about the fact that even with software development you SERVICE your clients. Otherwise you nothing more than a cowboy.
ua-cam.com/video/eisuQefYw_o/v-deo.html
watch this, it might help
At the end of the day software is an engineering feat, and the problems we solve are often not as straightforwards and calculable as say, building a brick wall, where you know how long and tall the wall is, how big your bricks are, and how long it takes you to a brick.
The person solving the problem is often learning as they go. Engineering is a iteratively improving process and approach based on application of knowledge after all, not a pre-determinable activity.
If we could say exactly what we had to do before we did it we wouldn't be engineering.