Ask HN: How do you maintain the Knowledge Graph for writing software

5 points by utkarsh_apoorva ↗ HN
Lately there has been a slurry of new (and pretty good) note taking applications like Notion, Roam, Obsidian, Slite etc. I have found Roam and Obsidian great for maintaining a graph of connected notes easily.

But they don't scale very well for a team - specifically a Software Product Team.

The use case is a bit different for software. You need to map everything to a feature - or a feature set. And soon you need to prioritise a collection of features - a super critical decision.

How do you manage it? How would you improve it?

4 comments

[ 1.8 ms ] story [ 17.0 ms ] thread
I use topic maps to model these kind of things. So, both a feature and a feature set would be (separate) topics with appropriate (semantically meaningful) relationships between them.

I am the author or Contextualise, a topic maps-based (personal and collaborative) knowledge management application, so I am biased :)

Am I right in assuming that topics behave exactly like Tags. I love knowledge management tools. But have never been able to add them to a software development workflow seamlessly - even though the team needs them.
No, topics are much more than tags which doesn't mean that topics can't be used for tagging purposes with a "tag topic" and an appropriate association between the topic that is being tagged and the topic that represents the tag - hope that makes sense).

Topic maps can be used for meta-modelling purposes: to model other models. So, a project is a topic (of type "project" - the type being a topic itself), a feature would be a topic, a feature set would be another topic, milestones, stakeholders, basically everything would be a topic with the necessary associations to express the appropriate relationship between the relevant topics.

So, in your case, feature topics would be aggregated together into a feature set by asserting the necessary relationships between the individual feature topics and the feature set topic. Once that is done, a set of milestone topics could be created with each milestone separately connected to the relevant feature set topic(s). You could then add specific date-specific metadata (key-value pairs) to the milestone topics so that they could be navigated in a timeline-like fashion.

Let me know if the above makes sense or if you would like a more in-depth explanation.