Skip to main content

Discover Phase: Practical Exercises

Apply GISE discovery methodology through hands-on exercises that simulate real-world project scenarios. These exercises build practical skills in requirements gathering, stakeholder management, and process analysis.

Exercise Overview

Prerequisites

Before starting these exercises, ensure you have:

  • Completed the Course Introduction
  • Basic understanding of software development concepts
  • Access to AI tools (ChatGPT, Claude, or similar)
  • GitHub account for repository management
  • Text editor with Markdown support (VS Code recommended)

Exercise 1: Stakeholder Interview Simulation

Duration: 2-3 hours
Objective: Practice conducting effective stakeholder interviews using AI role-play

Scenario: Digital Library Management System

You're tasked with gathering requirements for a digital library management system for a mid-sized public library. The library wants to modernize their book lending, cataloging, and member management processes.

Step 1: Stakeholder Identification

Create a stakeholder map for the digital library project:

Step 2: AI-Powered Stakeholder Interviews

Use AI to simulate interviews with each stakeholder. Here are prompts for each role:

Sarah Chen - Head Librarian

You are Sarah Chen, Head Librarian at Riverside Public Library. You have 15 years of library science experience and are passionate about serving the community while embracing technology. You're cautiously optimistic about digital transformation but concerned about staff training and system reliability.

Key concerns:
- Staff adaptation to new technology
- Maintaining personal touch in member services
- Budget constraints and ROI justification
- Integration with existing catalog systems
- Data privacy and member confidentiality

Respond to interview questions as Sarah would, including specific examples and concerns from your experience.

Library Staff Member - Mike Rodriguez

You are Mike Rodriguez, a library assistant with 8 years of experience. You handle daily operations including book checkout/return, member registration, and helping patrons find resources. You're somewhat resistant to change, having seen previous technology initiatives fail.

Key concerns:
- Learning new systems while maintaining daily operations
- Job security and changing responsibilities
- Increased workload during transition period
- System reliability during busy periods
- Impact on interaction time with patrons

Respond with practical, day-to-day operational perspective.

Step 3: Conduct Structured Interviews

Use this interview script for each stakeholder:

# Interview Script Template

## Opening (5 minutes)
- Introduction and role explanation
- Project overview and timeline
- Interview structure and duration
- Permission to document responses

## Current State Analysis (15 minutes)
1. Can you walk me through your typical day/workflow?
2. What systems and tools do you currently use?
3. What works well in the current process?
4. What are your biggest pain points or frustrations?
5. How do you measure success in your role?

## Future State Visioning (15 minutes)
6. What would an ideal system look like to you?
7. What specific problems should this system solve?
8. What features are absolutely essential?
9. What features would be nice to have but not critical?
10. How would success be measured for this project?

## Constraints and Context (10 minutes)
11. What budget or resource constraints should we consider?
12. Are there compliance or regulatory requirements?
13. What integration requirements exist with current systems?
14. What timeline expectations do you have?
15. What training or support would you need?

## Closing (5 minutes)
- Summary of key points discussed
- Next steps and follow-up plans
- Additional stakeholders to interview
- Contact information for follow-up questions

Step 4: Document Interview Findings

Create a comprehensive interview summary for each stakeholder:

# Stakeholder Interview Summary

## Interviewee Information
- **Name**: Sarah Chen
- **Role**: Head Librarian
- **Date**: [Interview Date]
- **Duration**: 50 minutes
- **Interviewer**: [Your Name]

## Key Findings

### Current State
- Uses integrated library system (ILS) from 2015
- Manual processes for member registration and renewals
- Paper-based fine collection and incident reporting
- Limited digital catalog search capabilities
- Staff training on current system took 6 months initially

### Pain Points
1. **System Performance**: Current ILS is slow during peak hours
2. **Reporting Limitations**: Difficulty generating custom reports
3. **Member Experience**: Limited self-service options
4. **Staff Efficiency**: Too many manual data entry tasks
5. **Integration Issues**: Poor integration with digital resources

