589 lines
14 KiB
Markdown
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)
|