The Fractalization of Requirements

Fractalization of Requirements

Gathering requirements for software development projects has always been a difficult process, and has veered through various methodologies like waterfall and agile. Regardless of the methodology, though, there are certain pitfalls to deciding and describing just what an application should do that can result in projects stumbling or failing. Requirements fractalization, focus on little used details, or lack of developer and stakeholder involvement can all actively harm the best architecture.
(more…)

Ceci n’est pas un Chat: the Art of Custom Software Development

Defining What We Do

“Of all forms of symbolism, language is the most highly developed, most subtle, and most complicated. It has been pointed out that human beings, by agreement, can make anything stand for anything. Now, human beings have agreed, in the course of centuries of mutual dependency, to let the various noises that they can produce . . . stand for specified happenings in their nervous systems. We call that system of agreements language. For example, we who speak English have been so trained that, when our nervous systems register the presence of a certain kind of animal, we may make the following noise: “That’s a cat.” Anyone hearing us expects to find that, by looking in the same direction, he will experience a similar event in his nervous system — one that will lead him to make an almost identical noise.” – S. I. Hayakawa, Language In Thought And Action

What, exactly, is custom software development?

How many times have I sat across from a client — or potential client — who is vigorously flogging the term “custom software development” to describe what they needed done or thought we were doing and found that the client and I had vastly different understandings of what that term means? It is incredibly disconcerting to expect to see a cat and, instead, see, say, a loaded baked potato . . . or a mini pig in a tutu . . . or, less fatuously, auto manufacturing. (more…)