### Requirements Identified
- **Must Have**: Reliable checkout/return system, member management, catalog search
- **Should Have**: Self-service kiosks, mobile app, automated fine calculation
- **Could Have**: Advanced analytics, social features, recommendation engine
- **Won't Have**: Complex content creation tools, e-book publishing

### Success Criteria
- 50% reduction in transaction time
- 90% staff satisfaction with new system
- 25% increase in member engagement
- 99.5% system uptime during operating hours

### Constraints
- Budget: $75,000 maximum
- Timeline: Must be operational before summer reading program
- Integration: Must work with existing catalog database
- Training: Maximum 40 hours of training per staff member

Exercise 1 Deliverables

  1. Stakeholder Map - Visual representation of all project stakeholders
  2. Interview Summaries - Detailed notes from each stakeholder interview
  3. Requirements Matrix - Consolidated requirements across all stakeholders
  4. Constraints Document - All project limitations and dependencies

Exercise 2: Requirements Analysis & Documentation

Duration: 3-4 hours
Objective: Transform interview findings into structured requirements documentation

Step 1: Requirements Categorization

Analyze interview findings and categorize requirements:

# Requirements Analysis Framework

## Functional Requirements (What the system must do)

### FR-001: Member Management
- **Description**: System must manage library member registration, renewal, and profile updates
- **Priority**: High
- **Source**: Head Librarian, Library Staff
- **Acceptance Criteria**:
- [ ] New members can be registered in under 3 minutes
- [ ] Existing members can update their information online
- [ ] Staff can view complete member history and status
- [ ] Automated renewal notifications sent 30 days before expiration

### FR-002: Catalog Management
- **Description**: System must maintain searchable catalog of all library materials
- **Priority**: High
- **Source**: All Stakeholders
- **Acceptance Criteria**:
- [ ] Advanced search with multiple filter options
- [ ] Real-time availability status
- [ ] Support for books, audiobooks, DVDs, and digital resources
- [ ] Automated cataloging for new acquisitions

## Non-Functional Requirements (How the system must perform)

### NFR-001: Performance
- **Requirement**: All transactions must complete within 3 seconds
- **Priority**: High
- **Measurement**: 95th percentile response time
- **Rationale**: Maintain efficient service during busy periods

### NFR-002: Availability
- **Requirement**: System must be available 99.5% during operating hours
- **Priority**: High
- **Measurement**: Monthly uptime monitoring
- **Rationale**: Library operations depend on system reliability

### NFR-003: Usability
- **Requirement**: New staff must be productive within 2 hours of training
- **Priority**: Medium
- **Measurement**: Task completion time during user testing
- **Rationale**: Limited time for staff training

Step 2: AI-Assisted Requirements Refinement

Use AI to help refine and validate requirements:

I'm working on requirements for a digital library management system. Please analyze these raw requirements and help me:

1. Identify any missing or unclear requirements
2. Suggest improvements for clarity and testability
3. Flag potential conflicts or inconsistencies
4. Recommend additional non-functional requirements

Raw Requirements:
[Paste your initial requirements list]

Please provide specific suggestions with rationale for each recommendation.

Step 3: Requirements Traceability Matrix

Create a traceability matrix linking requirements to stakeholder needs:

# Requirements Traceability Matrix

| Requirement ID | Description | Stakeholder Source | Business Objective | Priority | Status |
|---------------|-------------|-------------------|-------------------|----------|---------|
| FR-001 | Member Management | Head Librarian, Staff | Improve operational efficiency | High | Draft |
| FR-002 | Catalog Search | All Stakeholders | Enhance user experience | High | Draft |
| FR-003 | Self-Service Checkout | Patrons, Staff | Reduce wait times | Medium | Draft |
| NFR-001 | Response Time < 3s | Head Librarian | Maintain service quality | High | Draft |
| NFR-002 | 99.5% Uptime | All Stakeholders | Ensure service reliability | High | Draft |

Step 4: Requirements Validation Workshop

Design a validation session with stakeholders:

# Requirements Validation Workshop Plan

## Workshop Objectives
- Validate completeness and accuracy of requirements
- Resolve conflicts and prioritization disputes
- Gain stakeholder consensus on scope and timeline
- Identify any missing requirements or considerations

