I have been working on translating an old project (Breeze) into a new form, and I am finding it an interesting exercise in unconscious tradeoffs.  The quality of reusability – that someone (possibly yourself) will later come and repurpose what you have done, thus you make it easy to reuse – has a peculiar property that it usually is at odds with project priority.  It’s most useful in an extremely long-term view that wants to make things better for everyone at the cost of some progress now – and classically, that’s exactly the view that gets ditched right away when a project is under pressure to be completed or presentable in a certain timeframe.

In the context of this present project, I know I was pushing myself to finish the old Breeze in a timely manner, not just because I had a wonderful picture in my head and wanted to see it realized, but because there’s only so many hours in the day and attention span to give, so completing the project faster was key.  Who has time to worry about the future when the present is so pressing?  But that’s the very conundrum posed by reusability – how much effort do you want to take now so that later problems won’t be multiplied?

I’ve found, time and time again, that when I revisit an old project of mine, I wish I would have spent more time making it reusable.  Is this a lesson only learned through experience?  Intelligent folk can see the issue down the line, knowing that later someone will pay the costs incurred by us today, but it takes quite a lot to choose an unknowable future of lessened hardship over the immediately realizable work of the now.  I admire and respect those who can perfectly balance the good of the future and their successors with their own efficiency now, but I find it very hard to do so on my own (especially when there are real pressures to get things done fast in the present).