TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Fighting the Last War

50 pointsby keithbaover 10 years ago

7 comments

venantiusover 10 years ago
One of the things that's interesting about this - and is good meat for further discussion - is how to react when you find yourself on a team with someone who's clearly fighting the last war. I think it's inevitable that people end up fighting the last war, but I'd love to know if there are ways to break the cycle for someone once you see it happening.
评论 #8919041 未加载
Terr_over 10 years ago
From working with an old PHP codebase, I&#x27;d like to offer: &quot;Design for deletion.&quot;<p>This has important differences from &quot;design for modularity&quot; or &quot;design for future change&quot; or &quot;design so someone can swap it out&quot;, because those phrases tend to make developers go off and engineer extra stuff, under the assumption that their current paradigm for how the software operates is going to continue to be accurate even if their implementation someday needs replacing.<p>... But what happens when it&#x27;s not just &quot;this code sucks&quot;, but also &quot;we shouldn&#x27;t even have any code that&#x27;s doing this task&quot;?
评论 #8918727 未加载
lifeisstillgoodover 10 years ago
Nah ... not using async, not running with tests, these aren&#x27;t &quot;let&#x27;s build a Maginot line&quot; mistakes. These are &quot;let&#x27;s not make sure our troops can run 10 miles and shoot accurately&quot; mistakes.<p>Sure there are plenty of strategic mistakes that will doom any army or enterprise - but the biggest one, the granddaddy of them all, is only listening to half of the proverb &quot;hire great people then get out of their way&quot;<p>So many generals want to be sure everyone understands it is their clever tactics that won the war they forget the lessons of generals who really do - logistics and economics. Everything is subservient to getting a well fed and trained soldier with a gun in his hand at the point he needs to be.<p>For a good example look at Spolsky - hiring good people, fixing up nice offices, handing over lunch - probably there is some office manager who acts as a general problem solver for the devs and magically makes boilers and landlords and IRS problems vanish.<p>Logistics.<p>Not even big guns.
lmmover 10 years ago
This is a problem of planning; I don&#x27;t think more or more frequent planning is the answer.<p>Instead you need to make the minimum viable thing, even more minimally. Make sure the very first iteration is end-to-end usable to solve a real problem. Then you&#x27;ll notice if you can&#x27;t use async on the backend before putting async everywhere. You&#x27;ll notice if you&#x27;re testing too much. And you&#x27;ll have a better understanding of your burn rate because you&#x27;ve done all the tasks, including the things like design and hosting and legal that can easily be forgotten.
SocksCanCloseover 10 years ago
Great article and topic. But just FYI, I don&#x27;t think building a Maginot Line actually qualifies as &quot;fighting the last war&quot;. As the author explains, the ML actually worked -- the Germans had to invade through Belgium! And had they built the ML all the way to the sea, the blitzkrieg would have failed. Perhaps a better historical military analogy would be that of Billy Mitchell and the rise of Naval Aviation (<a href="http://en.wikipedia.org/wiki/Naval_aviation#Interwar_period" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Naval_aviation#Interwar_period</a>). Anyway great lessons here -- thanks for posting.
评论 #8920405 未加载
mattipover 10 years ago
My take away from &quot;Do just enough&quot; is the flip side - throw it away and start over. The second part is just as important as the first or you end up with crap prototypes in the heart of your solution. The first time doesn&#x27;t have edge case handling and will be insecure, so toss it out when it starts to become a product, if not before.
评论 #8918973 未加载
snarfyover 10 years ago
&gt; You need to watch the burn rate carefully, and have a clear plan for raising more money (either by selling to customers or raising from investors.)<p>Following the latter leads to the fatal pinch.<p><a href="http://www.paulgraham.com/pinch.html" rel="nofollow">http:&#x2F;&#x2F;www.paulgraham.com&#x2F;pinch.html</a>