Tag Archive: Requirements

Gathering Requirements

20 Mar 2008 / PE

The most common verb associated with requirements is “gather.” Yet most requirements that end up fulfilled in a system aren’t gathered. Yes, I know, there are always a few requirements that are so obvious in a new system that you can “gather” them from stakeholders, but gathering implies that the requirements are already out there, fully formed and fully understood, and ready for harvest. It just doesn’t work that way. No stakeholder ever says to an analyst, “Requirements? Why, yes, I have eleven requirements. Eight are functional, one is a usability requirement, and the other two are operational requirements. Are you collecting constraints now, as well? I have three of those. Please sit down, and I will elucidate perfectly clearly on each and every one in turn.” Most requirements are discovered–or invented. Many are transformed or compromised along the way.

Most stakeholders don’t consider the underlying requirements of their work; they do their work. They are not in the business of reinventing the work. The arrival of a new project is the point in time when the ideas for new possible ways of doing work force us to consider the underlying requirements. If you go to an experienced front-desk hotel employee and ask what requirements there are for the check-in process, you are most likely to hear in excruciating detail exactly how the check-in procedure works today. Indeed, you will probably hear more than just about check-in; you will hear about the reservation procedure and how it impacts the check-in procedure. It never crossed the mind of that employee to consider what information and material goods the hotel needs in order for a guest to do self check-in with a new automated system. And the idea of the guest selecting a room from all those available is a shock. It’s not done that way!

This is why we have folks with “analyst” in their titles. Analysis is never simply about recording requirements from clients and other stakeholders. Analysts are not waiters who take orders without comment. Analysts need to learn how to tease out the basic rules–the policies–of the system and liberate all stakeholders from thinking that the new system should be based on current procedures. It is invention that is at the heart of analysis, not gathering.


Changing Requirements

12 Feb 2008 / PE

The most common reason for software project failure is attributed to requirements issues – badly defined, not stated correctly, changing requirements, etc.

Any project I’ve done that lasted longer than a day had changing requirements. If your development strategy only works with an unchanging set of requirements, you need to rethink your approach . . .


Three Reasons for Software Project Failure

30 Oct 2006 / PE

Jerry Weinberg’s top three reasons for software projects going over budget or failing to meet their original requirements:

  1. The original budget, schedule and requirements were totally unrealistic, due to the inability of people to speak truth to power.

  2. The original budget, schedule and requirements were totally unrealistic, due to the inability of people to understand and acknowledge their own limitations (which we all have).

  3. Even in those rare cases that people pass those first two hurdles, they lose emotional control during the project when something goes wrong — and something ALWAYS goes wrong. In 50 years, I’ve never seen a project where something didn’t go wrong. When it does, the project’s success is determined by the leaders’ ability to manage themselves emotionally.


Respect the Classics, Man: No Silver Bullet

28 Jun 2006 / PE

This essay by Turing Award-winner Fred Brooks is almost 20 years old now. Sadly, the ideas on incremental development are still considered outside the mainstream in IT, which continues to favor the widely-discredited waterfall approach.

Continue reading Respect the Classics, Man: No Silver Bullet