Process and Data Visualisation

(Andy Wootton) #1

I was reading this discussion about designing a database structure:

I asked a question but I think I’m being disruptive, so I’ve started this new thread. I’ll link here from there.

I said:

When I saw the question, I imagined the answer would be a diagram and from that diagram, a representation in code would appear. Does that ‘diagram happen’ in the heads of the people who replied or do you skip straight to code? Would you if the question was more complex?

I’m a very visual thinker and I’m beginning to suspect that current web developers aren’t. I’m interested because in my last job as an analyst in an Agile team, my stakeholders loved UML diagrams and they were useful in discussions and to highlight differences in understanding but the devs didn’t care enough about them, so didn’t tell me when things had changed. As I’ve yet to find a 2-way UML/code conversion tool that works well enough, I don’t know how to avoid that situation in future.

@Nav33d said:

I do imagine in my head how different tables are going to interact with each other but not the diagram. I normally go straight into designing Database schema.

I find database diagrams really complex. I took an Open Uni module on Database and couldn’t finish it all because of these diagrams.

I can imagine diagrams being really helpful for complex databases. Do you think that they are as useful for even smaller databases as larger ones?

@sil said:

Sorta. When I do database modelling I have a concept in my head; I can see how the data fits together. I can then “serialise” that diagram into an entity-relationship diagram or some SQL DDL commands or whatever.

And off we go…

Questionnaire Database Schema HELP!
(Andy Wootton) #2

@Nav33d I was a developer at the beginning of my career. In my degree I studied relational databases in theory but I didn’t ever get access to them. I coded straight onto the VMS RMS file-system which had sequential, indexed and relative access and moved to ‘sysadmin’ after helping to select a RDBMS. While I was doing that I installed several databases and did the odd SQL query but I can’t really say I’ve ever worked with databases.

About 10 years ago I moved to a BA role to do process mapping/modelling and chose to use UML, then started helping with Agile product developments. My role was to ‘be half of’ the Scrum Product Owner, working with the responsible business expert, to help them understand what they wanted. I was recruited because my team leader believed there was a problem with the ‘pure devs’ - they gave people what they asked for, instead of what they needed. It’s amazing how many people know how to do their job but don’t think about why they are doing it. Unchallenged, they will simply re-implement what they are used to. Most developers start writing a solution about half way through understanding what the problem is. So my job wasn’t to model the solution but the problem, so, to finally answer your question, I didn’t draw diagrams of databases but of business entities and objects .It was an R&D environment, so these folks typically had engineering or science PhDs. We used the dagrams to make sure we understood and were able to use the customer’s jargon correctly during Agile workshops, so we each knew what the other was saying and identified how business entities were related.

My expectation was that the devs would use my models to understand the problem, then refine them to design a solution and database but I felt that they often started from scratch, unecessarily, frightening the natives in the process. My feeling was that they couldn’t read the diagrams but didn’t want to admit it. The situation wasn’t helped by a disconnect in the tools we were using.

(Andy Wootton) #3

@sil I think of an E-R diagram as a network that you serialise FROM (in parallel for each table). I’ve seen tools from which E-R diagrams emerge after primary and secondary keys have been linked but that seems backwards to me. I can see that there is a 1-m relationship between entities before I’ve identified the fields that need to be added so that tables can be linked.

I noticed that you used the word “see”. Is this actually a visual process? What do you see in your head? Are there lines connecting nodes or something else?

(Stuart Langridge) #4

The plan in my head is not a picture, nor is it words; it’s just a sort of understanding of how I would do it, which I can then express in the form of a diagram or SQL or whatever. Hard to describe what it actually is; if I ask you what “honour” is, you can doubtless explain, but what’s in your head is not in itself a movie clip or a written dictionary definition, but a cloud of images and heard things and ideas and concepts and whatever, which you could “serialise” into a written paragraph explaining honour, or a collection of examples of honourable behaviour, and so on.

(Andy Wootton) #5

Isn’t that because honour is an abstract concept? No-one is going to ask me to go and build them an honour… actually I have tried to get requirements out of someone like you before:
“I want it fluffy but with lots of sparkle and fast; do you know what I mean?”
"Oh. A bit less sparkle than that. More like Amazon but for Knowledge"
Oh dear, I’ve started twitching again.

(Stuart Langridge) #6

Yep. But so is a data structure. :slight_smile:

Nobody said our job would be easy… half the skill in it is in getting the cloudy concept in my head to match the cloudy concept in yours.

(Andy Wootton) #7

I thought that was the definition of communication and that’s only part of the problem we have here.