Skip to content

Latest commit

 

History

History
117 lines (70 loc) · 8.45 KB

project_management.md

File metadata and controls

117 lines (70 loc) · 8.45 KB

Project Management

This file presents how I managed the project. In other words, how I distrubuted type and amount of work depending on project phase and circumstances. It also highlights the use of management tools like Jira and Gitlab.

List of contents

Planning and organisation

My organisation of the project could be split into several phases:

IMAGE DIDNT SHOW

Summer work

Challenge week

During the challenge week I accomplished the following tasks:

At the end of the challenge week I created 0.1.0 release on Jira which contains all issues completed up to the challenge week:

IMAGE DIDNT SHOW

Completing assignments of other modules

Capstone project has no limit in terms of progress that can be made. So I decided to strategically postpone further work on it until I complete (or almost complete) all available assignments of other modules and afterwards focus entirely on the project. This way I could utilize all remaining time without fear of not giving other modules enough attention. This period lasted around a month, giving me another full month of project work before the interim interview.

From 16th November till interim interview

During this time I spent most of my free time working on the project and implemented most of the program functionality, including:

  • algorithm selection facility
  • 4 new algorithms
  • custom graph saving/loading
  • selectable preset graphs

I slightly transitioned away from carefully considering every code addition (which I did during early design stage) into adding sheer amount of features. I documented each step of the progress by creating separate Jira issue for every task. Every time I marked an issue as "done", I wrote a short comment with links to relevant Gitlab commits, often with an additional image of what was implemented, or few lines of code (that fixed a bug for example). Here's an example of the comment added when priority queue task issue was marked as "done":

IMAGE DIDNT SHOW

...and here's an example of the comment added after a sub-window bug issue was fixed and marked as "done":

IMAGE DIDNT SHOW

The list of Jira issues created during this time can be viewed here.

Task issues included:

IMAGE DIDNT SHOW

Bug issues included:

IMAGE DIDNT SHOW

From interim interview till the final report

During that time I considered the development to be finished and made only minor changes to the code (fixing small bugs/typos). I focused on producing deliverables (abstract, poster, final report), and the coursework of other modules.

Managing risks

Online learning doesn't help to stay focused on studying. It makes it easier to get distracted. I tried to stay away from procrastination by frequently updating and checking Kanban board, and also by using physical board to keep track of important dates and tasks:

IMAGE DIDNT SHOW

Polishing details before creating key program features could result in the following effect:

IMAGE DIDNT SHOW

I prioritized implementing all algorithms first instead of trying to make each algorithm perfect from the start.

Use of Gitlab

I tried to keep reasonable ratio of commits per amount of work done, being aware that infrequent commits would make it hard to track the changes and too frequent commits would be inefficient. As shown on image below, I used descriptive commit names, which helps to track the changes (and to reference them in Jira).

IMAGE DIDNT SHOW

Use of Jira

Very often while working on something I get multiple ideas on what changes to make. Using Jira and creating tasks for such ideas helped me to avoid forgetting them over time. Additionally, having saved issues in the "backlog", "selected for development" or "in progress" columns of the Kanban board is a good motivational factor to get them done. Throughout this document I used hyperlinks to reference Jira issues.