Design Science Research Methodology for rigorous artifact development. Use this skill when: (1) Creating new tools, frameworks, or systems that solve real problems (2) Need structured approach to build-evaluate-iterate cycles (3) Want scientific rigor in development process (4) Evaluating artifacts against clear criteria (5) Documenting research contributions systematically Based on Hevner et al. (2004) and Peffers et al. (2007) - foundational DSR papers.
A scientific methodology for creating and evaluating IT artifacts that solve real problems.
| Activity | Question | Output |
|---|---|---|
| 1. Problem | What problem needs solving? | Problem statement, motivation |
| 2. Objectives | What would a solution look like? | Requirements, success criteria |
| 3. Design | How do we build it? | Artifact architecture |
| 4. Demonstration | Does it work? | Working prototype |
| 5. Evaluation | How well does it work? | Metrics, comparison |
| 6. Communication | Who needs to know? | Documentation, papers |
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 1. │ │ 2. │ │ 3. │ │ 4. │ │ 5. │ │ 6. │
│ Problem │──►│Objectives│──►│ Design & │──►│ Demon- │──►│ Evaluate │──►│Communi- │
│ Identify │ │ │ │ Develop │ │ strate │ │ │ │ cate │
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
│ ▲ │ │
│ │ └──────────────┘
│ │ (iterate)
└─────────────────────────────┘
(refine problem understanding)
Define the research problem and justify the value of a solution.
<problem_identification>
<problem_statement>
[Clear, concise statement of the problem]
</problem_statement>
<importance>
[Why does this matter? Quantify if possible]
</importance>
<stakeholders>
[Who is affected by this problem?]
</stakeholders>
<current_state>
[How is this currently handled? What are the limitations?]
</current_state>
<consequences>
[What happens if we don't solve this?]
</consequences>
</problem_identification>
<problem_identification>
<problem_statement>
Human-AI collaboration lacks personalization, leading to repetitive
context-setting and suboptimal interactions.
</problem_statement>
<importance>
Developers spend 15-30% of AI interaction time re-establishing context.
This reduces productivity and leads to frustration.
</importance>
<stakeholders>
- Developers using AI assistants
- Teams adopting AI-augmented workflows
- Organizations investing in AI tools
</stakeholders>
<current_state>
- Generic system prompts used for all users
- No persistent memory of user preferences
- Context lost between sessions
</current_state>
<consequences>
- Continued inefficiency in human-AI collaboration
- Slower AI adoption due to friction
- Missed potential of personalized AI assistance
</consequences>
</problem_identification>
Infer objectives from the problem definition and knowledge of what is possible.
<objectives>
<ideal_solution>
[Description of what success looks like]
</ideal_solution>
<success_criteria>
<criterion metric="[metric_name]">
[Specific, measurable criterion]
</criterion>
<!-- Add more criteria -->
</success_criteria>
<constraints>
<constraint type="technical">[constraint]</constraint>
<constraint type="resource">[constraint]</constraint>
<constraint type="time">[constraint]</constraint>
</constraints>
<non_goals>
[What are we explicitly NOT trying to achieve?]
</non_goals>
</objectives>
| Type | Description | Example |
|---|---|---|
| Quantitative | Measurable numbers | "Reduce context-setting time by 50%" |
| Qualitative | Observable improvements | "Users report higher satisfaction" |
| Comparative | Better than alternatives | "Outperform baseline approach" |
| Satisficing | Meet minimum threshold | "Achieve 80% accuracy" |
Create the artifact - constructs, models, methods, or instantiations.
| Type | Description | Examples |
|---|---|---|
| Constructs | Vocabulary, concepts | DMMF dimensions, pattern names |
| Models | Abstractions, representations | Architecture diagrams, frameworks |
| Methods | Algorithms, processes | Workflow patterns, evaluation procedures |
| Instantiations | Working systems | Implemented software, prototypes |
<design>
<artifact_type>[construct|model|method|instantiation]</artifact_type>
<architecture>
[High-level design of the artifact]
</architecture>
<components>
<component name="[name]">
<purpose>[what it does]</purpose>
<interface>[how to interact with it]</interface>
</component>
</components>
<design_decisions>
<decision>
<choice>[what was decided]</choice>
<rationale>[why this choice]</rationale>
<alternatives>[what else was considered]</alternatives>
</decision>
</design_decisions>
<theoretical_foundation>
[What theories/prior work inform this design?]
</theoretical_foundation>
</design>
Demonstrate use of the artifact to solve the problem.
| Method | Use Case | Example |
|---|---|---|
| Proof of Concept | Show feasibility | Minimal working implementation |
| Case Study | Real-world application | Apply to actual project |
| Simulation | Controlled testing | Run with synthetic data |
| Experiment | Comparative evaluation | A/B test with alternatives |
<demonstration>
<method>[proof_of_concept|case_study|simulation|experiment]</method>
<context>
[Where/how is the artifact being demonstrated?]
</context>
<scenario>
<input>[what goes in]</input>
<process>[what happens]</process>
<output>[what comes out]</output>
</scenario>
<observations>
[What did we observe during demonstration?]
</observations>
<artifacts_produced>
[What tangible outputs were created?]
</artifacts_produced>
</demonstration>
Observe and measure how well the artifact supports a solution.
| Category | Method | Description |
|---|---|---|
| Observational | Case Study | In-depth analysis of real use |
| Observational | Field Study | Natural environment observation |
| Analytical | Static Analysis | Examine structure/properties |
| Analytical | Architecture Analysis | Evaluate design qualities |
| Experimental | Controlled Experiment | Isolate variables |
| Experimental | Simulation | Model-based testing |
| Testing | Functional Testing | Does it work correctly? |
| Testing | Structural Testing | Code coverage, paths |
| Descriptive | Informed Argument | Logical reasoning |
| Descriptive | Scenarios | Detailed use cases |
<evaluation>
<method>[evaluation method]</method>
<criteria>
<criterion name="[name]" weight="[0-1]">
<definition>[what does this measure?]</definition>
<measurement>[how do we measure it?]</measurement>
<threshold>[what counts as success?]</threshold>
</criterion>
</criteria>
<results>
<result criterion="[name]">
<score>[actual measurement]</score>
<evidence>[supporting data]</evidence>
</result>
</results>
<analysis>
[Interpretation of results]
</analysis>
<limitations>
[What are the limitations of this evaluation?]
</limitations>
<improvements>
[What could be improved based on evaluation?]
</improvements>
</evaluation>
Communicate the problem, artifact, and results to relevant audiences.
| Audience | Focus | Format |
|---|---|---|
| Researchers | Methodology, rigor, contribution | Academic paper |
| Practitioners | How to use, benefits | Documentation, tutorials |
| Management | Business value, ROI | Executive summary |
| Community | Accessibility, adoption | Blog posts, talks |
<communication>
<audience>[target audience]</audience>
<key_messages>
<message priority="1">[most important takeaway]</message>
<message priority="2">[second takeaway]</message>
<message priority="3">[third takeaway]</message>
</key_messages>
<contribution_type>
[artifact|foundation|methodology]
</contribution_type>
<artifacts>
<artifact type="[type]" location="[where]">
[description]
</artifact>
</artifacts>
<reproducibility>
[How can others reproduce/build on this work?]
</reproducibility>
</communication>
Use this to validate your DSR project:
| # | Guideline | Question | Status |
|---|---|---|---|
| 1 | Design as Artifact | Did we create a concrete artifact? | [ ] |
| 2 | Problem Relevance | Does it solve a real problem? | [ ] |
| 3 | Design Evaluation | Did we rigorously evaluate it? | [ ] |
| 4 | Research Contributions | What's new/novel? | [ ] |
| 5 | Research Rigor | Did we apply appropriate methods? | [ ] |
| 6 | Design as Search | Did we explore the solution space? | [ ] |
| 7 | Communication | Did we share with relevant audiences? | [ ] |
You can enter the DSRM process at different points:
| Entry Point | Trigger | Start At |
|---|---|---|
| Problem-Centered | New problem identified | Activity 1 |
| Objective-Centered | Industry/research need | Activity 2 |
| Design-Centered | Existing artifact to extend | Activity 3 |
| Client-Centered | Consulting engagement | Activity 4 |
1 → 2 → 3 → 4 → 5 → 6
Use when: Problem is well-understood, single iteration sufficient.
1 → 2 → 3 → 4 → 5 → (improvements) → 3 → 4 → 5 → 6
Use when: Iterative refinement needed based on evaluation.
1 → 2 → 3 → 4 → (new insights) → 1 → 2 → 3 → 4 → 5 → 6
Use when: Demonstration reveals problem was misunderstood.
1 → 2 → 3 → 4 → 5 → 6 → (feedback) → 1 ...
Use when: Ongoing research program with multiple cycles.
DSR activities can use cognitive workflow patterns:
| DSR Activity | Useful Patterns |
|---|---|
| Problem ID | Parallel - Multiple stakeholder perspectives |
| Objectives | Chain - Problem → Constraints → Criteria |
| Design | Orchestrator - Break down into design tasks |
| Demonstration | Route - Different demo paths per audience |
| Evaluation | Evaluator-Optimizer - Iterative refinement |
| Communication | Parallel - Different audience versions |
Evidence: evidence/patterns/004-design-science-research-methodology.md