ECP/VTK-m project management

From VTKM
Revision as of 18:25, 8 January 2020 by Kmorel (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page provides information for members of the ECP/VTK-m project (that is, the VTK-m funding that is directly coming from ECP). This information is mostly for the ECP/VTK-m co-PIs, but may be of use to other members. The ECP/VTK-m project is managed through 3 separate project management systems. These are:

  • ECP/VTK-m Project Management GitLab Page This page manages the tasks that we are performing under the ECP/VTK-m funding. We are mainly using the issue tracker to track the activities for a given quarter. The issues here contain only short summaries and links to code issues and MR in the main VTK-m project source project.
  • VTK-m GitLab Repo The GitLab-hosted repository has its own page with a separate issue tracker. The issue tracker on the VTK-m repo is used to document technical designs as well as document bugs and other changes that need to be addressed. VTK-m repo is shared with all VTK-m developers, not just those funded by ECP/VTK-m.
  • ECP's JIRA Eventually, information from the project management GitLab page makes its way to the JIRA instance used by ECP to report on our progress. However, once you enter your progress in our GitLab project management, Ken will transfer the information over to JIRA as necessary. Hence, I'm not bothering to put the link here.

Because they are both hosted on the same GitLab instance and they both are part of the VTK-m management and development, it is easy to get the ECP/VTK-m Project Management Page and the VTK-m Repo confused with each other, but they serve different purposes.

Structure of the ECP/VTK-m Project Management Page

The ECP/VTK-m Project Management Page exists to fill in the gap between how we actually do our work and how ECP requires us to report our work. ECP essentially requires work to be broken into roughly 3 months increments with no overlap. In contrast, we are always working on many independent tasks, most of which take longer than 3 months.

The ECP/VTK-m Project Management Page manages this by crossing the reports to ECP with the tasks we are actually working on. Each task will have many issues: a separate issue for each ECP report.

The advantage of this approach is that it makes it easy for us to view what our current tasks are. If you go to the ECP/VTK-m Project Management Page, you will see in the description a set of links under the heading What am I Working On? Click on the one for your institution to see what your current tasks are.

As you perform work, you are encouraged to go to your active tasks on the ECP/VTK-m Project Management Page and add comments to issues to report the work that you have done. In particular, make links to merge requests and issues created in the VTK-m Repo in support of the task. Also report outreach activities.

Common Reporting

Each issue in the ECP/VTK-m Project Management Page has one or more Completion Criteria that needs to be ticked off. Before a completion criterion is checked off, there should be a comment added to the issue pointing to the evidence of completion.

Here are the most common completion criteria and what should be added to the ECP/VTK-m Project Management issue as evidence.

Submit GitLab issue

Most of the tasks we do for the ECP/VTK-m start with a design phase. Part of the reason is to "slow roll" the task to make it easy to complete the quarter even if work starts late. It also serves a practical purpose of giving us a design document that others can review and comment on before the work actually starts.

The design document should be created by creating a new issue in the VTK-m Repo. To be clear, the design document should be in the VTK-m Repo, not the ECP/VTK-m Project Management Page.

The rational for putting the design in a new issue in the VTK-m Repo instead of on the task in the ECP/VTK-m Project Management Page is because the latter is going to be closed off and ignored after the completion of the quarter. Instead, the design should have permanence throughout the work of the task. Also, much of the work we do in ECP/VTK-m is of interest to external collaborators. Thus, it is appropriate to communicate it on the VTK-m Repo.

When the VTK-m Repo issue is created, copy the URL to the issue into a comment on the related ECP/VTK-m Project Management Page task.

Note that you do not have to get clever with creating a human-readable link. Just copy/paste the raw https URL into a comment. There are automated tools to get the human-readable information.

Submit merge request(s)

Most tasks require code to be contributed to VTK-m. When code is contributed to VTK-m in support of a task, copy/paste the URL for the merge request into the related ECP/VTK-m Project Management Page task.

Note that you do not have to get clever with creating a human-readable link. Just copy/paste the raw https URL into a comment. There are automated tools to get the human-readable information.

Write documentation for VTK-m User's Guide

Most tasks require some documentation to be added or modified for the VTK-m User's Guide. If you are game for editing the LaTeX directly, then you can submit a merge request for the documentation changes, which can be documented in the ECP/VTK-m Project Management Page task. However, if you want to contribute by sending text to Ken, then he can take care of recording it in the ECP/VTK-m Project Management Page task.

Outreach

Each institution has a special outreach task. In this task, list any professional activities.

FAQ

When is my work due?

The issues on the ECP/VTK-m Project Management Page are expected to be completed by the end of the quarter. However, there has been some confusion for those peeking at JIRA as on that page the due date is set for the end of the following month.

Regardless of the due date in JIRA, you are expected to complete the work by the end of the quarter. The remaining month is built in to collect reporting and push the report to ECP. This is to prevent a mad dash for reporting when a quarter completes.

This also makes the deadline a little fuzzy. We can summarize as follows:

  • Completing all work by the end of the quarter will make Ken happy.
  • Completing all work at the end of the following month will make Ken grumpy.
  • Not completing the work by the end of the following month could have funding consequences with ECP.

Should I edit my tasks on the ECP/VTK-m Project Management Page?

Yes, you are encouraged to add comments to your issues on the ECP/VTK-m Project Management Page. In addition to simple notes on progress, the following items eventually need to be reported on each task:

  • URL to issues in the VTK-m Repo that document design.
  • URL to merge requests in the VTK-m Repo that implement the task.
  • In the special Outreach task, any professional activities. This can include the following:
    • papers written/submitted/published
    • serving as chair
    • serving on a committee
    • participating in panels
    • giving tutorials
    • review activities
    • participating in workshops

Make sure you are reporting your work on the issue for the appropriate quarter.