CarneiroTech/Content/Cases/en/industrial-learning-platform.md

589 lines
14 KiB
Markdown

---
title: "Industrial Training Platform - From Wireframes to Complete System"
slug: "industrial-learning-platform"
summary: "Solution Design for microlearning platform in industrial gas company. Identification of critical unmapped requirements (admin, registrations, exports) before client presentation, avoiding rework and ensuring real usability."
client: "Industrial Gas Company"
industry: "Industrial & Manufacturing"
timeline: "4 months"
role: "Solution Architect & Tech Lead"
image: ""
tags:
- Solution Design
- EdTech
- Learning Platform
- Requirements Analysis
- Tech Lead
- User Stories
- .NET
- Product Design
featured: true
order: 5
date: 2024-06-01
seo_title: "Industrial Training Platform - Solution Design"
seo_description: "Case study of Solution Design for microlearning platform, identifying critical requirements before client presentation and leading development to production."
seo_keywords: "solution design, learning platform, microlearning, requirements analysis, tech lead, industrial training"
---
## Overview
Industrial gas company requests platform to train employees using **microlearning** methodology (short and objective content).
**Initial requirement:** "We just want the structure - track, microlearning, test question and score."
**Problem:** Incomplete specification that would result in a system **impossible to use** (no way to register content, no administrators, no export of results).
**Solution:** Critical requirements analysis **before client presentation**, identifying functional gaps and proposing complete solution.
---
## Challenge
### Beautiful Wireframes, Incomplete Functionality
**Initial situation:**
UX created beautiful wireframes showing:
- Learning tracks
- Microlearnings (video/text + image)
- Test questions (multiple choice)
- Score per employee
**Identified problem:**
Nobody (client, UX, commercial) thought about:
**How does content enter the system?**
- Who registers tracks?
- Who creates microlearnings?
- Who writes questions?
- Manual interface or import?
**Who manages the system?**
- Is there admin concept?
- Can HR create admins?
- Can area manager see only their team?
**How does data leave the system?**
- HR needs reports
- Compliance needs evidence
- How to export data?
- Format: Excel? PDF? API?
**Real risk:**
If we developed exactly what was requested:
- System would work technically
- **But would be completely unusable**
- Client would have to pay for rework to include basic CRUD
- Rework + additional cost + frustration
---
## Solution Design Process
### Step 1: Critical Analysis (Before Presentation)
**Action taken:** Called meeting with UX **before** presenting to client.
**Points raised:**
**"How does the first content enter the system?"**
- UX: "Ah... we didn't think about that. Will you populate the database?"
- Me: "And when client wants to add new track? Will we modify production database?"
**"Who is the system owner?"**
- UX: "HR, I imagine."
- Me: "Just one person? What if they leave the company? How do they delegate?"
**"Did HR ask for reports?"**
- UX: "It wasn't mentioned in the briefing."
- Me: "HR always needs reports. It's for compliance (NR, ISO)."
---
### Step 2: Identified Functional Requirements
I proposed 4 additional **essential** modules:
#### 1. Administration System
**Features:**
- Standard user: Only takes training
- Admin user: Manages content + sees reports
- Admin can promote other users to admin
- Access control (general admin vs area admin)
**Why it's critical:**
System is static without this (content never updates).
---
#### 2. Content CRUD
**a) Track Registration:**
- Track name
- Description
- Microlearning order
- Active/inactive track (allows unpublishing)
**b) Microlearning Registration:**
- Title
- Type: Simple text (2 paragraphs) OR Video
- Image upload (if text)
- Video URL (if video)
- Order within track
**c) Question Registration:**
- Question (text)
- 3 answer options:
- "Great" (green)
- "So-so" (yellow)
- "Poor" (red)
- Points per answer (e.g., 10, 5, 0 points)
- Custom feedback per answer
**Why it's critical:**
Client needs to update content without calling dev/DBA.
---
#### 3. Data Export
**Features:**
- Export to Excel (.xlsx)
- Filters:
- By period (start/end date)
- By track
- By employee
- By area/department
- Exported columns:
- Employee name
- ID number
- Completed track
- Total score
- Completion date
- Individual answers (for audit)
**Why it's critical:**
HR needs to evidence training for:
- Regulatory Norms (NR-13, NR-20 - flammable gases)
- ISO audits
- Labor lawsuits
---
#### 4. User Management
**Features:**
- Import employees (CSV/Excel upload)
- Manual registration
- Activate/deactivate users
- Assign mandatory tracks by area
- Pending notifications
**Why it's critical:**
Company has 500+ employees, manual registration is unfeasible.
---
### Step 3: Client Presentation
**Approach:**
1. Showed UX wireframes (beautiful interface)
2. Asked: "How will you register the first track?"
3. Client: "Ah... good question. We hadn't thought about that."
4. Presented the 4 additional modules
5. Client: "Makes total sense! Without this we can't use it."
**Result:**
- Proposal approved **with additional modules**
- Adjusted scope (timeline + budget)
- Zero future rework
- Client recognized added value
---
## Implementation
### My Role in the Project
**1. Solution Architect**
- Identification of non-functional requirements
- Architecture design (modules, integrations)
- Technology definition
**2. Tech Lead**
- Technical team leadership (3 devs)
- Code review
- Code standards definition
- Technical risk management
**3. Technical Product Owner**
- Creation of complete **user stories**
- Backlog prioritization
- Continuous refinement with client
---
### Chosen Tech Stack
**Backend:**
- `.NET 7` - REST APIs
- `Entity Framework Core` - ORM
- `SQL Server` - Database
- `ClosedXML` - Excel generation
**Frontend:**
- `React` - Web interface
- `Material-UI` - Components
- `React Player` - Video player
- `Chart.js` - Progress charts
**Infrastructure:**
- `Azure App Service` - Hosting
- `Azure Blob Storage` - Video/image storage
- `Azure SQL Database` - Managed database
---
### Created User Stories
I wrote **32 user stories** covering all flows. Examples:
**US-01: Register Track (Admin)**
```
As system administrator
I want to register a new training track
So that employees can take the courses
Acceptance criteria:
- Admin accesses "Tracks" menu → "New Track"
- Fills in: Name, Description, Status (Active/Inactive)
- Can add existing microlearnings to track
- Defines microlearning order (drag & drop)
- System validates mandatory fields
- Saves and displays success message
```
**US-15: Complete Microlearning (Employee)**
```
As employee
I want to complete a microlearning from my track
To learn about the topic and earn points
Acceptance criteria:
- Employee accesses assigned track
- Sees list of microlearnings (uncompleted first)
- Clicks microlearning → opens screen with:
- Text (2 paragraphs) + Image OR
- Embedded video player
- "Continue" button appears after:
- 30s (if text)
- End of video (if video)
- Marks microlearning as seen
- Test question appears automatically
```
**US-22: Export Results (Admin)**
```
As administrator
I want to export training results to Excel
To generate compliance and audit reports
Acceptance criteria:
- Admin accesses "Reports" → "Export"
- Selects filters (period, track, area)
- Clicks "Generate Excel"
- System processes and downloads .xlsx file
- Excel contains columns: Name, ID, Track, Points, Date, Answers
- Readable format (bold headers, auto-adjusted columns)
```
---
## Key Features Implemented
### 1. Gamified Scoring System
**Mechanics:**
- Each question worth points (configurable)
- "Great" answer: 10 points
- "So-so" answer: 5 points
- "Poor" answer: 0 points
**Employee dashboard:**
- Total score
- Ranking (optional, configurable)
- Badges for completed tracks
- Visual progress (% bar)
**Why it works:**
Factory floor employees engage more with gamification elements.
---
### 2. Adaptive Microlearning
**Content types:**
**Text + Image:**
- 2 paragraphs (max 300 words)
- 1 illustrative image
- Ideal for: Procedures, norms, concepts
**Video:**
- Short videos (2-5 min)
- Embedded player (YouTube/Vimeo or upload)
- Ideal for: Demonstrations, equipment operations
**Why microlearning?**
- Employees complete during breaks (10-15min)
- Short content = higher retention
- Facilitates updates (vs long courses)
---
### 3. Delegated Administration System
**Hierarchy:**
```
General Admin (HR)
↓ can promote
Area Admin (Managers)
↓ can view only
Employees from their area
```
**Permissions:**
- General admin: Creates tracks, promotes admins, sees all data
- Area admin: Sees only their area reports
- Employee: Only takes training
**Audit:**
- Logs of who created/edited each content
- History of admin promotions
- SOX/ISO compliance
---
### 4. Export for Compliance
**Generated Excel format:**
| ID | Name | Area | Track | Completion Date | Points | Status |
|-----------|------|------|--------|----------------|--------|--------|
| 1001 | John Silva | Production | NR-20 Safety | 11/15/2024 | 95/100 | Approved |
| 1002 | Mary Santos | Logistics | Gas Handling | 11/14/2024 | 78/100 | Approved |
**Additional sheet: Answer Details**
- Allows audit: "Did employee X answer question Y correctly?"
- Evidence for labor lawsuits
- NR-13/NR-20 compliance
---
## Results & Impact
### System in Production
**Current status:** In use for 4+ months
**Adoption metrics:**
- 500+ registered employees
- 12 active tracks
- 150+ created microlearnings
- 8,000+ completed training sessions
- 100+ exported reports (compliance)
**Completion rate:** 87% (industry average: 45%)
---
### Client Impact
**Before:**
- In-person training (high cost, difficult scheduling)
- Paper evidence (losses, difficult audit)
- Difficulty updating content
**After:**
- Asynchronous training (employee completes when possible)
- Digital evidence (facilitated compliance)
- HR updates content without calling IT
- 70% reduction in training cost
**Client feedback:**
> "If we had implemented only what we initially requested, the system would be useless. The pre-analysis saved the project."
---
### Solution Design Value
**ROI of pre-sale analysis:**
**Scenario A (without analysis):**
1. Develop interface only (2 months)
2. Client tests and realizes CRUD is missing (1 month later)
3. Rework to add modules (2+ months)
4. **Total: 5+ months + client frustration**
**Scenario B (with analysis - what we did):**
1. Identify requirements beforehand (1 week)
2. Approve complete scope (1 week)
3. Develop correct solution (4 months)
4. **Total: 4 months + satisfied client**
**Savings:** 1+ month of rework + opportunity cost
---
## Tech Stack
`.NET 7` `C#` `Entity Framework Core` `SQL Server` `React` `Material-UI` `Azure App Service` `Azure Blob Storage` `ClosedXML` `Chart.js` `User Stories` `Solution Design` `Tech Lead`
---
## Key Decisions & Trade-offs
### Why not use ready-made LMS? (Moodle, Canvas)
**Alternatives considered:**
1. Moodle (open-source, free)
2. Totara/Canvas (corporate LMS)
3. **Custom development**
**Justification:**
- Generic LMS: Unnecessary complexity (forums, wikis, etc)
- Client wants **only microlearning** (simplicity)
- LMS license cost > custom dev cost
- Client AD/SSO integration (easier custom)
- UX optimized for factory floor (mobile-first, touch)
---
### Why 3 answer options (vs 4-5)?
**Choice:** Green (Great), Yellow (So-so), Red (Poor)
**Justification:**
- Factory floor employees prefer simplicity
- Universal colors (traffic light)
- Avoids choice paradox (fewer options = more engagement)
- Clearer gamification
---
### Why Excel Export (vs Online Dashboard)?
**Both were implemented**, but Excel is critical for:
**Regulatory compliance:**
- Auditors ask for "digitally signed file"
- NR-13/NR-20 require physical evidence
- Labor lawsuits accept Excel
**Flexibility:**
- HR can do custom analyses in Excel
- Combine with other data sources
- Presentations for board
---
## Lessons Learned
### 1. Solution Design Prevents Rework
**Lesson:** 1 week of critical analysis saves months of rework.
**Application:**
- Always question incomplete specifications
- Think about "the day after" (who manages this in production?)
- Involve client in requirements discussions
---
### 2. UX ≠ Functional Requirements
**Lesson:** Beautiful wireframes don't replace requirements analysis.
**UX focuses on:** How user **uses** the system
**Solution Design focuses on:** How system **works** end-to-end
Both are necessary and complementary.
---
### 3. Asking "How?" is More Important than "What?"
**Client says:** "I want tracks and microlearnings"
**Solution Designer asks:** "How does the first track enter the system?"
This simple question revealed 4 missing modules.
---
### 4. Well-Written User Stories Accelerate Development
**Investment:** 2 weeks writing 32 detailed user stories
**Return:**
- Devs knew exactly what to build
- Zero ambiguity
- Very few bugs (clear requirements)
- Client validated stories before coding
**Lesson:** Time spent planning reduces development time.
---
### 5. Compliance is Hidden Requirement
**In regulated industries** (health, energy, chemical), there will always be:
- Audit needs
- Evidence exports
- Logs of who did what
**Lesson:** Ask about compliance **before**, not after.
---
## Challenges Overcome
| Challenge | Solution | Result |
|---------|---------|-----------|
| Incomplete specification | Pre-sale critical analysis | Correct scope from start |
| Client without technical knowledge | User stories in business language | Client validated requirements |
| Employees with low digital literacy | Simplified UX (3 buttons, colors) | 87% completion rate |
| NR-13/NR-20 compliance | Excel export with details | Approved in 2 audits |
| Managing 500+ users | CSV import + admin hierarchy | Onboarding in 1 week |
---
## Next Steps (Future Roadmap)
**Planned features:**
1. **Push Notifications**
- Remind employee of pending training
- Notify of new mandatory track
2. **Native Mobile App**
- Offline-first (downloaded videos)
- Employees without computer
3. **Digital Certificates**
- Digitally signed PDF
- QR code for validation
4. **Data Intelligence**
- Which microlearnings have most errors?
- Identify knowledge gaps by area
---
**Result:** Functional system in production, satisfied client, zero rework - all because 1 week was invested in **thinking before coding**.
[Need critical requirements analysis? Get in touch](#contact)