Project Management

Data-Driven Requirements Gathering

From the Requirements Blog
by
Effective requirements collection, management and traceability plus smart PM practices equals project success.

About this Blog

RSS

Recent Posts

Planning. Linking to Strategy. Delivering.

It's all about the outcomes..... NOT the outputs.

Caution: Agile Surface May be Hot

Organizational Change Management: The Most Critical Requirement of All!

Rethink Requirements: The Natural Language Processing Approach

Categories

Business Analysis, Complexity, Data Models, deliverables, done/not done, earned value, Leadership, managing change, project activities, project success, project tasks, Quality, Requirements Management, Requirements Management, scope, Strategy, strategy, traceability, vision, wbs

Date

linkedin twitter facebook Request to reuse this  


Early in my career I was fortunate to have a mentor who was very data driven.  He believed that data in its purest form would help describe the processes that you might want to implement in a system, but that process analysis alone would not properly define the data and in fact, might very well define it improperly due to the usual insular aspect of looking at some processes and not all, of necessity given scope and budgets.

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:

  1. Student
  2. Course

Here are some business rules around the data:

  • A student can register for up to eight courses.
  • A course can have up to one hundred students.
  • Students can see who else has registered for a course

From this simple example, I conclude that we have at least the following potential processes:

  1. Registering for a course
  2. Seeing details like who is teaching a course, costs of courses
  3. Listing who is also registered for a specific course
  4. Updating or deleting a course registration
  5. Finding out if I am allowed to delete a course registration
  6. Finding out the rules and timelines around course registration
  7. Withdrawing from a course after I have already started attending it
  8. Listing all courses I as a student am registered for
  9. Displaying detailed information about a course I am registered for, or courses for which I am not registered
  10. Plotting course schedules on a calendar so I can generate an agenda for myself
  11. Show ratings for each course
  12. Show ratings for each instructor
  13. Show the marks I have achieved for each course by term and final
  14. Show a history of my marks in the timeframe I select
  15. Show a graph of how my performance has changed over time
  16. Show a graph of how instructor performance has changed over time for selected courses or for all courses he/she teaches
  17. Update course information - new courses, remove or archive courses, update who is teaching a course
  18. Update student information - new students, remove or archive student information, update student demographic, biographical information and other information 

.... 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.

Furthermore, since we all know there is a many-to-many relationship between Courses and Students, we are probably missing an Entity Type - one that is fairly obvious anyway - something called "Course Registrations" which becomes a one-to-many relationship with each "Kernel" entity type, resolving the many-to-many relationship by adding the "Associative" entity type.  And we won't even get into the difference between registrations and transcripts, whether things like marks even belong in this model, etc.

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"  :)

 


Posted on: November 04, 2015 11:49 AM | Permalink

Comments (10)

Please login or join to subscribe to this item
avatar
Andreia Reis PMO Coordenator| Adimax Indústria e Comércio de Alimentos Mairinque, São Paulo, Brazil
Thank you for sharing, useful article.

avatar
Bruce Wilkinson MBA, PMP Expert Project Manager / Trustworthy Executive Assistant / Business Coach| goBRUCE Business Services Cuenca, Azuay, Ecuador
Process and Data--what is one without the other? It seems to me that data must be seen within a process, and the process has to be within a certain context to have value. The first outlier on a chart may not have significance, but there comes a certain point where they indicate that a process should take place within a given context. I guess that makes me data driven. Without the data and context, how can you develop a process? Once I know what a tree is, I can develop a forest, but if all I have seen is a forest (process) from space, how can I understand a tree (data point)?

avatar
Sergio Luis Conte Helping to create solutions for everyone| Worldwide based Organizations Buenos Aires, Argentina
James Martin, Strategic Information Planning Methodologies (hehehehehe). Good article. When I worked making enterprise analysis and I have to understand the business architecture I use the Zachman Framework and this types of things are critical to know to complete row 2. You have put a very good mix in this article. And I think what you try to say is that this could be a very good method to push the stakeholders to express their needs. Am I right?. Thank you very much for the post. Hope young people read that.

avatar
Mike Frenette Manager, IT PMO| Halifax Water (retired) Halifax, Nova Scotia, Canada
Gracias, Andreia. I hope you find the content useful in how you think about systems with their inherent processes and data. If you consider data as completely separate from processes, that can be defined by itself with no reference to the processes operating on it, I will have achieved my mission. :)

Bruce - glad to hear you are data driven. I think of processes as things that operate on data, reading it, creating it, deleting, updating it. The data is the thing that connects all processes, defined independently of processes, yet quite useless without the processes that populate it. I guess that makes me data centric. A good analogy, trees and forests, although I might take a slightly different slant on it, and say the trees are the processes and the water table is the data, feeding the trees and keeping them alive.

Yes, Sergio - I have to admit that I cut my information technology teeth in the Yourdon, James Martin and John Zachmann era. Many of the methods and modeling techniques have stuck with me over the years to be mixed in with current methods and frameworks like RUP and Agile. I have grown quite fond of Scrum, in fact, and some of these models work well with it. But with today''s Agile approaches, the modeling tools are often used in different ways at different times. Is everything old new again? Well, not everything, but some things.

One thing is for sure, though. Everything new can''t be old again, unless I forget inn which era something originated. Could happen!

avatar
PANKAJ KUMAR JOSHI General Manager| Transrail Lighting Limited Nainital, Uttrakhand, India
Nice article.

There can be many simple ways to gather data e.g. sessions, past records, forms, excel sheets, software etc.
However, It is important to share the data with experts to take feedback before finalization of requirements.

avatar
Jonathan Lee Agile Project Management Coach| Riics, Inc. Chicago, Il, United States
I like how you distinguished and explained these. Thanks for the great examples.

I would say I practice both data-driven and process-driven depending on the situation. I tend to lead with process-driven approach with less technical stakeholders/customers and data-driven approach with more technical stakeholders/customers. For example, I extract data from process discussions with the customer - speaking customers'' language to keep them engaged.. Then I assess and I build up the requirements and review with stakeholders/customers.

I would also like to add that if I''m in process discussions with the customer, I frequently ask "why is this needed?" questions. Often what customer wants isn''t what they need and I''ve been able to significantly reduce scope and reduce the requirements. This also helps in prioritizing those requirements as must, should, and nice to haves.

avatar
Mike Frenette Manager, IT PMO| Halifax Water (retired) Halifax, Nova Scotia, Canada
Thanks, Pankaj. I agree experts are important in this, both business experts and technical experts.

Interesting approach as always, Jonathan. Yes - the client often speaks in the language of process, and we translate it to the language of data, always taking into account the bigger enterprise picture. The risk, of course, is that we end up with islands of subject data or cross-application processes that don't play nicely with the data. Or worse still, processes that interfere with other processes by modifying or even designing what could turn out to be enterprise shared data in an isolated an application view.

Why is always such a great question to ask. It clarifies so many things.

That brings to mind Rudyard Kipling's six honest serving men. They can be used to serve you on any project.. free of charge! :)

http://www.kiplingsociety.co.uk/poems_serving.htm

avatar
Steven Zachary Director| Alberta Health Services Calgary, Alberta, Canada
Great article Mike!

I think the industry supports your conclusion. The explosion of data analyst jobs to support "general purpose" business analysts seems to be a condition of eliciting more detailed requirements. I am data driven myself; however, I haven't always been.

When I started out roughly ten years ago, I was heavily process driven. It was only through the process of understanding my omissions and errors that I stumbled upon the method you so eloquently described. Building up from the data and supplementing with process models has led to fewer errors and more comprehensive requirements.

I always think of those old projectors my math teacher had with the transparent paper. I like to imagine I am laying one piece of that transparent paper on-top of another. I can lay my business process overtop of my data flows and garner a close relationship. I've lost track of the number of times I've found some "ah-ha's!" using this method.

avatar
Peggy D. Johnson Agile Coach| CGI Tech and Solutions St Louis, MO, United States
Mike, this clear article and examples are quite useful. I appreciate your demonstration of requirements breakdown for the junior BAs in the audience. It was easy to follow and will surely help many.

avatar
Mike Frenette Manager, IT PMO| Halifax Water (retired) Halifax, Nova Scotia, Canada
Thanks, all, for your kind and insightful comments.Live by the data, die by the data. :)

Please Login/Register to leave a comment.

ADVERTISEMENTS

The only people who find what they are looking for in life are the fault finders.

- Foster's Law

ADVERTISEMENT

Sponsors