## Agenda (2 hours)
1. **Opening** (10 min) - Objectives and process overview
2. **Requirements Review** (60 min) - Walk through each requirement category
3. **Prioritization Exercise** (30 min) - MoSCoW prioritization activity
4. **Gap Analysis** (15 min) - Identify missing requirements
5. **Next Steps** (5 min) - Timeline and approval process

## Validation Checklist
- [ ] All functional requirements have clear acceptance criteria
- [ ] Non-functional requirements are measurable
- [ ] Requirements are prioritized using MoSCoW method
- [ ] Conflicts between requirements are resolved
- [ ] Budget and timeline constraints are realistic
- [ ] Integration requirements are clearly defined
- [ ] All stakeholders agree on final requirements

Exercise 3: User Story Development

Duration: 2-3 hours
Objective: Transform requirements into actionable user stories with acceptance criteria

Step 1: User Persona Development

Create detailed personas based on stakeholder interviews:

# User Personas for Digital Library System

## Primary Persona: Linda Thompson - Regular Patron
**Demographics**: 45 years old, marketing professional, visits library 2-3 times per week
**Goals**: Find books for personal reading and research, discover new authors
**Frustrations**: Long checkout lines, difficulty finding available books, limited hours for returns
**Technology Comfort**: Moderate - uses smartphone and laptop daily, comfortable with apps
**Quote**: "I love coming to the library, but I wish I could spend more time browsing and less time waiting in line."

## Secondary Persona: David Kim - Library Assistant
**Demographics**: 28 years old, part-time employee, pursuing library science degree
**Goals**: Provide excellent customer service, efficiently manage daily operations
**Frustrations**: Slow computer system, repetitive manual tasks, difficulty generating reports
**Technology Comfort**: High - tech-savvy, quick to learn new systems
**Quote**: "I want to help people find what they need, not spend all my time fighting with the computer system."

## Tertiary Persona: Margaret Foster - Senior Patron
**Demographics**: 72 years old, retired teacher, visits library weekly for social activities
**Goals**: Access large print books, attend library events, use computer resources
**Frustrations**: Intimidated by technology, needs assistance with self-service options
**Technology Comfort**: Low - prefers personal assistance, resistant to complex interfaces
**Quote**: "I've been coming here for 20 years. I hope the new system won't be too complicated."

Step 2: Epic Definition

Group related functionality into epics:

# Epic Structure for Digital Library System

## Epic 1: Member Experience
User stories related to patron registration, profile management, and self-service capabilities.

## Epic 2: Resource Discovery
User stories covering catalog search, browsing, recommendations, and availability checking.

## Epic 3: Transaction Management
User stories for checkout, return, renewal, and fine management processes.

## Epic 4: Staff Operations
User stories for staff workflows, member assistance, and administrative tasks.

## Epic 5: System Administration
User stories for system configuration, reporting, and maintenance activities.

Step 3: User Story Writing Workshop

Create detailed user stories for each epic:

# Epic 1: Member Experience

## User Story: Member Registration
**As a** new library visitor
**I want** to register for a library card quickly and easily
**So that** I can start borrowing materials without delay

**Priority**: High
**Story Points**: 5
**Dependencies**: None

### Acceptance Criteria
- [ ] **Given** I am a new visitor to the library
**When** I approach the registration desk or kiosk
**Then** I can complete registration in under 5 minutes

- [ ] **Given** I am completing the registration form
**When** I provide required information (name, address, phone, email)
**Then** the system validates my information and creates my account

- [ ] **Given** I have completed registration
**When** my account is created
**Then** I receive a membership card and welcome email with account details

- [ ] **Given** I am under 18 years old
**When** I register for an account
**Then** the system requires parent/guardian signature and contact information

### Definition of Done
- [ ] Registration form designed and implemented
- [ ] Data validation rules implemented
- [ ] Card printing integration working
- [ ] Email notification system configured
- [ ] Minor registration workflow implemented
- [ ] User acceptance testing completed
- [ ] Staff training materials created

---

