Skip to content

DevTeam Gantt Planner is a Python-based tool designed to assist development teams in creating and visualizing Gantt charts for project planning and task management.

License

Notifications You must be signed in to change notification settings

Iconeus/chargedPlanner

Repository files navigation

DevTeam Gantt Planner

DevTeam Gantt Planner is a Python-based tool designed to assist development teams in creating and visualizing Gantt charts for project planning and task management.

Features

Project Scheduling: Define features, define the required effort, assign them to developers within the DevTeam. Outline project timelines.

Team Assignment: Allocate tasks to specific developers or teams.

Gantt Chart Generation: Visualize project schedules through interactive Gantt charts.

Once a project is defined, it is possible to visualise it as Gantt chart with different levels of granularity (Project, Version). See below the Gantt chart for a specific version of the project :

image

At the developer level, the associated workload can be visualised under the form of a Gannt diagram, or a loadchart. Peaks overcoming 100% effort are highlighted in red :

image

image

Installation

Ensure you have Python 3.6 or higher installed. Then, install the required dependencies:

  pip install -r requirements.txt

Usage

Clone the Repository:

https://github.com/Iconeus/chargedPlanner

Prepare Your Data:

Create a json file named tasks.csv with the following structure:

{
    "devs": [
        {
            "devType": "Manager",
            "name": "<managerName>"
        },
        {
            "devType": "Dev",
            "name": "<devName>"
        },
}

Fill all the devs of your group and place the file in the project resource folder :

C:\Users\<currentUser>\.config\chargedPlanner\devs.json

Getting started :

from chargedPlanner import * 

charles = DevGroup()["Charles"]
selene = DevGroup()["Selene"]

connFeat = Feature(featName="Connectivity",
                   remainingEffort=5,
                   assignee=charles,
                   percentageLoad = 20,
                   startDate=datetime(2024, 12, 26).date())

seedMapFeat = Feature(featName="SeedMap",
                      remainingEffort=15,
                      assignee=selene,
                      percentageLoad=20,
                      startDate=datetime(2024, 11, 15).date())

scanV2Feat = Feature(featName="ScanV2",
                    remainingEffort=15,
                     assignee=charles,
                     percentageLoad=40,
                     startDate=charles.getEndDateForLatestAssignedFeat())

version1 = IcoStudioVersion("1.0.0")
version1.addFeat(connFeat)
version1.addFeat(seedMapFeat)

version2 = IcoStudioVersion("1.1.0")
version2.addFeat(scanV2Feat)

icoStudioProject = Project(IconeusProduct.IcoStudio)
icoStudioProject.addVersion(version1)
icoStudioProject.addVersion(version2)

print(icoStudioProject)
icoStudioProject.gantt()

version1.gantt()

charles.gantt()
charles.loadChart()

selene.gantt()
selene.loadChart()

icoStudioProject.serialise()

See the auto tests for code usage

Dependencies

See file : requirements.txt

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your enhancements.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

Special thanks to the contributors of the following resources: Gantt Charts in Python - Plotly

About

DevTeam Gantt Planner is a Python-based tool designed to assist development teams in creating and visualizing Gantt charts for project planning and task management.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages