views:

53

answers:

1

How does one go about properly analyzing the requirements of a client in terms of software and writing down a list of functionalities? Feel free to share your own experiences.

A: 

Requirement engineering is a discipline on its own. It can be actually quite hard, because most of the time people want something, but don't know what it is. Then comes the hard part to identify and determine what is really needed, that's called requirement elicitation.

There are various methods to do so, including workshop sessions with customers, or sending analysts at customer site to identify how the client works and what it needs. There are also numerous tools to support this activity and capture/organize requirements efficiently.

The hardest part, IMHO, is to identify contradicting requirements, e.g. I want fulltext search, but I also want all data to be encrypted. Pretty hard to achieve.

Without a more precise question, I can only provide such a generic answer.

ewernli