Data-Driven Requirements Gathering
Categories:
Requirements Management,
traceability,
scope,
Business Analysis,
Data Models,
Complexity
Categories: Requirements Management, traceability, scope, Business Analysis, Data Models, Complexity
|
When I think about this at a high level in terms of typical data entities and processes, I have to believe that the metrics would support such a conclusion. If we look at any particular organization, the number of processes operating on the same, similar or related data will be very high, yet the number of entity types the organization deals with will be very low in comparison. So let's look at a very simple example, a basic course registration system. Here are the entity types we'll deal with:
Here are some business rules around the data:
From this simple example, I conclude that we have at least the following potential processes:
.... and so on ... and so on... and so on... All of the processes I listed come directly from the two entities, student and course, along with the attributes each has and the relationships they have, one with the other. I am sure with a little extra thought, the list could be doubled. I am also sure that some of the processes listed have nothing to do with a student registration system, and more to do with other systems, and so could serve to put some rope around both the data (and its attributes) and the processes to be able to plan multiple projects as part of a program.
I obviously invented a lot of the processes I listed, and they would likely be very different if I actually had stakeholders to help me along (or would they?). It may reveal new business rules, such as those student registration privacy or restrictions on instructor performance data, or the absence of processes, such as being able to label other students who are your friends, and seeing which courses they have registered for. A very simple example, of course, but from two entities (which eventually became three), I was able to derive at least 18 processes (some actually have multiple processes per line), and I did that as quickly as I could type. Confirmation with the stakeholder would take much longer, of course. Trying to create a long list of processes and then deriving the data from them, rather than letting the data drive the derivation of processes, is, I feel, much more complex, time consuming and subject to errors and omissions. What do you think? Are you process driven, or data driven? Were you one and became another at some point in time? Before you answer, remember the CRUD (or CUDDL) I mentioned in a previous post. Don't know what that is? Look up "Of CRUDs and CUDDLs" :)
|



