On online collaboration and our obligations as makers of software An Essay by Baldur Bjarnason www.baldurbjarnason.com Is it the notetaking system that’s helping you think more clearly? Or is it the act of writing that forces you to clarify your thoughts? Is it the complex interlinked web of notes that helps you get new ideas? Or is it all the reading you’re doing to fill that notetaking app bucket? Is all of this notetaking work making you smarter? Or is it just indirectly forcing you into deliberate, goalless practice? Towards a crap decisionSo much knowledge not being applied notetakingbloggingsoftwarethinkingcommonplace
What do I need to read to be great at CSS? An Article by Baldur Bjarnason www.baldurbjarnason.com A rule of thumb is that the importance of a blog in your feed reader is inversely proportional to their posting cadence. Prioritise the blogs that post only once a month or every couple of weeks over those that post every day or multiple times a day...Building up a large library of sporadically updated blogs is much more useful and much easier to keep up with than trying to keep up with a handful of aggregation sites every day. bloggingcsscodelearningrss
136 things every web developer should know before they burn out and turn to landscape painting or nude modelling An Article by Baldur Bjarnason www.baldurbjarnason.com The best way to improve software UX is regular direct observation, by everybody on the team, of the work done. Have some personality. Minimalism is garbage. Metaphors are fantastic. Naming things is fantastic. Try to write HTML that would make sense and be usable without the CSS. The buyer is quite often wrong. That fact never changes their mind. Working on a functioning app’s codebase does more to increase its quality than adding features. A good manager will debate you, and that’s awesome. The term ‘project’ is a poor metaphor for the horticultural activity that is software development. Two Hundred Fifty Things an Architect Should Know wwwworkuxcollections
Nobody gives a hoot about groupthink An Article by Baldur Bjarnason www.baldurbjarnason.com Two relatively common ‘fashions’ today are real-time collaboration and shared data repositories of one kind or another. Both increase productivity in the naive sense. We work more; everybody is more active; the group feels more cohesive. The downside is that they also both tend to reduce the quality of the work and increase busywork. On that of the highest authorityPersonal Information Management (PIM) productivitycollaborationinformation
What's Wrong With This Model? A Chapter from The Design of Design by Frederick P. Brooks, Jr. What's wrong with the rational modelDeciding what to designEvaluating goodnessChanging constraintsThey just don't work that way+1 More
What's wrong with the rational model We Don’t Really Know the Goal When We Start We Usually Don’t Know the Decision Tree – We Discover It as We Go The Nodes Are Really Not Design Decisions, but Tentative Complete Designs The Goodness Function Cannot be Evaluated Incrementally The Desiderata and Their Weightings Keep Changing The Constraints Keep Changing Changing constraintsDeciding what to designThe situation talks back
Deciding what to design We Don’t Really Know the Goal When We Start The most serious model shortcoming is that the designer often has a vague, incompletely specified goal, or primary objective. In such cases, the hardest part of design is deciding what to design. I came to realize that the most useful service I was performing for my client was helping him decide what he really wanted. Today, we recognize that rapid prototyping is an essential tool for formulating precise requirements. Not only is the design process iterative; the design-goal-setting process is itself iterative. Knowing complete product requirements up front is a quite rare exception, not the norm. Therefore, goal iteration must be considered an inherent part of the design process. What's wrong with the rational model iteration
Evaluating goodness The Goodness Function Cannot be Evaluated Incrementally The Rational Model assumes that design involves a search of the decision tree, and that at every node, one can evaluate the goodness function of several downward branches. In fact, one cannot in general do this without exploring all the downward branches to all their leaves, which is possible in principle, but leads to a combinatorial explosion of alternatives in practice. What's wrong with the rational model
Changing constraints The Constraints Keep Changing The explicit listing of known constraints in the design program helps here. The designer can periodically scan the list, asking, “Can this constraint now be removed because the world has changed? Can it be entirely circumvented by working outside the design space?” What's wrong with the rational model constraints
They just don't work that way Perhaps the most devastating critique of the Rational Model, although perhaps the hardest to prove, is that most experienced designers just don’t work that way. “Conventional wisdom about problem-solving seems often to be contradicted by the behavior of expert designers. Empirical studies of design activity have frequently found ‘intuitive’ features of design ability to be the most effective and relevant to the intrinsic nature of design. Some aspects of design theory, however, have tried to develop counter-intuitive models and prescriptions for design behavior.” — Nigel Cross
We must outgrow it Why all this fuss about the process model? Does the model we and others use to think about our design process really affect our designing itself? I believe it does. I believe our inadequate model and following it slavishly lead to fat, cumbersome, over-features products and also to schedule, budget, and performance disasters. The Rational Model, in any of its forms, leads us to demand up-front statements of design requirements. It leads us to believe that such can be formulated. It leads us to make contracts with one another on the basis of enshrined ignorance. A more realistic process model would make design work more efficient, obviating many arguments with clients and much rework. The Waterfall Model is wrong and harmful; we must outgrow it.