Skip to content

Human-Centered Design with Agile AI - GitHub Copilot Guide

Overview

This guide provides optimized instructions for using Human-Centered Design principles with an Agile approach when working with GitHub Copilot and Microsoft's AI tools.

Best Practices for GitHub Copilot

Understanding Copilot's Strengths

GitHub Copilot excels at:

  • Code generation and completion within your IDE
  • Understanding codebase context
  • Implementing design patterns and best practices
  • Rapid prototyping of functionality
  • Test generation
  • Documentation creation

HCD Integration Points

GitHub Copilot works differently from conversational AI models - it's embedded in your development workflow. Here's how to leverage it for HCD-Agile work:

1. Discovery Phase

Research Tools Development:

python
# Generate a user survey data analyzer
# Requirements:
# - Parse CSV survey responses
# - Identify sentiment in open-ended questions
# - Generate summary statistics
# - Export insights to JSON

class SurveyAnalyzer:
    # Copilot will suggest implementation based on your requirements

Interview Analysis Scripts:

javascript
// Create a tool to analyze user interview transcripts
// Features needed:
// - Extract key themes from text
// - Identify recurring pain points
// - Categorize user needs
// - Generate summary report

class InterviewAnalyzer {
    // Copilot suggests code based on context
}

2. Define Phase

User Persona Generator:

python
# Create user persona objects from research data
# Input: User research summary, demographics, behaviors
# Output: Structured persona with goals, pain points, quote

def create_persona(research_data):
    """
    Generate a comprehensive user persona based on research insights.
    Include demographics, goals, frustrations, behaviors, and a characteristic quote.
    """
    # Copilot will help implement based on your docstring

Journey Mapping Tool:

typescript
// Build a user journey mapping utility
// Map user steps, touchpoints, emotions, and pain points
// Export to visualization format

interface JourneyStage {
    // Copilot suggests structure
}

3. Ideate Phase

Solution Brainstorming Assistant:

Use Copilot Chat for ideation:

text
/explain How could I structure a feature that addresses [user need]?
text
In the context of [problem], suggest implementation approaches that:
- Address the core user need
- Can be prototyped in one sprint
- Follow best practices for [technology]

4. Prototype Phase

Rapid Feature Implementation:

jsx
// Create a React component for [user story]
// User need: [description]
// Acceptance criteria:
// - [criterion 1]
// - [criterion 2]
// - Accessible and responsive
// - Follows our design system

const UserFeatureComponent = () => {
    // Copilot generates implementation
}

Test-Driven Development:

python
def test_user_can_complete_primary_task():
    """
    Test that validates user story: "As a [user type], I want to [action]
    so that [benefit]"
    
    Test should verify:
    - User can access the feature
    - Primary workflow completes successfully
    - Error cases are handled gracefully
    """
    # Copilot suggests test implementation

5. Test Phase

Testing Utilities:

javascript
// Generate user testing session logger
// Track:
// - User actions and timestamps
// - Task completion times
// - Error encounters
// - User comments and observations

class UserTestingLogger {
    // Copilot assists with implementation
}

Analytics Integration:

typescript
// Add user behavior tracking for prototype testing
// Events to track:
// - Feature usage
// - Task completion
// - Abandonment points
// - Time on task

interface AnalyticsEvent {
    // Let Copilot suggest the structure
}

Copilot Chat for HCD Workflows

Ask About User Impact:

text
@workspace How does the current implementation of [feature] align with 
the user needs documented in [research-file.md]?

Request User-Centric Improvements:

text
Suggest improvements to this component that would:
- Reduce cognitive load for users
- Improve accessibility (WCAG 2.1 AA)
- Simplify the user flow
- Add helpful feedback for user actions

Generate User Stories:

text
Based on this feature implementation, generate user stories in the format:
"As a [user type], I want to [action], so that [benefit]"

Consider different user scenarios and edge cases.

Sprint Integration

Story Breakdown

python
// User Story: [description]
// Break this down into:
// 1. Technical tasks
// 2. Testing tasks
// 3. Documentation tasks
// Estimate: [story points]

// Task 1: [description]
function implementTask1() {
    // Copilot suggests implementation
}

Sprint Planning Comments

