Strategy, Tactics, and Code

"Political Will"

Every project needs a reason to exist. A clear purpose that answers the question "why am I fighting" (e.g. struggling to write code). This purpose gives meaning to victory. Clausewitz calls this "political will".

Strategy

Very unfinished musings on Clausewitz and the application of On War to code

Strategy is about choosing where engagements will occur. In this endeavor I will primarily struggle against the machine (e.g. the codebase) and the customer. I'm not sure, however, that a perfectly literal interpretation of Clausewitz is useful to software. For example, the tactics required to win "engagements" can seemingly clearly be cast literally. The tactic: build a systemic way to handle celery enables me to win the engagement: run background tasks. But by pursing a different strategy entirely the need for such tactics can be absolved. "Meet the enemy where you are strong and he is weak" is a classic dictum of Clausewitz. Maybe the move is to adopt strategy (architecture?) such that I only have to solve problems I'm good at solving, or already have.