Skip to content

Latest commit

 

History

History
660 lines (488 loc) · 19.2 KB

File metadata and controls

660 lines (488 loc) · 19.2 KB

📅 Gantt Charts - Complete Guide

This document provides comprehensive information about Gantt Charts, their application in project management, and how to use and interpret them in the TTT Tracker application.


Table of Contents

  1. What is a Gantt Chart?
  2. History of Gantt Charts
  3. Key Components of a Gantt Chart
  4. Applications in Project Management
  5. How to Use Gantt Charts in TTT Tracker
  6. Understanding the Gantt Visualization
  7. Step-by-Step Guide
  8. Interpreting Gantt Charts
  9. Advanced Features
  10. Best Practices
  11. Technical Implementation

What is a Gantt Chart?

A Gantt Chart is a horizontal bar chart used in project management to illustrate a project's schedule. It shows:

  • Task start and end times
  • Task duration
  • Task dependencies (in advanced versions)
  • Resource assignments
  • Project progress

In the TTT Tracker application:

  • Purpose: Visualize when each task was performed
  • Display: Tasks on Y-axis, timeline on X-axis
  • Color: Different resources get different colors
  • Data Source: Start time and end time of completed tasks

History of Gantt Charts

The Origin

Year Milestone
1896 Karol Adamiecki created a "harmonogram" in Poland
1910s Henry Gantt developed similar charts in the US
1915 Gantt published his seminal work "Work, Wages, and Profits"

Henry Gantt (1861-1919)

  • American mechanical engineer and management consultant
  • Pioneer of scientific management
  • Developed the Gantt chart for scheduling complex projects
  • His charts were used in major US projects including:
    • Hoover Dam construction
    • Interstate Highway System

Evolution

  1. 1910s-1940s: Manual paper-based charts
  2. 1950s-1980s: Matrix and timeline printing
  3. 1990s: Early software implementations (Microsoft Project)
  4. 2000s-Present: Interactive, web-based Gantt charts

Key Components of a Gantt Chart

Basic Elements

┌────────────────────────────────────────────────────────────────┐
│                      GANTT CHART STRUCTURE                      │
├────────────────────────────────────────────────────────────────┤
│                                                                │
│  Y-AXIS (Tasks)        X-AXIS (Timeline)                      │
│  ─────────────        ──────────────────                      │
│                                                                │
│  Task 1            ████████████                               │
│  Task 2        ████████████████                               │
│  Task 3    ████████                                           │
│  Task 4                            ██████████████              │
│  Task 5                        ████████████                   │
│                                                                │
│              Jan    Feb    Mar    Apr    May    Jun           │
│                                                                │
└────────────────────────────────────────────────────────────────┘

Components Explained

Component Description In TTT Tracker
Task List Vertical list of tasks Task names with IDs
Time Axis Horizontal timeline Dates and times
Bars Task duration Start to end time
Colors Resource assignment Assigned person
Milestones Key dates Not implemented
Dependencies Task relationships Not implemented

Applications in Project Management

Gantt charts are essential tools in various industries:

1. Construction & Engineering

  • Track building phases
  • Coordinate subcontractors
  • Monitor milestones
  • Manage resources

2. Manufacturing

  • Plan production schedules
  • Coordinate assembly lines
  • Manage maintenance windows
  • Track lead times

3. Software Development

  • Sprint planning
  • Feature timelines
  • Release schedules
  • Resource allocation

4. Research & Development

  • Project phases
  • Experiment schedules
  • Milestone tracking
  • Deliverable management

5. Event Planning

  • Vendor coordination
  • Timeline management
  • Resource scheduling
  • Progress tracking

How to Use Gantt Charts in TTT Tracker

Prerequisites

  1. Complete some tasks: Tasks must have start_time and end_time
  2. Navigate to Gantt screen: Click the "Gantt" tab
  3. Click "Generate Gantt": The application will visualize task timelines

How Data is Used

Task Record:
┌─────────────────────────────────────────────────────────────┐
│ id: 1                                                       │
│ task_name: "Database Optimization"                         │
│ assigned_to: "Alice"                                       │
│ start_time: "2024-01-15T09:00:00"  ← Used for X-axis start│
│ end_time: "2024-01-15T11:30:00"    ← Used for X-axis end  │
│ status: "Completed"                                        │
└─────────────────────────────────────────────────────────────┘

Step-by-Step Process

1. Create Task
   ├── Add task in Task Screen
   ├── Assign to team member
   
2. Start Task
   ├── Click "Start" button
   └── start_time recorded
   
3. Work on Task
   ├── Perform task activities
   └── Time is actively tracked
   
4. Stop Task
   ├── Click "Stop" button
   └── end_time recorded
   
5. Generate Gantt
   ├── Navigate to Gantt tab
   ├── Click "Generate Gantt"
   └── View timeline visualization

