How to learn to complete projects: the two week rule



"This deer is just huge!"



I came home late that night. When I was approaching the house, the biggest deer I have seen in my life hit the headlights, it was standing right in the middle of the road. I live in a wooded area, and the neighbors said that deer walk freely here, but then I saw one of them for the first time. This animal did not grow so big because of its instincts: when the headlights lit it, Bambi rushed ... straight onto the path to my house!



Come back!



I chased after him, hoping to prolong this impromptu safari for another couple of seconds, having only had time to see the white tail disappear into the bushes.



It was too little, I needed to see Bambi again!



I rarely see animals near the house, but they definitely live here. We hear coyotes howling at night and we have been warned of a lynx wandering in our area. However, they know how to stay out of sight, and I almost never get to see them live.



Hmm ... is there any way to fix the situation?



Maybe put a camera to watch the animals so that it notifies me when they pass by? I would see them every day! (I won't deny, I was pretty inspired by the Squirrel Ninja Obstacle Course .)



Time to brainstorm my invention:



  • Broadcast video aimed at the forest.
  • Record video when an animal walks by. I will save it to the cloud!
  • I'll need an iPhone app to notify me when an animal is around.
  • , .
  • ! , (, ).
  • , , , . .


All this is quite realizable. I already imagined how one day I would receive a notification on my phone: "Hurry, there is a deer on the street!"



But somewhere in the back of my mind, I heard a grumpy voice whispering, "You will never finish this project."



You see, I have a long list of side projects that I abandoned in the process. "And you will abandon this one," the voice continued to insist. "It's not even worth starting."



I didn't want to listen to that voice. But he was not lying.



What to do?



So, he warned of the real risk. And now I know about this risk. What can I do now to lower it and increase my chances? I thought back to my previous projects, trying to find a hint that could help me successfully complete what I started.



I found one symptom.



It sounds crazy, but remembering all my old work, I realized that dead projects have one amazing thing in common: I abandoned them two weeks after starting. Almost every completed side project was completed in less than two weeks. It looks like two weeks is the time for my motivation to dry out.



Hmm, that was unexpected.



But it made sense. I started all these projects on enthusiasm out of interest, without much motivation pushing them forward. Yes, I completed large side projects that required several months of work, but they all solved some problem I needed. And what happened to those that I started out of interest? They were forgotten after enthusiasm dwindled.



Deer watching was definitely a "fun" project. This meant that I had a deadline , and it was by no means artificial. Sand began to flow in the invisible clock, and with every passing second my motivation faded.



I had to race against time.





How to do it? I will never have time to implement such a number of functions in two weeks.



Now is the time to do what I did at work: ruthlessly cut back on the workload.



If I can't complete the project in two weeks, then it wouldn't be worth trying . As much as the anticipation fascinated me, I needed to look at the whole project through that lens. What will fall under the ax?



First, I had to clearly formulate the real problem that I want to solve.



I wanted to see the animals as they pass by. This requires software to notice when they appear. And something that can instantly notify me of this. That's all. Everything else was whistles.



You need to destroy all the whistles.



It would be great to keep a video of the deer, but no. Goodbye Cloud Recording.



Streaming video to your phone? Let's forget about it.



Logging? Only at the end, if time remains.



I tried to cut back on even the remaining functions. In every part of the project, I wondered: Do I really need this? Is there an easier way to achieve the same goal?



Did I really need to create my own animal reporting app? The Telegram bot will handle this. Great, no need to learn how to build iPhone apps.



Limiting the number of new tools you have to learn is critical... Learning one new tool can take a long time, which is part of our two-week window. Learning two new tools is a guaranteed failure.



This is probably not the right time to learn a new machine learning library, I'm using motion recognition instead. When the app detects movement, it will take a picture and send it to me. I'll take on the role of the AI ​​and decide for myself if it's interesting.



Sometimes the volume cut is less noticeable. Some steps that might be considered best practices at work will be unnecessary burdens at home. To figure out which of them is which, first think about why something is generally considered best practice.



Do I need to write tests for motion recognition code? I have no idea how to test it. Hell, in two weeks I won't even be supporting this code. Cut out. How about a clear and generalized way to send notifications to users? Here I am the only recipient, so I will just register myself in the Telegram bot.



But the desire to add "useful" functions cannot be eliminated. It even has a name: scope creep.



It is an insistent desire to add one more thing. "The way to code this function needs to be simplified." "What if I do it with a different tool?"





Border sprawl occurs naturally, and if I don't fight it, the timer will run out .



It's time for a coding marathon. I found a suitable camera on Amazon. We buy. I wrote a motion recognition code, linked it to the camera. Done. I posted a Telegram bot. Excellent! Put them together. Cool!



I crossed the two-week mark, but the enthusiasm continued. I will finish this project! Calibrating the motion sensor to work outdoors was more difficult than I expected, but the work moved ... and then the last grain of sand fell in the clock.



Despite my best efforts, I was unable to work on the project for a couple of days, after which my motivation timer reset to zero. Suddenly pushing him towards completion felt like overwhelming work. I didn't want to continue.



No! I almost finished it! The project was 95% complete, with just one push to complete.



But he just didn't seem interesting to me anymore.



He was never moved forward by a serious vision, I started it under the influence of the moment. And the motivation, like the moment, has passed.



Part of me tried to deny it. I kept thinking, "I'll finish tomorrow." Five "tomorrows" later I had to admit the truth. Now is the time to move on and get rid of this mental burden. It was a project driven by enthusiasm, and when the enthusiasm dried up, it just wasn't worth the trouble anymore.



But all was not lost. When I started the project, I carefully planned it so that in fact they were three separate projects disguised as one: a motion recognition algorithm, a Telegram bot and an integration project to connect these two parts. I completed the first two projects! This would not have happened without ruthless volume cuts.



And every project was helpful. I designed the motion sensor and Telegram bot so that they would be independent of the application I was developing. Now, in any of my future projects, I can reuse these components as needed , saving me several days of work and allowing me to complete a more ambitious project in the same two-week period. And also new tools have appeared in my toolbox. It's still a victory!



By trying to do less, I was able to do more.



So I moved on. But when I hear that grumpy voice in my head again, I'll be ready.



And if I see Bambi again, I'll just take a picture.






All Articles