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".
Two Cycles
Gorgeous artwork by Minori Asada.
Among the trees
To accommodate the spaces between the trees, I built three walls in a radial pattern. Filling out the spaces on both sides of these three spline-like walls, I came up with a structure that appears to be slipped in among the trees. This design allowed us to proceed without cutting down any of the woods.
Small economies
I refer to small money-earning business that consist of the work of a visible individual, or have evolved from a personal hobby or skill, as "small economies". We can include in this category newer forms of at-home work—side businesses, telecommuting and the like. The amount of income is unimportant; meager profits are compensated for by the motivation of the owner. A small economy may or may not be someone's main form of livelihood, but it is always a spontaneously conceived and continuing activity.
An extremely closed structure
Nearly all housing in Japan today consists of exclusively residential units for salaried workers and their nuclear families. Such residences have, by definition, no reason to interface with their surroundings.
Salaried workers commute to workplaces outside, and often a considerable distance from, their homes. Residences built for these workers do not contain a place of livelihood—in the broader sense, a place for exchange. This "residence-only housing" is only a place for the nuclear family to eat and sleep, with no occasions for interaction with the outside world, and no need to foster a sense of belonging to the community at large. Thus the only organizational principle is the maintenance of privacy. Both in external appearance and in lifestyle, it is an extremely closed structure.
Ecological cycles
This house exists in the midst of a year-long cycle of natural phenomena. One might say that this cycle entails the periodic "rise and fall" of the ground surface. In winter it sinks below a snow cover that grows head-high or more; as spring approaches, this height gradually decreases until we can see the actual ground surface, not yet covered with undergrowth. With summer the vegetation grows higher and higher until the plaza seems once again to be lower than its surroundings. With the falling of the leaves, autumn restores our ability to penetrate these surroundings at eye level, at least until the snow begins to fall again... Through the four seasons, we experience the sensation of the ground rising and falling, like the ebb and flow of the tide.
I call this cycle of natural phenomena an ecological cycle.
Doing community
There is a Japanese catchphrase, community suru, literally "making" or "doing" community. I will never forget the queasy feeling that came over me when I first heard that term, phrased as if community were a kind of event.
Hold an event, bring people together, get people who might otherwise never meet to interact. It's a wonderful thought. I have nothing against events per se. However, if they are not spontaneous and voluntary, they will not last. That is my objection to the keep-it-lively concept of community. The perception of community as event stems, I think, from a yearning for the festivals and rituals that once flourished in rural communities in Japan. But those events occurred precisely because a community existed, not the other way around.
What are those borders made of?
Functionalist modern architecture has prioritized the functionality of interiors and treated surfaces and external appearances as an outcome of that priority. Diagrams illustrating functional layouts generally frame them with thick borders. Updating conventional program theory entails questioning what those thick borders are actually made of, and how they should be designed. A dynamic program theory should be one that turns these thick borders into more organic interfaces that will foster exchanges and interactions.
An ecological cycle
In the design of his own residence / workplace, Toshiharu Naka created a small ecological cycle. Rows of green planters in front of the wall protect the house from the sun and help cool it in summer. Rainwater is collected via catch-basins from the roof, and used to water the planters.
In the water buckets is a micro-cycle — fish live in the buckets, eating mosquitos from the planters, eliminating the need for pesticides.