<story><title>Lack of progress exposed by the Canary MacGuffin</title><url>https://rachelbythebay.com/w/2018/10/23/idle/</url></story><parent_chain><item><author>AndyNemmity</author><text>I&amp;#x27;m likely in a Canary MacGuffin situation right now. What is the reason?&lt;p&gt;I&amp;#x27;ve been given a task I don&amp;#x27;t know how to do. So I&amp;#x27;m working diligently on learning enough about it. But because I don&amp;#x27;t know how to do it, there are an infinite number of concepts that may or may not be required to complete the task.&lt;p&gt;So, I am using the time productively in the sense of breaking apart each piece I don&amp;#x27;t understand, building it myself, learning about it, and moving on to another one.&lt;p&gt;But I haven&amp;#x27;t collected the key from the shop. Every day, I write down what I need to do again, and it changes and evolves as I learn things. I try again to complete the task, fail again, use it as an opportunity to learn about that piece.&lt;p&gt;If I had just got the key, maybe the task is complete, but I am no closer to being able to obtain a different key, or providing any value on that surface area.&lt;p&gt;So I&amp;#x27;m optimizing for my ability to get keys in the future, not getting this particular key.&lt;p&gt;Is that good? Bad? Lots of arguments in both directions I think. Maybe my optimizations are 25% what they could be with direct help. But having experienced direct help, what it actually means is someone talks over my head no matter how much I say I don&amp;#x27;t understand.&lt;p&gt;They don&amp;#x27;t get just how far away I am. Given the constraints, all that can be done is to improve to the point where their help, is help.&lt;p&gt;Hopefully that made some level of sense.</text></item></parent_chain><comment><author>bigiain</author><text>So communicate that back to the person who asked you to do the task.&lt;p&gt;I don&amp;#x27;t mind discovering a task I&amp;#x27;ve assigned someone is actually way more complicated and time consuming that I expected (although I&amp;#x27;d appreciate an explanation so I can recalibrate my assumptions), and I don&amp;#x27;t even mind finding out a team member I&amp;#x27;ve assigned a task to is not yet skilled or experienced enough to understand the best way of doing it or to complete it in a reasonable timeframe.&lt;p&gt;What _does_ bug me (as RachelByTheBay alludes to) is the complete radio silence where I&amp;#x27;ve been kinda expecting the job to pop out of the queue completed for the last few days&amp;#x2F;weeks, only to finally after giving you the benefit of the doubt and not wanting to seem like I&amp;#x27;m micromanaging you - discover it&amp;#x27;s barely been started and doesn&amp;#x27;t look like it&amp;#x27;ll _ever_ get completed.&lt;p&gt;If it&amp;#x27;s way more complex that I assumed? Tell me. If you&amp;#x27;re way out of your depth? Tell me. If you think it&amp;#x27;s a stupid task and you&amp;#x27;re not going to do it and hope it goes away? Just fucking tell me!</text></comment>
<story><title>Lack of progress exposed by the Canary MacGuffin</title><url>https://rachelbythebay.com/w/2018/10/23/idle/</url></story><parent_chain><item><author>AndyNemmity</author><text>I&amp;#x27;m likely in a Canary MacGuffin situation right now. What is the reason?&lt;p&gt;I&amp;#x27;ve been given a task I don&amp;#x27;t know how to do. So I&amp;#x27;m working diligently on learning enough about it. But because I don&amp;#x27;t know how to do it, there are an infinite number of concepts that may or may not be required to complete the task.&lt;p&gt;So, I am using the time productively in the sense of breaking apart each piece I don&amp;#x27;t understand, building it myself, learning about it, and moving on to another one.&lt;p&gt;But I haven&amp;#x27;t collected the key from the shop. Every day, I write down what I need to do again, and it changes and evolves as I learn things. I try again to complete the task, fail again, use it as an opportunity to learn about that piece.&lt;p&gt;If I had just got the key, maybe the task is complete, but I am no closer to being able to obtain a different key, or providing any value on that surface area.&lt;p&gt;So I&amp;#x27;m optimizing for my ability to get keys in the future, not getting this particular key.&lt;p&gt;Is that good? Bad? Lots of arguments in both directions I think. Maybe my optimizations are 25% what they could be with direct help. But having experienced direct help, what it actually means is someone talks over my head no matter how much I say I don&amp;#x27;t understand.&lt;p&gt;They don&amp;#x27;t get just how far away I am. Given the constraints, all that can be done is to improve to the point where their help, is help.&lt;p&gt;Hopefully that made some level of sense.</text></item></parent_chain><comment><author>protomyth</author><text>I know the feeling.  I had a report (excuse me &lt;i&gt;business intelligence query with nice printing&lt;/i&gt;) that I was working on that took up north of a couple of hundred hours.  My problem was that I had to do the business logic (and gather a huge amount of domain knowledge) too.  It was something of an effort, and I didn&amp;#x27;t make it to the shop for the key for a long while.&lt;p&gt;The best you can do is document, almost diary style, all of things you are doing to get to the goal and hope you have a project manager that will provide support and resources to get it all done.  Frankly, all of my notes (which eventually went on a wiki for our group) helped in doing so much more.&lt;p&gt;Honestly, I think the whole question of &amp;quot;do you need domain knowledge to complete the task?&amp;quot; should be something to consider.  Many folks do programming that isn&amp;#x27;t the same at each company and this tends to generate a different path that might not have a &amp;#x27;Canary MacGuffin&amp;#x27; until very late in the process.&lt;p&gt;I also think that the whole &amp;quot;stupid task&amp;quot; is often mixed in the whole need &amp;#x2F; don&amp;#x27;t need domain knowledge.  Many &amp;quot;stupid tasks&amp;quot; are related to the business process and often colored by not having technical resources with domain knowledge.&lt;p&gt;I once ran into a developer who thought it was stupid that we wanted some calculated amounts stored in the database.  He didn&amp;#x27;t understand that other parts (oh, like the billing system) would have a problem redoing the calculation.  Extreme, but one person&amp;#x27;s stupid is another person&amp;#x27;s ability to get paid.</text></comment>