python
"""
Sprint Goal: [description]
User Value: [how this serves users]
HCD Phase: [Discovery/Define/Ideate/Prototype/Test]

Acceptance Criteria:
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] User tested with [n] participants
- [ ] Feedback incorporated
"""

Copilot for Documentation

ReadMe Generation:

markdown
<!-- Generate comprehensive ReadMe for this HCD-AI tool
Include:
- Purpose and user benefits
- How it addresses user needs
- Setup instructions
- Usage examples
- User research insights that informed design
- Contributing guidelines
-->

# [Project Name]

[Copilot will generate based on your codebase]

User Documentation:

markdown
<!-- Create user guide for [feature]
Target audience: [user persona]
Focus on:
- Clear, jargon-free language
- Step-by-step instructions
- Screenshots/examples
- Troubleshooting common issues
- Where to get help
-->

Accessibility with Copilot

jsx
// Create accessible form component
// Requirements:
// - ARIA labels for screen readers
// - Keyboard navigation support
// - Clear error messages
// - High contrast for visual clarity
// - Responsive design

const AccessibleForm = () => {
    // Copilot generates accessible implementation
}

GitHub Copilot Workspace

For larger HCD initiatives:

Workspace Instructions:

Add .github/copilot-instructions.md:

markdown
# HCD-Agile Development Guidelines

When generating code for this project:

1. **User-Centered**: Always consider the end user's needs and experience
2. **Accessibility**: Follow WCAG 2.1 AA standards
3. **Documentation**: Include clear comments explaining user value
4. **Testing**: Generate tests that validate user workflows
5. **Iterative**: Keep implementations simple and improvable

User Personas:
- [Persona 1]: [brief description]
- [Persona 2]: [brief description]

Key User Needs:
- [Need 1]
- [Need 2]

Always reference user research findings when making design decisions.

Tips for Optimal Results

  1. Clear Comments: Write detailed comments explaining user needs and context
  2. User Stories in Code: Include user story context in functions/components
  3. Examples: Provide examples of desired output in comments
  4. Naming: Use clear, user-centric naming (e.g., helpUserComplete vs process)
  5. Documentation: Let Copilot help maintain up-to-date documentation
  6. Tests: Generate tests that validate user workflows, not just code correctness

Integrating with Other Microsoft Tools

Azure AI Services

python
# Integrate Azure Cognitive Services for user research
# Use Text Analytics to process interview transcripts
# Extract key phrases, sentiment, and entities

from azure.ai.textanalytics import TextAnalyticsClient

def analyze_user_feedback(feedback_text):
    # Copilot suggests Azure integration

Microsoft 365 Integration

typescript
// Connect to Microsoft Graph API
// Sync user research data from SharePoint
// Collaborate on findings in Teams

interface GraphAPIConfig {
    // Copilot suggests Microsoft Graph integration
}

Copilot CLI

For Agile ceremonies:

bash
# Generate sprint planning artifacts
gh copilot suggest "Create a sprint planning template with sections for:
- Sprint goal
- User stories with acceptance criteria
- HCD activities for this sprint
- Definition of done including user validation"

# Generate retrospective prompts
gh copilot suggest "Create retrospective questions focused on:
- How well we understood and served user needs
- Effectiveness of our HCD practices
- Team collaboration on user research
- Improvements for next sprint"

Common Pitfalls

  • Code-First Thinking: Remember Copilot helps implement, but HCD guides what to build
  • Over-Automation: Some HCD activities (user interviews, testing) need human facilitation
  • Ignoring Context: Provide user research context in comments for better suggestions
  • Skipping Validation: Generated code still needs user testing and validation

Best Practice Example

typescript
/**
 * User Story: As a researcher, I want to quickly tag interview insights
 * so that I can identify patterns across multiple interviews.
 * 
 * User Need: Researchers spend too much time manually organizing notes,
 * leaving less time for analysis and synthesis.
 * 
 * Research Insight: Users prefer keyboard shortcuts and visual feedback
 * for quick tagging workflows (from usability test, March 2026)
 * 
 * Acceptance Criteria:
 * - Tag an insight with 2 keystrokes or less
 * - Visual confirmation of tag applied
 * - Tags are searchable and filterable
 * - Works with keyboard only (accessibility requirement)
 */
const InsightTagger: React.FC = () => {
    // Copilot will now generate code informed by this HCD context
    
    // Implementation follows...
}

Resources

Released under the MIT License.