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".
Design Thinking
Ducks and decorated sheds
A duck is a building whose confirmation is a complete symbol or icon. A decorated shed is a building to which symbols, often commonplace signs, have been attached.
Clinging to ideas
Another aspect of design thinking that was evident in the foregoing case studies is the tenacity with which designers will cling to major design ideas and themes in the face of what at times might seem insurmountable odds. Often the concept the designer has in mind can only come to fruition if a large number of apparently countervailing conditions can be surmounted.
Even when severe problems are encountered, a considerable effort is made to make the initial idea work, rather than to stand back and adopt a fresh point of departure.
A concept of style
It is a concept based not on the classification of various physical features of architecture and urban design but on the problem-solving process itself. We have seen that the final outcome of a design process is strongly determined by at least three aspects of that process:
- the subject matter of the organizing principles which are adopted,
- the manner in which these principles are interpreted and reinterpreted in the context of the problem at hand, and
- the sequent of applying such organizing principles.
Consistency in style among the output of designers can thus be understood as a habitual way of doing things, of solving problems.
Form and figure
Form applies to “a configuration with natural meaning or none at all,” whereas figure applies to “a configuration whose meaning is given by culture."
Design skirmishes
it is apparent that the unfolding of the design process assumed a distinctly episodic structure, which we might characterize as a series of related skirmishes with various aspects of the problem at hand.
As the scope of the problem became more determined and finite for the designer, the episodic character of the process seems to have become less pronounced. During this period a systematic working out of issues and conditions took hold within the framework that had been established. This phenomenon is not at all surprising when we consider the fundamental difference between moments of problem solving when matters are poorly defined and those with clarity and sufficiency of structure.
Within the episodic structure of the process, the problem, as perceived by the designer, tends to fluctuate from being rather nebulous to being more specific and well-defined. Furthermore, moments of "blinding" followed by periods of backtracking take place, where blinding refers to conditions in which obvious connections between various considerations of importance go unrecognized by a designer.
Such plans were deemed efficient
The terrain of cities was subdivided along the lines of distinct and discrete patterns of use, with very little opportunity for mixing (separation and concentration of functions). After all, the home environment should be just that…while places of work should be aggregated and serviced with their appropriate supporting functions.
Such plans were deemed efficient.
Constrained by the medium
The inevitable reciprocation that occurs between the act of drawing and the thinking associated with it. The hand moves, the mind becomes engaged, and vice versa. We might ask: How much does the medium of expression actually constrain a design process?
A medium has a way of constraining our choices, and this influence may not involve conscious choice at all. The planner, in the end, sees and understands only those things for which they can provide expression.
Autonomous constraints
Autonomous or independent constraints do not derive from the problem as given and understood…there was nothing in the problem statement, or brief, that required any reference be made to it. This constraint, introduced by the designers, usefully transcended the givens of the problem situation.
Unless the entire problem at hand can be solved using strictly problem-oriented constraints, we have to step outside the known problem context in order to continue problem solving activity.
The strange familiar and the familiar strange
The problem solver, when confronted with a new and yet unsolved problem, overlays the structure of the unsolved problem with an apparently similar problem with which he or she is experienced.
Making the strange familiar and the familiar strange are also principally based on the use of analogy.