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.
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
.)
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 is easy!
Point your browser to any of the following URLs.
http://localhost:8080/
http://localhost:8080/home
http://localhost:8080/index
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.
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 |
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.
In the navbar, select deliverables
and then show/update/delete
.
Your deliverables appear here, sorted by their unique identifiers.
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.)
In the navbar, select associations
and then show/update/delete
.
Your associations appear here, sorted by their unique identifiers.
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!
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.
stakeholders does not enforce constraints on the uniqueness of stakeholders, deliverables, or associations. This is to avoid unnecessary complexity in the code.
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