Ask HN: How to estimate my stories properly and not let them overflow
I&#x27;m sorry, I&#x27;m whether experienced developer neither a programmer. I hope besides mine, you&#x27;ll get right answers to your question :)<p>It looks like there is no proper lead &#x2F; project management in that. I, too, tend to overperfectize my work. Me, too, struggle to be on time. And, too, sometimes I work like superhero and on other days I&#x27;m like a zero.<p>At first, I&#x27;ve identified the parts and events of a workday that cost me time without me being productive.<p>No. 1 Timekiller &quot;smoking and coffee&quot;. On a typical 8h workday I smoke like 10 cigs.. every cig I need about 5min. So I lose approx 1h daily.<p>No. 2 Timekiller &quot;emails, talks&quot;. This does distract you from the &quot;flow&quot;. You again have to find into what you&#x27;ve been up to.. but then, it&#x27;s time for a cig again.<p>This might be your problem too.<p>There are a lot of microdistractions around us. Like hearing music while working (&quot;oh.. I don&#x27;t like this song, let&#x27;s search the one I like...&quot; WASTED!)<p>Or getting notifications, adjusting the volume.. or, too, google an answer for the problem isn&#x27;t the problem by itself, if you get your answer instantly. But if you have to read a ton of comments to get your problem solving answer, you probably have already lost some other ideas out of scope.<p>So, one have to identify this small microdistractions and be aware that anything you do besides reading, understanding, directly rewriting parts of code, is a time consuming distraction.<p>So the best is to minimize breathing :)<p>You can&#x27;t absolutely and effectively minimize distractions, as, being aware that something is a distraction and trying to minimize it, you invest some thoughts &amp; time on that - what in fact is a distraction by itself :)<p>I came up with a strategy to handle that:<p>- know it &amp; accept it<p>- quantify the needed time for the tasks. Like smoking a cig approx. 5 mins, writing answer emails 5 mins, drinking coffee 2 mins. .. and so on. Every Microtask is viewed in bigger context and so is the time spent.<p>By that you get the feeling for the daily work&#x27;s time flow. It&#x27;s all just about the time awareness.<p>The next part of my strategy handling that:<p>- make up a &quot;house&quot; in your mind with a few rooms.<p>Sounds strange, but this is how our brain works. We think in &quot;boxes&quot;&#x2F;&quot;rooms&quot;&#x2F;&quot;spaces&quot;.
Try it by yourself:<p>Sometimes, you want to do something, stand up, go there - when you&#x27;re there, suddenly you can&#x27;t remember what you wanted to do anymore. Have you experience this once or twice?<p>... Just go back into the room&#x2F;place where you came up with the idea you forgot, and It will strike you again :)<p>So, analogue to this brain workings, I made up a house in my mind with dynamic rooming for ideas &amp; problems i work on in one room, drinking coffee in the other - by actively switching the body &amp; mind to the respective rooms, when doing the respective tasks.<p>By that I can separate distractions from the actual problem-solving. By that I can imaginary lockup my working room and being in a state of pure concentration - actively minimizing all distractions that are in the other brain rooms :)<p>I needed quite some time to incorporate this into my thinking - I think the most time needed, was to realize where the problems are and to do the abstraction to the room level :)<p>.. this is my productivity booster method. It doesn&#x27;t account to creativity, though.<p>For creativity, one needs chaos - pure chaos! With ideas buggling around like worms (yes, ideas, they&#x27;re longish, not roundish like flies, so they&#x27;re not flying around xD)<p>For that I have developed a different method:
- filter<p>But that&#x27;s quite difficult to explain and would touch the database max capacity.<p>Creativity is completely different from structured.<p>If you need to code and refactor at the same time, you mix creativity with plain, I call it, &quot;translation&quot; of old legacy code. This both things are opponents as the second requires pure 1-to-1 work, while the first, explosions of ideas, playing, mixing, deleting... Which is a distraction by the definition.<p>You&#x27;ll need a playroom for that :)<p>Every playroom is usually equipped with games &amp; plays, so you can start at once.<p>In your context it would mean:
First translate, then refactor.
But this means 2x work.<p>Or, first, the legacy code needs to be analyzed and understood properly. Then &quot;the refactoring&quot; takes place as a &quot;rewrite&quot; - having the legacy codes structures by side for look ups of disered return values or similar...<p>But, that&#x27;s the problem of the lead to recognize that. It&#x27;s a problem of the whole team, so everyone knows what parts are when and how rewritten and what classes&#x2F;objects&#x2F;functions are to be expected from the fellow coworkers...<p>That&#x27;s how I would do that haha but I&#x27;m completely unexperienced in working in teams :(<p>So, dunno if this could help you and dunno whether it&#x27;s completely bullshiat - what this probably can show you, is:<p>every brain is unique and you have to find your own way to handle that. There are no quick solutions or advices for this kind of problem-solving...<p>One answer also could be:
Train your programing skillz. While true, it&#x27;s a no-brainer.<p>Peace.