6 ms·
One the problem with estimates are the unknowns, things that you don't know that you don't know. The other one is the balance between abstract and concrete:
by alfonsodev 10y ago
One the problem with estimates are the unknowns, things that you don't know that you don't know.
The other one is the balance between abstract and concrete: abstract definitions of a problem are quicker to write but slower to execute, concrete definitions are slower to write but faster to execute.
When you are asked to estimate something you have to load this definitions in your mind and project an outcome in the future, take in consideration known unknowns, and the chances of unknown unknowns. This takes time and it's not guaranteed to be accurate but the business needs it, to adjust other decisions (associated marketing campaigns, etc)
I don't have a solution but I found useful to be aware that the closer in time and smaller you plan is the easier to make concrete definitions becomes.
IMO a 3 month plan it's necessarily an abstract plan, for small companies at least. I think the team has to learn to
meet the abstract goals, while being flexible in the concrete actions.
Example:
Your company plans a "AcmeBook with touch bar by Feb 2017", and all the marketing campaign is going to be created, to be ready for the deadline, the ads are not going to include technical details like resolution, sensitivity, multitouch. The ad is just showing that you can choose a emoticon.
The sweet spot would be if developers could understand what the business is selling and communicate "we can meet that result with X internal features and Y quality."
And the business understand the quality compromises that are going to be made in the worse case scenario.
So worse case you get no multitouch, no developer API ready, and no slider component (cancel the DJ demo!) but the most important, picking a emoji works!
And it meets the abstract goal "AcmeBook with touch bar by Feb 2017" the rest can be improved in coming iterations.
- mfukar 10y agoYou can plan, design, and engineer around things you don't know. Civil engineers have been doing it for a while now, maybe we should keep notes.
- alfonsodev 10y agoSure you can, but do they always deliver on time ? There are may cases that come to my mind like the new Berlin airport or Panama canal's expansion.
- mfukar 10y agoI don't know whether civil engineers can make accurate estimates. I focus on my own craft's problems. I suppose they too can make inaccurate estimates just as anybody else. However, delivery dates and deadlines are somewhat removed from estimates: they are the subject of a compromise between a client and a supplier whose relationship with the actual engineers is also a bit detached. To keep myself from rambling, I'll say this: making accurate estimates and connecting them to timely delivery are two huge, but different, problems.
- pdimitar 10y agoCivil engineers don't have to reinvent 50% of their craft every several weeks when yet-another-new-form-of-concrete is invented however. Their craft is for the most part very static, well known and well documented. It's only up to the particular man/woman to be well-versed professional. In the modern programming you work in constantly changing conditions and you have to be on the loop of the latest changes even if you don't incorporate them in your work.
- deleted 10y ago[deleted]
- mfukar 10y agoYou can't say we reinvent our craft because at this point all we have is some vague empirical ways of pseudo-sciensing the shit out of everything. We don't invent yet-another-new-form-of-concrete either, but we do constantly rewrite our tools because apparently we can't stick to a good way of organising them that has worked for us in the past, we constantly lay abstraction upon abstraction with no second thought (web dev frameworks, everywhere!), and we provide half-assed, incomplete, untested "tools" for everyone else to colour up some bar on a mildly popular website. Software development is not engineering, at this point, it's fashion. That's nothing to be ashamed of. Fashion has been developed and affected even mathematics. The difference is mathematicians had already figured out a solid, rigorous foundation for their work that allows them to indulge in fashionable techniques and tools. We haven't. This is all irrelevant to the point I was making, though. :-)
- pdimitar 10y agoSemantics, my fellow human. ;) What I meant is that each week/month somebody wants us to think differently about age old problems. It's not exactly helping matters, I think most of us will agree.
- mfukar 10y agoTotally agree, and it's useful. We need people to challenge established assumptions from time to time.