Understanding the Gantt Visualization

Chart Structure in TTT Tracker

┌──────────────────────────────────────────────────────────────────────────┐
│                        GANTT — Task Timeline                             │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  [1] Fix critical bug     │████████████████████████████████│             │
│  [2] Code review         │████████████████████│                         │
│  [3] Write unit tests    │████████████████████████████│                 │
│  [4] Database optim...   │████████████████████████████████████│       │
│  [5] Update document...  │███████████████│                                 │
│  [6] Refactor legacy...  │████████████████████████████████████████│     │
│  [7] Deploy to staging   │████████████████│                                 │
│  [8] Client meeting      │████████████│                                   │
│                                                                          │
│                Jan 10    Jan 12    Jan 14    Jan 16    Jan 18           │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

Legend: Each color represents a different person (Resource)

Reading the Chart

Element Meaning
Y-Axis Task names (with ID numbers)
Bar Start Task start time
Bar End Task end time
Bar Length Task duration
Bar Color Assigned person (resource)
Reversed Y-Axis First task at top

Task Label Format

[Task_ID] Task_Name

Example:
[1] Fix critical bug
[3] Write unit tests

This format helps you cross-reference with the Task Screen.


Step-by-Step Guide

Creating Tasks for Gantt Chart

Step 1: Add a Task

  1. Go to Tasks tab
  2. Click "Add Task"
  3. Fill in details:
    • Task Name: "Design Review"
    • Description: "Review new product design"
    • Assigned To: "Alice"
    • Standard Time: 3600 (1 hour)
  4. Click OK

Step 2: Start the Task

  1. Select the task from the list
  2. Click "Start" button
  3. Status changes to "Running"
  4. Timer begins

Step 3: Complete the Task

  1. Work on the task
  2. Click "Stop" button
  3. Task status changes to "Completed"
  4. Time is recorded

Step 4: Generate Gantt Chart

  1. Navigate to Gantt tab
  2. Click "Generate Gantt"
  3. View the timeline visualization

Managing Multiple Tasks

Task Creation Order:
┌────────────────────────────────────────────────────────────┐
│                                                            │
│  Task 1: Created Jan 10, Completed Jan 12                 │
│  Task 2: Created Jan 11, Completed Jan 13                │
│  Task 3: Created Jan 12, Completed Jan 15                │
│                                                            │
│  Note: Tasks can overlap - Gantt shows parallel work      │
│                                                            │
└────────────────────────────────────────────────────────────┘

Interpreting Gantt Charts

What to Look For

1. Task Duration

  • Long bars: Long-duration tasks
  • Short bars: Quick tasks
  • Compare: Actual vs. standard time

2. Task Overlap

Good:                         Bad:
Task 1: ████████████           Task 1: ████████████
Task 2:   ████████████        Task 2:               ████████████
     (overlapping =              (gap = inefficient
      efficient resource             resource usage)
      usage)

3. Resource Distribution

  • Same color bars: Same person
  • Scattered: Even workload
  • Clustered: Uneven workload

4. Timeline Patterns

  • Sequential: Tasks one after another
  • Parallel: Tasks happening together
  • Critical Path: Longest chain of dependent tasks

Common Patterns

Pattern Description Implication
Even flow Tasks distributed evenly Good resource planning
Bottleneck One resource has many sequential tasks Need more resources
Idle time Gaps in timeline Resource underutilization
Overload Overlapping tasks for one person Potential burnout

Advanced Features

Resource-Based Coloring

In TTT Tracker, tasks are colored by the person they're assigned to:

Color Legend (Example):
┌─────────────────────────────────────────┐
│  Alice  → Blue bars                     │
│  Bob    → Green bars                    │
│  Charlie → Orange bars                 │
└─────────────────────────────────────────┘

This helps identify:

  • Who is working on what
  • Workload distribution
  • Resource conflicts

Timeline Scale

The X-axis automatically adjusts based on task dates:

  • Day view: For short projects
  • Week view: For medium projects
  • Month view: For long projects

Interactive Features (via Plotly)

When the chart opens in browser:

  • Hover: See exact start/end times
  • Zoom: Focus on specific time ranges
  • Pan: Move left/right in timeline
  • Download: Save as PNG/PDF

Best Practices

1. Consistent Time Tracking

Do Don't
Start tasks when beginning Start tasks before work begins
Stop when done Leave tasks running overnight
Record accurately Estimate times manually

2. Clear Task Naming

Good:                          Bad:
"Fix login bug"                "Bug fix"
"Update API documentation"     "Doc update"
"Install new server"           "Server work"

3. Proper Assignment

  • Assign to actual responsible person
  • Update if assignments change
  • Use consistent naming

4. Regular Review

  • Check Gantt weekly
  • Look for inefficiencies
  • Adjust schedules as needed

Technical Implementation

Data Flow

