498 karma · joined February 27, 2009
1. Buy domain names
2. ???
3. Profit
On balance, Adams definitely had the more relaxed, froody attitude towards it all.
My laziness often precludes me from taking that approach until it's clear that it's warranted (but hopefully before I nuke anything critical).
I especially do this when the code has destructive side-effects (a file gets moved/deleted, a database get updated, whatever), so I can skip over any external actions I don't actually want to occur until I'm ready for a full test run.
Everybody does this, right? Right???
Ex: Testing reveals a corner-case that was never accounted for in the design. You can't just re-code, you have to go back up and redesign, then code the new design, then retest.
Royce's recommendations to minimize these problems are a) more and better design, and b) more and better documentation
In contrast, the Agile approach is to try to slice the work into finer and finer tasks, so these same activities can span a few sprints. It works in the small, but loses the forest for the trees.
[1] http://www-scf.usc.edu/~csci201/lectures/Lecture11/royce1970...
I'm a data guy, but I started out as a developer, and eventually choose to specialize in data systems. I'm continually amazed to find that this path is the exception.
> If you need some sort of a sanity check, see how your friends and peers (that don't work in software) configure their systems
Everyone I know who doesn't work in tech "configures" their system by calling me and saying, "it doesn't work" (no other details provided), and asking if I can just fix it.
> I rarely meet this "average user"...who isn't interested in using non-standard software...doesn't care about privacy...will use only the easiest and cheapest solution
Consider yourself lucky, and consider the circles you travel in are may not be reflective of the majority of users.