Techniques on how to develop software

De Nosolosoftwarewiki

Contenido

Iterative development

The picture of the software designer deriving his design in a rational, error-free way from a statement of requirements is quite unrealistic.
No system has ever been development in that way, and probably none ever will. Event the small program developments shown in textbooks and papers are unreal.
They have been revised and polished until the author has shown us what he wishes he had done, not what actually did happen.

-- David Parnas and Paul Clements, on A rational design process: how and why to fake it

Related concepts

The simplest thing that could possibly work

So when I asked [KentBeck], "What's the simplest thing that could possibly work," I wasn't even sure. I wasn't asking, "What do you know would work?"
I was asking, "What's possible? What is the simplest thing we could say in code, so that we'll be talking about something that's on the screen,
instead of something that's ill-formed in our mind." I was saying, "Once we get something on the screen, we can look at it.
If it needs to be more, we can make it more.

-- Ward Cunnigham, on A conversation with Bill Berners

Related concepts

  • Keep it simple stupid (KISS)
  • You ain't gonna need it (YAGNI)

Given enough eyeballs, all bugs are shallow

My original formulation was that every problem ``will be transparent to somebody``. Linus demurred that the person who understands and fixes the problem is not necessarily 
or even usually the person who first characterizes it. ``Somebody finds the problem,`` he says, ``and somebody else understands it.
And I'll go on record as saying that finding it is the bigger challenge.`` That correction is important; we'll see how in the next section,
when we examine the practice of debugging in more detail. But the key point is that both parts of the process (finding and fixing) tend to happen rapidly.

-- Eric S. Raymond, on The cathedral and the bazaar

Related concepts

Herramientas personales