# Simplified from gantt_screen.py

def generate(self):
    # 1. Get all tasks
    tasks = self.db.get_all_tasks()
    
    # 2. Filter tasks with start_time
    rows = []
    for t in tasks:
        if t[4]:  # start_time exists
            # 3. Parse dates
            start = datetime.fromisoformat(t[4])
            end = datetime.fromisoformat(t[5]) if t[5] else datetime.now()
            
            # 4. Create row data
            rows.append({
                "Task": f"[{t[0]}] {t[1]}",      # "Task ID] Task Name"
                "Start": start,
                "Finish": end,
                "Resource": t[3] or ""           # assigned_to
            })
    
    # 5. Create Plotly timeline
    fig = px.timeline(
        rows,
        x_start="Start",
        x_end="Finish",
        y="Task",
        color="Resource"
    )
    
    # 6. Reverse Y-axis (first task at top)
    fig.update_yaxes(autorange="reversed")

Database Query

SELECT 
    id,
    task_name,
    assigned_to,
    start_time,
    end_time
FROM tasks
WHERE start_time IS NOT NULL
ORDER BY start_time;

Plotly Configuration

# Timeline chart
fig = px.timeline(
    df,
    x_start="Start",
    x_end="Finish",
    y="Task",
    color="Resource"
)

# Reverse so first task is at top
fig.update_yaxes(autorange="reversed")

# Additional styling
fig.update_layout(
    title="Gantt — Task Timeline",
    xaxis_title="Date/Time",
    yaxis_title="Task"
)

Limitations

Current Limitations in TTT Tracker

Limitation Description
No dependencies Can't show task relationships
No milestones Can't mark key dates
No editing Can't modify schedule from chart
Basic resources Only color by assignee
Running tasks Shows current time for incomplete

Comparison with Professional Tools

Feature TTT Tracker MS Project
Basic timeline
Task dependencies
Milestones
Resource leveling
Critical path
Cost tracking

Use Cases

Use Case 1: Daily Activity Review

Scenario: Review what was accomplished today

Steps:

  1. Create and complete tasks during the day
  2. Open Gantt chart
  3. See all tasks with their time blocks
  4. Identify time spent per task

Use Case 2: Team Workload Analysis

Scenario: Check if work is balanced

Steps:

  1. Generate Gantt chart
  2. Observe color distribution
  3. Identify overloaded team members
  4. Redistribute tasks

Use Case 3: Project Status Report

Scenario: Show project progress to stakeholders

Steps:

  1. Generate Gantt chart
  2. Take screenshot
  3. Include in status report
  4. Highlight completed vs remaining

Use Case 4: Time Audit

Scenario: Understand where time goes

Steps:

  1. Track all work for a week
  2. Generate Gantt chart
  3. Analyze patterns
  4. Identify time wastage

Troubleshooting

No Tasks Showing

Problem: Gantt chart is empty

Solutions:

  1. Complete some tasks first (need start_time and end_time)
  2. Click "Start" then "Stop" on tasks
  3. Verify tasks have valid timestamps

Incorrect Dates

Problem: Dates look wrong

Solutions:

  1. Check system clock is correct
  2. Verify start_time and end_time are recorded
  3. Database stores times in ISO format

Overlapping Tasks Look Wrong

Problem: Tasks appear in wrong order

Solution: This is normal - overlapping tasks can occur in any order. The chart shows parallel execution.

Missing Task Colors

Problem: All bars are same color

Solution: Assign different people to tasks in Task Screen.


Quick Reference

Key Concepts

Gantt Chart = Horizontal Bar Chart
X-Axis = Time (When)
Y-Axis = Tasks (What)
Bar Length = Duration
Bar Position = Start/End Time
Bar Color = Resource/Person

Reading Tips

  1. Left edge = Task started
  2. Right edge = Task ended
  3. Bar length = How long
  4. Color = Who did it

Navigation

Action How
Generate chart Click "Generate Gantt" button
Refresh Click button again
See details Hover over bars
Zoom Use mouse wheel in browser

Integration with Other Features

Gantt + Pareto

  • Gantt: Shows WHEN tasks happened
  • Pareto: Shows WHICH tasks took longest
  • Together: Complete time analysis

Gantt + OEE

  • Gantt: Shows task execution
  • OEE: Shows equipment performance
  • Together: Correlate tasks with equipment

Gantt + Efficiency

  • Compare Gantt duration with standard time
  • Identify efficiency gaps visually

Conclusion

Gantt Charts are essential for:

  • Visualizing task schedules
  • Understanding project timelines
  • Analyzing resource allocation
  • Identifying bottlenecks
  • Reporting progress to stakeholders

The Gantt feature in TTT Tracker provides a simple yet effective way to visualize your task timelines and understand how time is distributed across your projects.


Related Topics

For more information, see:


This document is part of the TTT Tracker application documentation.