[HN Gopher] On finishing projects
___________________________________________________________________
On finishing projects
Author : reichertjalex
Score : 63 points
Date : 2024-08-19 18:03 UTC (1 days ago)
(HTM) web link (www.alexreichert.com)
(TXT) w3m dump (www.alexreichert.com)
| PaulHoule wrote:
| See https://en.wikipedia.org/wiki/Kanban
| gopher2000 wrote:
| How does this help here?
| galleywest200 wrote:
| >I think there are two strategies that would help a lot: 1)
| writing a spec (i.e. a plan) upfront, and 2) timeboxing the
| project by giving myself a deadline.
|
| I would like to add another possible strategy: watching a number
| go up.
|
| Recently I have started tracking the books I am reading. I track
| the page number I am currently on via a dashboard I made in
| Obsidian, which displays a %-read for each book. I have found
| that "number goes up" gives me just enough of a dopeamine hit to
| encourage me to pick the books up more frequently than I had
| before.
| reichertjalex wrote:
| Ooh I like that! I definitely feel that in some sense when I
| have a good streak of commits per day, where I don't want to
| break the streak. Or for workouts, it's suuuper motivating to
| see the number continue to go up.
|
| But oftentimes when a project or essay is incomplete, it's hard
| for me to think of a good "number" to track that would be a
| good motivator (since i.e. lines of code, or the number of
| words in a draft, don't necessarily feel like a good proxy for
| progress all the time). I'm curious if there's a metric that
| would work better?
| ChrisMarshallNY wrote:
| I had a teacher once, at a training seminar, that kept repeating
| the phrase "We need to know what 'done' looks like."
|
| "Done" is often a compromise. There's more that can be added,
| there's still burrs and "rough spots," but we need to declare it
| ready to go out the door, and be prepared to fully support our
| release.
|
| I've been shipping software for my entire adult life, and have
| had to embrace this philosophy.
|
| Just the other day, I stopped working on a "play" project that I
| was working on, because it was a rabbithole, and not worth the
| agita of fixing the fundamental design issues that I was
| encountering (an unfortunate by-product of my "Evolutionary
| Design" process, is that it's quite easy to fall into Wonderland,
| and I need to learn to understand that I should just let the
| rabbit go).
| reichertjalex wrote:
| > "We need to know what 'done' looks like."
|
| Ugh, yes... I wish I had internalized this sooner!
| daelon wrote:
| > agita
|
| Interesting word, thank you!
| ChrisMarshallNY wrote:
| Lots of folks of Italian ancestry, around here.
|
| I hear the word used, often.
| mandeepj wrote:
| > "We need to know what 'done' looks like."
|
| As much hate as Agile gets here at HN because of its wrong
| usage by many people, one thing that Agile recommends is
| setting up a 'Definition of Done' within your team before even
| starting your very first sprint.
| ChrisMarshallNY wrote:
| It's much older than Agile. The Japanese company I worked
| for, did that.
|
| They would start at the end, and work backwards.
|
| They _hated_ Agile.
| cloverich wrote:
| I resonate strongly with this. I found something pretty simple
| thats been helping me lately though. I uhh, i just force myself
| to keep working on it until its done. Grind it out. Work on it
| especially when i dont want to. Ditch those little relaxing
| moments for it. Wake up early to find time for it. Its torture.
|
| And also therapeutic. I see the incompleteness of my original
| idea, or plan. I see that the things i declare important feel
| less so when i have to keep working on it. I start to permanently
| discard essays, apps, ideas, as i appreciate what it would really
| take to do them. I say no to myself far more often. I become more
| disciplined in my work. And more disciplined in my play. I start
| making more realistic plans and exit points because im not a
| masochist.
|
| Ultimately i let it change me. I obviously wont grind like this
| forever. But the grind teaches me, and changes me, into the kind
| of person that finishes things. Which is mostly about learning to
| be more selective and less impulsive, and knowing when to play
| and when to put things down and truly let them go.
| reichertjalex wrote:
| Yeah, definitely. I know this is a somewhat controversial
| opinion, but I do think there's value in developing the muscle
| around "grinding it out". I think the tricky part (depending on
| your personality type) is knowing when it makes sense to give
| up and move on to something else.
| turtledragonfly wrote:
| > I start making more realistic plans and exit points because
| im not a masochist.
|
| Or, you start to enjoy the pain, because you enjoy the result.
| But then your mind does its illogical associative thing and you
| start to just enjoy the pain on its own. Now you're a
| masochist!
|
| I jest, but only some. Ask me how I know ...
| wonger_ wrote:
| +1 to being selective and ruthlessly deleting time-draining
| ideas.
|
| I'm not sure I can force myself to keep working, though. Self-
| imposed deadlines don't help me either. It seems like a
| willpower problem, like going to the gym.
|
| What's helped me is making projects alongside a small group of
| fellow programmers. Seems like the author has done something
| similar with a hackers co-op chat and with Recurse. External
| accountability is my most successful motivator.
| haswell wrote:
| Over the years I've noticed that I'm often operating in various
| "modes". Some of this is related to depressive episodes, but
| often it's just a more neutral ebb and flow. I'll have a week
| where ideas are flowing and connections form easily. I'll have a
| week where it feels like I can't engage so deeply - like my
| system is cooling off after exertion.
|
| And this is one of the reasons writing things down has been such
| a useful tool, and starting with a spec is something I now do
| religiously after spending the first half of my life just diving
| in haphazardly (and often not getting very far).
|
| Those ultra productive days are often enough to get a pretty
| decent spec written; something I can flesh out in far greater
| detail than I could with a productive coding day. Those down days
| are now bolstered by the thinking of a version of myself that was
| firing on all cylinders, and solved many of the problems I
| probably don't have the brain power to tackle on the fly when I'm
| tired and stressed for life reasons.
|
| I feel like I've squandered really good trains of thought by
| telling myself "I'll remember this and write it down later". So I
| always start with writing. Future me always appreciates it.
| daliusd wrote:
| I don't remember which book I got idea from but idea is to work
| in different modes. When you work as programmer then there are no
| deadlines and etc. So sometimes you have to put different hat,
| e.g. CEO hat. It took several months to work out but overall
| result is reasonably good.
| jmbwell wrote:
| I sometimes battle perfectionism for various reasons. Someone
| pointed out that it can't be perfect if it isn't even finished,
| so why not add "done" to what it means to be "perfect." Somehow
| that tweaked my perspective in a helpful way. Edit: on
| reflection, possibly because it doesn't imply a compromise of my
| standards, but actually strengthens them, so I don't have the
| feeling of giving up or giving less.
|
| Also very much believe in doing some kind of planning, any kind
| being better than none at all. Otherwise you put yourself in a
| tunnel but you don't give yourself a light at the end. The plan
| can change and it will, but if you have none, you might end up
| digging forever
| codr7 wrote:
| I don't plan much, first I set a goal and then break it down
| into manageable steps. Designs without goals rarely turn out
| well from my experience.
| docandrew wrote:
| I needed this. I have so many half-finished projects, it's nice
| to think that there's still a way to make them valuable in some
| way.
| turtledragonfly wrote:
| Always glad to see articles discussing an emotional side of
| software development (:
|
| I do disagree with this claim (though later points temper it a
| bit): Why is it important to share your work with
| the world? First, because there's practically no downside,
| and very, very high potential upside.
|
| There is a big downside: as the author states,
| finishing/releasing is hard and time-consuming. You only get one
| life. Every hour spent doing that stuff you won't get back. So,
| not a direct cost, but an opportunity cost. Personally, I find it
| important to acknowledge this and face it head-on, rather than
| waving one's hands and saying "oh, there's basically no
| downside." Though I admit that the latter can be a useful self-
| mind-hack to get the ball rolling. But _first_ you decide what
| you want to do, and why you want to do it, and _then_ you tell
| yourself whatever lies you need to help it get done (:
|
| The "why is it important..." question is really critical to
| motivation, at least for me. A person should give that question
| honest thought and an answer that rings true to them.
|
| I agree about the therapeutic aspect of putting things out into
| the public. Though I don't plan to publicly share
| all of these proactively, just knowing that they're
| publicly viewable helps give me a stronger sense of
| accountability. I'm curious if it will make a difference.
|
| Just getting things out of one's mind, and into the world (even
| if nobody sees them), can be important (helps my sanity, at
| least). Even just the "rubber duck" sense of _imagining_ someone
| might see it, can catalyze thoughts in a way that wouldn 't
| otherwise happen, too. Then, having people actually see them is
| another layer, and can be humbling and educational.
|
| Also, apropos of nothing, this article made me think of the
| (mis-)quote: We do these things not because they
| are easy, but because we thought they would be easy!
|
| Good article (:
| jauntywundrkind wrote:
| You cite this part of the article,
|
| > _Why is it important to share your work with the world?
| First, because there 's practically no downside, and very, very
| high potential upside._
|
| And say,
|
| > _There is a big downside: as the author states, finishing
| /releasing is hard and time-consuming. You only get one life.
| Every hour spent doing that stuff you won't get back_
|
| Working in public (or working at least from the assumption it
| will soon be made public), is something folks should try really
| hard to get into. It should be a default expectation for
| yourself. The cost is mostly mindshift!
|
| Once you can change your default position, it no longer feels
| like a cost to work in public. Every action brings release.
| andrewstuart wrote:
| There was a post on HN recently about building software for
| yourself - forget the possible audience of millions. If you focus
| on yourself as the end user then the whole thing becomes easier.
|
| I couldn't find it after a brief search. Maybe someone else
| remembers it.
| g4zj wrote:
| I genuinely consider two of my greatest accomplishments to be
| building a game and composing a song.
|
| Neither are very impressive, but in both cases, I ended up having
| to simply decide I was done and stop working on them. I could
| continue making changes indefinitely, adding little improvements
| and such every day, but they were also complete as they were.
| Once I learned to be okay with that and move on, I learned what
| finishing a project really meant (or at least one form of it).
| codr7 wrote:
| I already have a job, my side projects are all about having fun
| and learning new tricks.
| ryandrake wrote:
| I really disagree that releasing a project publicly is a
| necessary step to deem something done. I have so many projects in
| my src/ directory that are (in my mind) finished, but that I will
| never release to the public. I wrote them for my own education
| and entertainment, not as things that I think the rest of the
| world would benefit from. And certainly not as a way to build
| some kind of (ick) -personal brand- among the open source
| community, or to give me some sense of accountability (to whom?).
| I don't need GitHub stars or social media thumbs up or hacker
| news upvotes to measure the worth of something I made.
| munificent wrote:
| Reposting an old Reddit comment of mine that I think agrees with
| much of this article:
|
| I'm in my 40s and for most of my life I had an unending series of
| unfinished projects that I felt guilty about. Today, I am able to
| finish some stuff, including some pretty large, hard projects.
| Better, I don't feel guilty about the stuff I don't finish.
|
| The trick for me is to be deliberate and mindful about why I'm
| embarking on a particular project.
|
| If it's because I want to feel good by:
|
| * Sharing something with others.
|
| * Accomplishing a difficult, challenging task.
|
| * Proving to myself that I can do something.
|
| * Getting the social cachet of being a creative, productive
| person. (Maybe this is shallow, but who doesn't like to feel
| impressive in the eyes of their peers?)
|
| Then the goal of the project is the product it and I focus my
| attention and discipline on it. I try to have as few of these as
| possible--like only one at a time--so that my willpower is not
| diluted.
|
| If it's because I want to feel good by:
|
| * Improving a skill.
|
| * Exploring an unfamiliar domain or learning something new.
|
| * Relaxing by tinkering on something I like.
|
| Then the goal of the project is the process and I don't feel bad
| about not finishing. The real treasure is all the stuff I learned
| and did along the way and there is no real destination. I can
| have as many of these as I want because there's no real failure
| mode here. They're all recreation.
|
| Once I got more honest and clear with myself about my goals for
| each project, I started to be able to finish the ones where that
| mattered and stopped feeling bad about the ones where it doesn't.
___________________________________________________________________
(page generated 2024-08-20 23:00 UTC)