a test-driven approach a risk-driven approach a task-oriented approach a top-down approach a creative approach a team-based approach a contrastive approach a reflective approach a trust-Based approach a cognitive approach