Design Types

Test yourself by answering this questionnaire.


As developers we frequently make design decisions. They can be as general as "How many levels of abstractions do I need?" or "Which framework should I use?" and as concrete as "How to name this method?" and "In which order should these values be supplied?". They center around modularization (how to break a problem down into classes and methods), interface design (how to craft these modules such that they are easily useable) and internal module structure (how to compose the inner workings of classes).

Unfortunately there is no single correct solution for any of these questions. There are many bad solutions but there typically are several "good" ones. Deciding among these good solutions is not an objective task as each of them has different benefits and drawbacks. So the decisions are made in a subjective way which depends on a developer's way of thinking.

The different attitudes may lead to frequent arguments on which way is best. The following questionnaire may help to find out how you make design decisions.

Usage: In each group check exactly five statements. Use those you can identify with most, those statements you could make yourself.

Group X


You have already completed the questionnaire. You are free to fill out the questionnaire as often if you want. But there is a way to do that without distorting the statistics.

Fill in the questionnaire to determine your design type. Check five statements in each group, then hit "continue".