0.8.0 • Published 5 years ago

@fchauvel/rpp v0.8.0

Weekly downloads
10
License
MIT
Repository
github
Last release
5 years ago

RPP — Rapid Project Plan

NPM Version NPM Monthly download rate Build Status Test Coverage Code Grade

A simple CLI tool to quickly generate project plans including Gantt charts. Project planning for developers in a way.

Installation

$ npm install @fchauvel/rpp

Gantt Charts

To export the associated Gantt chart, use:

$ rpp gantt -p samples/epic/workplan.yaml -o samples/epic/gantt.svg

This yields the following Gantt Chart:

Sample Gantt Chart

Project Descriptions

Work Plan

RPP consumes a description of the project split into multiple YAML files, one for the woorkplan, one for the teams, etc. See for instance samples/epic/workplan.yaml. This file specifies the work plan (work packages, tasks, deliverables and milestones) of our sample EPIC project (see the workplan schema). Here is an excerpt:

project:
  name: EPIC
  breakdown:
    - name: Project Management
      breakdown:
        - name: Infrastructure for Communication
          start: 1
          duration: 48
          deliverables:
            - name: Infrastructure for Communication
              kind: Software
              due: 3
        - name: Financial Reporting
          start: 1
          duration: 48
          deliverables:
            - name: Intermediate Financial Report
              kind: Report
              due: 24
            - name: Final Financial Report
              kind: Report
              due: 48

Project Team

RPP also accepts a description of the team, that this, the persons assigned to the projects with their roles (see the team schema). Here is an excerpt of the EPIC team description.

team:
  name: EPIC
  members:
  - name: SINTEF
    members:
      - firstname: Franck
        lastname: Chauvel
        leads: [ WP1, T1.1, T1.2, T3.1, T4.4 ]
      - firstname: Brice
        lastname: Morin
        leads: [ WP3, T2.1, T3.3 ]
      - firstname: Ketil
        lastname: Stølen
        leads: [ T1.3 ]
  - name: UiO
    members:
      - firstname: Olaf
        lastname: Owe
        leads: [ WP4, T2.2, T4.1, T4.2, T4.3, T5.2]

You can pass the team to the rpp gantt command using --team|-t option, so that the Gantt chart indicates who leads the Tasks. For instance:

$ cd samples/epic
$ rpp gantt -p workplan.yaml -t team.yaml -o gantt.svg

Sanity Checks

RPP can also run sanity checks on your project description. To do so, use the following command:

$ npx rpp verify -p samples/erroneous/workplan.yaml
  1. Warning: 'EMPTY WORK PACKAGE' on 'WP 2'
     - Work package 'First Package' is empty.
     - Tip: Have we forgotten some tasks or work packages there?

  2. Warning: 'NO DELIVERABLE' on 'T 1'
     - Task 'First Tasks' has no deliverable
     - Tip: Do we miss some?

  3. Error: 'LATE MILESTONE' on 'MS 1'
     - Milestone 'First milestone' comes after project end.
     - Tip: Check the milestone date

2 warning(s), 1 error(s).

Here as well the -t|--team option allows us to include the team description.

RPP checks for the following:

  • Work plan consistency

    • Empty work package, that is, work packages that do not contain any tasks or work packages.

    • Single activity work packages, that is, work packages that contain a single task or work package.

    • Discontinuity in work packages, that is, activities in work packages that are neither overlapping nor contiguous in time. In other words, RPP search for work packages that are idle at some point.

    • Tasks without any deliberable.

    • Deliverable due outside the task period.

    • Milestones set outside the project period.

  • Teams consistency

    • Empty teams
    • Duplicate activity leader
    • Tasks without contributors
    • Activities without leader
    • Idle partners (without any role)