## User Story: Self-Service Checkout
**As a** library patron
**I want** to check out books myself using a self-service kiosk
**So that** I can avoid waiting in line during busy periods

**Priority**: Medium
**Story Points**: 8
**Dependencies**: Member Management system (FR-001)

### Acceptance Criteria
- [ ] **Given** I have items to check out
**When** I approach a self-service kiosk
**Then** I can scan my library card to begin the process

- [ ] **Given** I am logged into the kiosk
**When** I scan each item's barcode
**Then** the system adds it to my checkout list and confirms availability

- [ ] **Given** I have scanned all my items
**When** I complete the checkout process
**Then** the system updates my account and prints a receipt with due dates

- [ ] **Given** an item cannot be checked out (holds, damage, etc.)
**When** I try to scan it
**Then** the system displays a clear error message and suggests next steps

### Definition of Done
- [ ] Kiosk interface designed and user tested
- [ ] Barcode scanning functionality implemented
- [ ] Integration with circulation system working
- [ ] Receipt printing capability added
- [ ] Error handling and user guidance implemented
- [ ] Staff override procedures defined
- [ ] Accessibility compliance verified

Step 4: Story Mapping Exercise

Create a visual story map to organize stories by user journey:


Exercise 4: Process Mapping Workshop

Duration: 3-4 hours
Objective: Document current and future state processes using Mermaid diagrams

Step 1: Current State Process Documentation

Map the existing book checkout process:

Step 2: Process Analysis

Analyze the current process for inefficiencies:

# Current State Process Analysis

## Process Metrics
- **Average Transaction Time**: 4-7 minutes per patron
- **Peak Wait Time**: Up to 15 minutes during busy periods
- **Staff Utilization**: 60% transaction processing, 40% problem resolution
- **Error Rate**: 5% of transactions require correction or follow-up

## Identified Pain Points

### 1. Queue Management
- **Issue**: Single queue for all transactions
- **Impact**: Wait times increase exponentially during busy periods
- **Root Cause**: No differentiation between simple and complex transactions

### 2. Manual Processes
- **Issue**: All item scanning done manually by staff
- **Impact**: Slow transaction processing, staff fatigue
- **Root Cause**: No self-service options available

### 3. Account Issues
- **Issue**: Account problems discovered during transaction
- **Impact**: Delays affect entire queue
- **Root Cause**: No proactive account status checking

### 4. System Performance
- **Issue**: Computer system slow during peak hours
- **Impact**: Extended transaction times
- **Root Cause**: Aging hardware and software systems

## Improvement Opportunities

### Automation Potential
- Self-service checkout kiosks (75% time reduction for simple transactions)
- Automated account status alerts (prevent checkout delays)
- Real-time inventory updates (eliminate "unavailable" surprises)

### Process Optimization
- Express lane for simple transactions
- Mobile app for account management
- Proactive fine payment reminders

Step 3: Future State Process Design

Create an optimized process incorporating new system capabilities:

Step 4: Process Impact Analysis

Compare current vs. future state:

# Process Improvement Impact Analysis

## Quantitative Benefits

### Time Savings
- **Simple Transactions**: 4-7 minutes → 1-2 minutes (70% reduction)
- **Queue Wait Time**: Up to 15 minutes → 2-5 minutes (75% reduction)
- **Staff Processing Time**: 4 minutes/transaction → 1 minute/transaction (assisted only)

### Efficiency Gains
- **Transaction Capacity**: 15 transactions/hour → 45 transactions/hour (200% increase)
- **Self-Service Rate**: 0% → 75% of transactions (estimated)
- **Staff Availability**: 60% → 25% time on routine transactions

### Error Reduction
- **Account Issues**: 5% discovery rate → 0.5% (proactive checking)
- **Item Availability**: Surprise unavailability eliminated
- **Manual Entry Errors**: Reduced by 90% through automation

## Qualitative Benefits

### Patron Experience
- Reduced wait times during peak hours
- 24/7 account access through mobile app
- Greater control over library interaction
- Multiple service options (self-service vs. assisted)

