(no title)
ElatedOwl | 1 year ago
Many times I’ve confidently thought I understood a problem, started writing about it, and come away with new critical questions. These things are typically more visible from the abstract, or might not become apparent in the first few release milestones of work.
I’m reminded of a mentor in my career, who had designed an active/active setup retroactively for a payment gateway. He pulls up a Lucidchart and says “this diagram represents 6 months of my life”.
They’re not always necessary or helpful. But when they are you can save weeks of coding with a few days of planning.
appleiigs|1 year ago
An analogy is planning a road trip with a map. The way design docs most are built now, it shows the path and you start driving. Whereas my bosses whiteboard maps "over-planned" where you'd stop for fuel, attraction hours, docs required to cross border, budget $ for everything, emergency kit, Plan A, Plan B.
Super tedious, but way better than using throwaway code. Not over-planning feels lazy to me now
Sure, everyone has a plan until you get punched in the mouth; however, that saying applies to war, politics, negotiations, but not coding.
jnsaff2|1 year ago
1. Spend as much time in planning as necessary, in the context of mega projects planning is essentially free, maximize the time and value gained in planning.
2. Once you start execution of the plan, move as fast as possible to reduce likelihood of unforeseen events and also reduce costs increases due to inflation, interest paid on capital etc.
[0] https://www.goodreads.com/book/show/61327449-how-big-things-...
huijzer|1 year ago
(If you think “why does MLJ.jl have so few stars?” please keep in mind that this library was written for the Julia language and not for Python. I honestly don’t think the library is the cause of low popularity. Just wrong place wrong time.)
ozim|1 year ago
That’s a bit uncharitable but following this line of thought - you also need those smart people to be confident and communicative.
sevensor|1 year ago
It’s not even an argument against planning. You’d be a fool to go to war without a plan. The point of the saying is that you’d be a fool not to tear up your plan and start improvising as soon as it stops working.
DidYaWipe|1 year ago
It was also great for brainstorming about every feature and functional aspect you can imagine for your product, and making an effort to accommodate it in your design even if it's not MVP material.
bayarearefugee|1 year ago
In my experience it applies to coding when you have any reliance on third party libraries or services and don't have an extensive amount of actual real world experience with that technology already.
bryanrasmussen|1 year ago
hey, the EU just introduced this new regulation is the software version of getting punched in the mouth.
lmm|1 year ago
How was it better? I think a lot of people plan precisely because it feels virtuous, but that's true regardless of whether it's effective or not.
PittleyDunkin|1 year ago
Certain projects have too many unknowns to overplan and you need to collect data to construct the assumptions necessary to evaluate the approach.
bravetraveler|1 year ago
softwaredoug|1 year ago
And in the end a good PR has a lot of writing too and has this effect. IMO this sort of well documented draft PR serves as a better design proposal because pure writing causes you to forget important constraints you only remember when you’re in the code.
__MatrixMan__|1 year ago
The only problem with having the draft being implementation is that maybe you'll get pressured into shipping the draft.
patrickmay|1 year ago