A good way to reduce complexity is to directly solve problems in the language of the domain expert using the right abstraction level. This can be done ideally using domain specific languages (also known as DSL's).
Textual DSL's as provided by XText as part of openarchitectureware or later by TCS in Eclipse are excellent choices for scenarios where the domain experts are text centric. A textual DSL allows the domain expert to create and manipulate models just using a simple text editor or with a custom editor in Eclipse if automatic checking and some further support like syntax highlighting are desired.
Showing posts with label complexity. Show all posts
Showing posts with label complexity. Show all posts
Saturday, 3 January 2009
Accidential Complexity
It sounds wrong but actually it seems to be true. Small mistakes in basic things in a system can turn out to be the biggest mistakes. Over time it get harder and harder to correct them ...
Think about insufficiently defined data types (e.g. times without considering time zones) which are then used over and over again. Some people may spot the problem and fix it somewhere but usually not at the root. Changing and correcting such issues becomes more and more difficult over time. The worst is that these things go often wrong as they are considered to be trivial and not worth too much effort.
Avoid such accidential complexity by spending enough time and brain to do the small things right. It saves you a lot of time in the future.
Think about insufficiently defined data types (e.g. times without considering time zones) which are then used over and over again. Some people may spot the problem and fix it somewhere but usually not at the root. Changing and correcting such issues becomes more and more difficult over time. The worst is that these things go often wrong as they are considered to be trivial and not worth too much effort.
Avoid such accidential complexity by spending enough time and brain to do the small things right. It saves you a lot of time in the future.
Subscribe to:
Posts (Atom)