### Staff Experience
- More time for patron assistance and complex issues
- Reduced repetitive tasks
- Better work-life balance during busy periods
- Opportunity to develop higher-value skills

### Library Operations
- Better capacity management and planning
- Improved patron satisfaction scores
- Reduced operational costs per transaction
- Enhanced data collection for decision making

Exercise 5: Git Workflow Implementation

Duration: 2-3 hours
Objective: Set up a complete GISE Git workflow for the library project

Step 1: Repository Setup

Create a GitHub repository with GISE structure:

# Initialize the Digital Library Management System repository
git clone https://github.com/[username]/digital-library-management.git
cd digital-library-management

# Create GISE directory structure
mkdir -p docs/{discover,design,develop,deploy}
mkdir -p src/{api,web,shared,scripts}
mkdir -p infrastructure/{docker,kubernetes}
mkdir -p tests/{unit,integration,e2e}
mkdir -p tools/{templates,scripts}

# Create initial documentation files
echo "# Digital Library Management System" > README.md
echo "# Discovery Phase Documentation" > docs/discover/README.md
echo "# Design Phase Documentation" > docs/design/README.md
echo "# Development Phase Documentation" > docs/develop/README.md
echo "# Deployment Phase Documentation" > docs/deploy/README.md

# Add and commit initial structure
git add .
git commit -m "feat: initialize GISE repository structure"
git push origin main

Step 2: Discovery Documentation Workflow

Create a discovery branch and add all exercise deliverables:

# Create discovery branch
git checkout -b discover/requirements-analysis

Add your exercise deliverables to the repository:

# docs/discover/stakeholder-interviews.md
# Stakeholder Interview Documentation

This document contains detailed interview findings from all key stakeholders for the Digital Library Management System project.

## Interview Summary

### Completed Interviews
- [x] Sarah Chen - Head Librarian (2024-01-15)
- [x] Mike Rodriguez - Library Assistant (2024-01-16)
- [x] Linda Thompson - Regular Patron (2024-01-17)
- [x] Margaret Foster - Senior Patron (2024-01-17)
- [ ] IT Support Contractor (Scheduled 2024-01-20)

[Include detailed interview summaries from Exercise 1]
# docs/discover/requirements.md
# Digital Library Management System - Requirements Document

## Project Overview
**Project Name**: Digital Library Management System
**Client**: Riverside Public Library
**Project Manager**: [Your Name]
**Date**: [Current Date]

## Executive Summary
This document outlines the functional and non-functional requirements for modernizing Riverside Public Library's management system based on comprehensive stakeholder analysis.

[Include requirements analysis from Exercise 2]
# docs/discover/user-stories.md
# User Stories for Digital Library Management System

## Epic Overview
This document contains all user stories organized by epic, with detailed acceptance criteria and definition of done for each story.

[Include user stories from Exercise 3]
# docs/discover/process-analysis.md
# Business Process Analysis

## Current State Analysis
This section documents the existing library operations processes, identifying pain points and improvement opportunities.

[Include process analysis from Exercise 4]

Step 3: Git Workflow Documentation

Create workflow documentation:

# Create .github directory and templates
mkdir -p .github/workflows
mkdir -p .github/ISSUE_TEMPLATE

Add issue templates:

# .github/ISSUE_TEMPLATE/user-story.yml
name: User Story
description: Create a new user story for development
title: "[USER STORY] "
labels: ["user-story", "discover"]
body:
- type: markdown
attributes:
value: |
## User Story Template
Use this template to create well-structured user stories during the discover phase.

- type: textarea
id: story
attributes:
label: User Story
description: Write the user story in the format "As a [user], I want [goal] so that [benefit]"
placeholder: "As a library patron, I want to search the catalog online so that I can find books before visiting the library."
validations:
required: true

- type: textarea
id: acceptance-criteria
attributes:
label: Acceptance Criteria
description: List specific, testable criteria that define when this story is complete
placeholder: |
- [ ] Given... When... Then...
- [ ] Given... When... Then...
validations:
required: true

- type: dropdown
id: priority
attributes:
label: Priority
options:
- High
- Medium
- Low
validations:
required: true

