Skip to main content

Posts

Showing posts from January, 2016

2. The four causes

Aristotle's was often thinking which were the four causes of... anything: the material, formal, efficient, and final cause. To my own risk, I'll try to apply these causes, to the very limited scope of software requirements. Final cause:   to build a software that works well and is efficiently used by customers. Efficient cause: it's us, we want build software for our customers. Material cause:  the pieces of paper we write requirements on. Formal cause: well. I still have to think about this one. Aristotle used the word aition, "cause". He meant an explanation that accounts for something: "x is the aition of y" means "x explains y".

1. What is a Requirement ?

The word Requirement comes from the latin word Requisitum , that comes from requirĕre  «to demand, to require, to call for» and quaerĕre  «to ask, to strive for, to require». Never forget that asking a lot of questions is one of the key in understaning the real needs of your customers.

0. What's the matter with requirements ?

In my experience, many problems arising from the little care in requirements gathering are mainly due to these five factors: Pre-judgments: we believe we know how to do the right thing before we even realize what we have to do, We do like to "settle" things "later", End users often do not know exactly what they want, or express themselves in their own way and often different users have conflicting requirements, The requirements now are constantly changing: as soon as we catch some, some other requirement has already changed, Often there are organizational or "political" factors involved (ie. we listen more to the requirements of a manager who will never use the system rather than the requirement of the user who will use it 10 times a day).