This project provides a comprehensive suite of visualization tools for analyzing team skill coverage across different time zones. It generates detailed, interactive charts that illustrate the distribution and availability of team members over a 24-hour period, offering valuable insights into team dynamics and skill distribution.
- Multiple Visualization Options: Includes various chart types for different analytical perspectives.
- Time Zone Visualization: Displays team coverage across multiple time zones for global team coordination.
- Skill-Based Grouping: Groups team members by their skills, providing a clear view of skill distribution.
- Interactive Charts: Offers visually appealing, interactive charts for enhanced understanding of team dynamics.
- Customizable: Easily adaptable YAML configuration to reflect specific team structures and time zones.
- Weighted Scoring: Uses expertise-based weights to calculate more accurate skill coverage.
- Python 3.8+
- pip (Python package installer)
-
Clone the repository:
git clone https://github.com/yourusername/team-skill-coverage-visualization.git
-
Navigate to the project directory:
cd team-skill-coverage-visualization
-
Install the required Python libraries:
pip install -r requirements.txt
Update the team_data.yaml
file with your team's schedule, skills, and expertise weights. The file should be structured as follows:
Frontend Development:
Alex Johnson:
start: "1:30 AM"
end: "10:30 AM"
expertise: "Senior Developer"
...
Backend Development:
...
Weights:
Junior Developer: 1
Mid-level Developer: 2
Senior Developer: 3
Team Lead: 4
The scoring system uses weights to calculate the skill coverage based on team members' expertise levels. Here's how it works:
- Each expertise level is assigned a weight (e.g., Junior: 1, Mid-level: 2, Senior: 3, Team Lead: 4).
- For each hour, the script calculates the total weighted score by summing the weights of all available team members.
- This weighted score represents the skill coverage for that particular hour.
- The resulting charts display these weighted scores, providing a more accurate representation of the team's skill distribution and availability.
To update the expertise weights:
- Open the
team_data.yaml
file. - Locate the
Weights
section at the bottom of the file. - Modify the values associated with each expertise level as needed.
- Save the file.
Example:
Weights:
Junior Developer: 1
Mid-level Developer: 2.5
Senior Developer: 4
Team Lead: 5
After updating the weights, re-run the chart generation scripts to see the updated visualizations reflecting the new scoring.
-
24-Hour Skill Coverage (One Glance)
python "24H Skill Coverage - One Glance.py"
-
24-Hour Skill Coverage with Linear Trend (Plotly)
python "24H Skill Coverage - Included Linear Trend - Plotly.py"
-
24-Hour Skill Coverage with Linear Trend (Seaborn)
python "24H Skill Coverage - Included Linear Trend - Seaborn.py"
-
24-Hour Skill Coverage Separated by Groups
python "24H Skill Coverage - Separated by Groups.py"
Each script will generate and display its respective chart. For Plotly-based charts, an interactive HTML file will be saved in the plots
directory.
- One Glance Chart: Provides a quick overview of all skills and team members in a single view.
- Linear Trend Charts: Show the weighted availability of skills over time, useful for identifying peak hours and potential gaps.
- Separated by Groups Chart: Offers a detailed view of each skill group, making it easier to analyze specific team compositions.
(Add your plot screenshots here with brief descriptions)
Figure 1: 24-Hour Skill Coverage at One Glance
Figure 2: 24-Hour Skill Coverage with Linear Trend (Plotly)
Figure 3: 24-Hour Skill Coverage with Linear Trend (Seaborn)
Figure 4: 24-Hour Skill Coverage Separated by Groups
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors who have helped shape this project.
- Special thanks to the Plotly, Seaborn, and Matplotlib communities for their excellent visualization libraries.