Analysis

Requirements analysis means getting the requirements out of the users (actually, out of that part of the customer organization that is charged with specifying the system). There are some powerful techniques out there for doing this, including use case analysis, JAD, etc...    

Our analysts and developers are very good at getting this kind of information out of people and writing it down - they should be, it's been standard practice for several years.


We think that software developers are missing a vital truth: most organizations don't know what they do. They think they know, but they don't know.

That's why, no matter how good your requirement gathering and analysis process is, the delivered system doesn't meet the needs of the client: the client knew exactly what they wanted, but didn't know what they needed.

How do we know this? Our job (when we write procedures) is requirements analysis: we find out what the client's business processes are, and write them down. The difference is that we don't then automate it. The feedback that we get from our users is immediate and vocal: since we're not trying to change their processes, they will tell us right away if we've got it wrong.

That's is our success key