Step 4: Commit and Push Discovery Work

Document all changes with proper commit messages:

# Add all discovery documentation
git add docs/discover/

# Commit with GISE semantic commit format
git commit -m "docs(discover): add comprehensive stakeholder analysis

- Complete stakeholder interview summaries
- Detailed requirements documentation with traceability
- User stories organized by epic with acceptance criteria
- Current and future state process analysis
- Quantified improvement opportunities and success metrics"

# Push discovery branch
git push origin discover/requirements-analysis

# Create pull request (via GitHub interface)
# Title: "Discovery Phase Complete - Library Management System Requirements"
# Description: Include summary of findings and next steps

Step 5: Quality Review Process

Set up a review checklist for discovery phase completion:

# .github/pull_request_template.md
## Discovery Phase Completion Checklist

### Documentation Quality
- [ ] All stakeholder interviews documented with findings
- [ ] Requirements are specific, testable, and prioritized
- [ ] User stories follow proper format with acceptance criteria
- [ ] Process analysis includes current and future state diagrams
- [ ] All documents use consistent formatting and terminology

### Completeness Check
- [ ] All identified stakeholders have been interviewed
- [ ] Functional and non-functional requirements are documented
- [ ] Requirements are traced back to stakeholder needs
- [ ] Success metrics and acceptance criteria are defined
- [ ] Constraints and assumptions are clearly stated

### Review Process
- [ ] Documentation has been spell-checked and grammar-checked
- [ ] All Mermaid diagrams render correctly
- [ ] Internal links between documents work properly
- [ ] Content is accessible and understandable by development team
- [ ] Stakeholders have reviewed and approved the content

### Next Steps
- [ ] Handoff package prepared for design phase
- [ ] Git repository structure supports remaining phases
- [ ] Team has access to all documentation and artifacts

Exercise Completion Assessment

Self-Assessment Rubric

Rate your completion of each exercise:

ExerciseExcellent (4)Good (3)Satisfactory (2)Needs Improvement (1)
Stakeholder InterviewsComprehensive interviews with detailed findingsGood interviews with adequate detailBasic interviews conductedSuperficial or incomplete interviews
Requirements AnalysisWell-structured, traceable requirementsMostly complete requirementsBasic requirements documentedUnclear or missing requirements
User StoriesProfessional format with clear acceptance criteriaGood stories with adequate criteriaBasic stories presentPoor format or unclear criteria
Process MappingDetailed current/future state with analysisGood process documentationBasic process flowsUnclear or incomplete processes
Git WorkflowComplete GISE workflow implementedMost workflow elements presentBasic Git usageInconsistent or missing workflow

Peer Review Activity

Exchange your work with a colleague for peer review:

# Peer Review Checklist

## Reviewer Information
- **Reviewer**: [Name]
- **Review Date**: [Date]
- **Project Reviewed**: Digital Library Management System

## Content Review
- [ ] **Clarity**: Documentation is clear and easy to understand
- [ ] **Completeness**: All required elements are present
- [ ] **Consistency**: Terminology and format are consistent throughout
- [ ] **Traceability**: Requirements link back to stakeholder needs
- [ ] **Quality**: Professional presentation suitable for client review

## Specific Feedback
### Strengths
- [What was done particularly well?]

### Areas for Improvement
- [What could be enhanced or clarified?]

### Questions or Concerns
- [Any unclear or confusing elements?]

## Overall Assessment
- [ ] Ready for design phase handoff
- [ ] Minor revisions needed
- [ ] Major revisions required

Next Steps

After completing all five exercises:

  1. Portfolio Creation - Compile all deliverables into a professional portfolio
  2. Stakeholder Presentation - Practice presenting findings to simulated stakeholders
  3. Design Phase Preparation - Review design phase requirements and prepare for handoff
  4. Team Collaboration - Share learnings with colleagues and gather feedback
  5. Continuous Improvement - Reflect on the process and identify areas for improvement

Congratulations! You've completed comprehensive hands-on practice with GISE discovery methodology. These skills will serve as the foundation for all subsequent phases of software development projects.