Skip to content
This repository has been archived by the owner on Jun 29, 2020. It is now read-only.

critical-path/stakeholders

Repository files navigation

image

image

Documentation Status

Introduction

Stakeholder management is critical to project management. Inspired by the Project Management Body of Knowledge, this app helps project teams to perform the principal tasks associated with managing stakeholders.

Installing stakeholders

stakeholders is available on GitHub at https://github.com/critical-path/stakeholders.

If you do not have pip version 18.1 or higher, then run the following command from your shell.

[user@host ~]$ sudo pip install --upgrade pip

To install stakeholders with test-related dependencies, run the following commands from your shell.

[user@host ~]$ git clone git@github.com:critical-path/stakeholders.git
[user@host ~]$ cd stakeholders
[user@host stakeholders]$ sudo pip install --editable .[test]

To install it without test-related dependencies, run the following commands from your shell.

[user@host ~]$ git clone git@github.com:critical-path/stakeholders.git
[user@host ~]$ cd stakeholders
[user@host stakeholders]$ sudo pip install .

(If necessary, replace pip with pip3.)

Starting stakeholders

To start stakeholders, run the following commands from your shell.

[user@host stakeholders]$ chmod +x ./start-api-and-app.sh
[user@host stakeholders]$ ./start-api-and-app.sh

Using stakeholders

Using stakeholders is easy!

View home page

Point your browser to any of the following URLs.

  • http://localhost:8080/
  • http://localhost:8080/home
  • http://localhost:8080/index

Add stakeholders

In the navbar, select stakeholders and then add.

Use the form to identify and evaluate a stakeholder. Enter the stakeholder's name, role, sentiment toward your project, level of power, and level of interest in your project. Then click on the add button.

Repeat this process as many times as necessary.

Show stakeholders

In the navbar, select stakeholders and then show/update/delete.

Your stakeholders appear here, sorted by their unique identifiers. Each stakeholder has a management approach, which is a function of that stakeholder's levels of power and interest.

Approach Power Interest Flag
Monitor closely high high red
Keep satisfied high low orange
Keep informed low high green
Monitor low low blue
Unknown invalid invalid gray

Add deliverables

In the navbar, select deliverables and then add.

Use the form to identify a deliverable, where a deliverable is a reporting requirement. Enter the deliverable's name, kind (type), medium, level of formality, and frequency. Then click on the add button.

Repeat this process as many times as necessary.

Show deliverables

In the navbar, select deliverables and then show/update/delete.

Your deliverables appear here, sorted by their unique identifiers.

Add associations

In the navbar, select associations and then add.

Use the form to identify an association, where an association is the assignment of a deliverable to a stakeholder. Enter a stakeholder and a deliverable appropriate for that stakeholder. Then click on the add button.

Repeat this process as many times as necessary. (It is possible to assign multiple deliverables to the same stakeholder as well as to assign the same deliverable to multiple stakeholders.)

Show associations

In the navbar, select associations and then show/update/delete.

Your associations appear here, sorted by their unique identifiers.

View management plan

In the navbar, select management-plan.

Your associations appear here, sorted first by management approach, then by stakeholders' unique identifiers, and then by deliverables' unique identifiers.

This is your stakeholder management plan - the whole purpose of this app!

Make updates

In the navbar, select stakeholders, deliverables, or associations and then show/update/delete.

Find a stakeholder, deliverable, or association and then click on its update or delete button.

Notes on stakeholders

stakeholders does not enforce constraints on the uniqueness of stakeholders, deliverables, or associations. This is to avoid unnecessary complexity in the code.

Testing stakeholders

To execute tests that do not require a web browser, run the following command from your shell.

[user@host stakeholders]$ pytest -m "not browser" --cov --cov-report=term-missing

To execute tests that require a web browser, run the following commands from your shell. (Be sure to install Firefox and geckodriver first, however.)

[user@host stakeholders]$ chmod +x ./run-browser-tests.sh
[user@host stakeholders]$ ./run-browser-tests.sh