Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have seen project teams diving into developing a new application without having a basic diagram in place explaining any aspect of the solution -- including the data model.

Not sure what it takes for simple ER diagrams to become the norm for project documentation. In spite of so many tools being available in this space hardly anyone actually uses them in practice.

Maybe Microsoft has to make it a feature in Excel or PowerPoint for people to use it?

These diagrams need not be exhaustive but should convey the key structure and relations as per context. We can create a dozen small diagrams for the same database if needed to document the requirements and design. Whatever works and does the job of communicating and documenting.



Few reasons come to mind

1. MIS vs CS

Management Information Systems vs Computer Science, in general people with background in MIS are more into Databases than CS people

A person with MIS background is more likely to start with an ERD, and move to code later, CS people prefer to code first

2. UML is a disaster

Since the 90s UML is the Diagraming language and it never had a DB component (probably created by CS guys) (you adapted a Class diagram for ERD)

And UML is not code, and its hard if not impossible to code in UML

Its a lot easier to go from code to diagram and diagram to code for ERD, not the case for other types of coding

I think the rise and failure of UML played a big role in coders not diagramming

3. Code browsing tools

Code browsing tools are usually good enough for most coders, seing the structure of your code as a tree on the left pane of your code editor


Agreed

A lot of developers even with multiple years of industry experience seem to start projects with code first -- as if it will be running on their PC.

Not enough systems / design thinking of how the application will run in a DEV environment (typically cloud these days) let alone production -- what the various components of that application are going to be -- and where and in form the data will be persisted.


As someone who starts with the data to try and understand a system, I agree but it feels like we're not the majority. At least in the MS world the rise of code-first has not been well received by me :(




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: