planning
The Thing-deadline calculus
The best-laid plans
But bulldozers move mountains
Good design is redesign
Obsessed with absolute numbers
A warning against the limitations of my own prescriptions
The plan must anticipate all that is needed
Many a corner office
Individuals matter
Driving engineers to an arbitrary date is a value destroying mistake
The value-destroying effect of arbitrary date pressure on code
An Article by Gandalf HudlowThe mandate from above is clear, just get it done! Avoid everything that's in the way: all advice, all expertise, all discovery efforts that detract from hitting the Date™!
What these organizations don't realize is that all software change can be modeled as three components: Value, Filler and Chaos. Chaos destroys Value and Filler is just functionality that nobody wants. When date pressure is applied to software projects, the work needed to remove Chaos is subtly placed on the chopping block. Work like error handling, clear logging, chaos & load testing and other quality work is quietly deferred in favor of hitting the Date™.
Hofstadter's Law
An Idea by Douglas HofstadterIt always takes longer than you expect, even when you take into account Hofstadter's Law.
Planning doesn't make for better software
A Fragment by Robin RendleMy own time in a Silicon Valley startup has proved this much to be true; planning doesn’t make for better software. In fact today our design systems team doesn’t have sprints, we don’t have tickets or a daily standup. Each day we come to work, figure out what’s the most important thing that we could be doing, and then we—gasp!—actually do it.
Watching so many other teams slowly flail about whilst they plan for quarter 3.2 of subplan A, whilst our team produces more work in a week than they all do combined in a quarter has been shocking to me.
After four years of working in a large startup, I know what I always assumed was true: you don’t need a plan to make a beautiful thing. You really don’t. In fact, there’s a point where overplanning can be a signal of inexperience and fear and bullshit. The scrum board and the sprints and the inane meetings each and every day are not how you build another Super Mario 64.
Instead all you have to do is hire smart people, trust them to do their best work, and then get the hell out of their way.
Yagni
A Definition by Martin FowlerYagni originally is an acronym that stands for "You Aren't Gonna Need It". It is a mantra from Extreme Programming that's often used generally in agile software teams. It's a statement that some capability we presume our software needs in the future should not be built now because "you aren't gonna need it".
Gods of the Word
Imagine that we had no voice and no tongue
Socrates: Imagine that we have no voice and no tongue, but want to communicate with one another. Wouldn’t we like the deaf and the dumb make signs with the hands and the head and the rest of the body?
Hermogenes: There would be no choice, Socrates.
Socrates: We would imitate the nature of the thing: lifting the hands to heaven would mean lightness and upwardness. Heaviness and downwardness would be expressed by letting them drop toward the ground...
Hermogenes: I don’t see that we could do anything else.
Socrates: And when we want to express ourselves with the voice or tongue or mouth, the expression is simply their imitation of what we want to express?
Hermogenes: I think, it must be so.My name
“I am the utterance of my name.”
— Thunder, Perfect Mind, The Nag Hammadi Library
Reference and Is-ness
There are at least two aspects to what we have traditionally called the meaning of a word. One aspect is reference, and the other is something I will call ‘inherent meaning’ following Ullman (1963). Inherent meaning is ‘Is-ness’ meaning. Inherent meaning is a word’s identity, and reference merely its resumé, where it has gone and what it has done, an itemization of its contexts. ‘Is-ness’ is unifying. Each word has a single pronunciation, a single inherent meaning. But reference is divisive. It makes what was one thing – the word – appear to be many things – its senses. It is inherent meaning which gives all those multifarious senses the power of being a single word.
It flows out and fills
This deeper meaning of a word isn’t confined to what we think of as a dictionary definition. Rather it flows out and fills all the space available to it. Although a basic sense does affect the dynamics of a word, it has no power over its essence. Like the captain of a ship, it can control the crew’s actions, but not their minds. Each word has an aspect of meaning which lies deeper than any of its senses, and it is fundamentally on this meaning that all the senses depend.
No less than a Zeus
I too am a true believer in the autonomy of the archetype. A
/t/
or an/h/
is no less than a Zeus. The consonants are not essentially physical, but they live, evolve and influence human affairs. We overlook something essential if we deny that they can get up and walk around. This is not to say that their existence is independent of the human psyche. But then everything depends on everything.Like a prism
When you look at phonemes, you look through the perspective of morphemes, which are one linguistic level higher. The higher level is like a prism that splits the light in two. What was one thing, like ‘length’ at the phoneme level, looks like two opposite things ‘long’ and ‘short’ from the perspective of the morphemes. In practice, when you find both a word and its opposite, then the phoneme is not about either of these two things, but about what is common to them.
Fracturing
If we step back and view from afar this process of One-ness and Is-ness to fracturing and interpretation – of inherent meaning to reference, it follows that what lies at the foundation of language is simply what it is – sound – free of reference and interpretation. What makes what we know as language from its sound is fracturing and interpretation or using a word for a function other than what it simply is.
To evolve the language itself
So in the process of talking, we might say we are putting words in slightly new contexts, and then testing them against our peers to see if our experiment in juxtaposition had ‘meaning. If we succeed, we have introduced new contexts for the words we use. These contexts will be taken up by our listeners, and will gradually become clearly enough defined to be thought of as referents. Once our words gain new referents, they start affecting the underlying phonosemantic structure of the language, the clustering patterns, the network of semantic relations. That is, the purpose of talking in the long run is to evolve the language itself.
Scooting over
There is at this point no evidence that acquired characteristics can be inherited. It is held that all changes to a genome are random, and cannot be subject to any higher principle. However, when a word is used in a new context, as it is whenever we say something new, a new sense is permitted. This does affect the phonosemantic structure, the linguistic DNA. Words in the vicinity of this word ‘scoot over’ to make room and allow themselves to be influenced by its philosophy. The language itself is now different.
The element becomes a sign
Each unit can be seen purely as form, as what it is. Or it can be viewed as having a function. Its function is only understandable within the next higher level of organization. And in every case, function must succumb to the constraints of form. Once this worldly function is assigned, the element becomes a ‘sign’. It falls into the realm of concept. There is a mapping from one thought system to another.
The demand of a new word
Why are these phonosemantic classes enough, and we need neither more nor less? Why are these consonants enough, and we need neither more nor less? What determines the need for a new word? How is this demand ‘felt’ by a language? How did the metabolic pathways of American English recognize that ‘jerk’ and ‘twerp’ and ‘punk’ and ‘nitwit’ and ‘dork’ and ‘ass’ and ‘goon’ and ‘twit’ and ‘dodo’ and ‘bum’ and ‘nerd’ and ‘dunce’ and ‘turd’ and ‘boob’ and ‘chump’ and ‘bitch’ and ‘bastard’ and ‘prude’ and so on and so forth simply were not equal to the task? We had to add ‘turkey’ and ‘squirrel’ as well?