The Art of Codifying Domain Knowledge - a Quick-and-Dirty approach

The Art of Codifying Domain Knowledge - a Quick-and-Dirty approach

Today, I’d like to share my thoughts on a topic that is crucial for any IoT project: codifying domain knowledge.

When it comes to IoT, the ability to quickly and accurately translate human experience into software (often called “codifying domain knowledge”) is essential. It’s important to approach this task with care, but also with a sense of urgency. Based on my experience, starting quick-and-dirty reduces the risk of failure and leads to the best results. But let’s start from the very beginning.

What does quick-and-dirty mean in this context? It means starting with basic notes that summarize human experience. Don’t worry about defining the structure and avoid over-engineering the solution at the beginning. Instead, focus on capturing the essential aspects of the domain in the simplest, most straightforward way. This approach has several advantages:

  1. Time efficiency: By starting with a simple structure, you can quickly capture the most critical aspects of the domain or a company-specific approach. That allows you to design (or adjust) your technical solution to the specific environment. Try avoiding investing too much time in the initial stages.

  2. Flexibility: A quick-and-dirty approach enables you to adapt to newly discovered information more easily. You can add complexity as needed to capture new relations, rather than being locked into a rigid structure “designed” at the beginning.

  3. Collaboration: A simple, high-level structure allows you to involve subject matter experts and stakeholders in the process. They can provide valuable insights and feedback, helping you to create a solution that truly reflects the domain. Hint: don’t ask them to fill out complex forms; instead, have a casual conversation while sipping coffee and taking notes (you will have time to convert the obtained information into a proper structure after the meeting).

I’ve seen several projects that struggled because they tried to define the structure before they understood the domain and company-specific aspects. This can lead to a solution that is overly complex, difficult to maintain, and out of sync with the needs of the organization.

So, how do you get started with codifying domain knowledge? Here are a few tips:

  • Identify the key stakeholders: Determine who the subject matter experts and decision-makers are. Engage them early in the process to ensure their input is incorporated into the solution’s architecture.

  • Capture the essential aspects: Start with basic notes that summarize human experience. Focus on the most critical aspects of the domain and avoid getting bogged down in the details.

  • Iterate and improve: Use a rapid prototyping approach to create a simple structure. As you learn more about the domain and company-specific aspects, refine the solution.

  • Collaborate and communicate: Involve stakeholders in the process. Encourage open communication and encourage everyone to provide their feedback (in the end, they are experts in what they are doing on a daily basis).

By following this quick-and-dirty approach, you can create a solution that accurately reflects the domain and company-specific aspects. This will enable you to build a successful IoT project that delivers the value desired by the customer, not some over-complicated solution no one asked for. Happy codifying!

Support quality content❤️ Donate💰

Sign up for news: (by subscribing you accept the privacy policy)