Class 4: Software project management#

Jira in its free plan allows small teams to organise tasks in sprints and track the work progress.

During this class we will create a backlog of tasks, assign them to team memebers and map to sprints.

User stories#

What makes a good story is well-expressed by the INVEST acronym: a story is Independent, Negotiable, Valuable, Estimable, Small and Testable.

The common pattern of a story is:

As a {role} I need {functionality} so that {benefit}`.

For example:

As a teaching assitance I need to prepare good materials so that I help my students to pass exams.

Configuring Jira#

See this roadmap with tasks mapped to sprints:

planned_tasks

Jira offers a lot of configurable features. Under the project settings you can enable reporting modules, adjust notifications, and so on.

configuring_jira

Git Workflow#

The recommended collaborative work strategy is to follow github flow.

Roughly speaking, developers work on tasks in dedicated branches and integrate with main branch via reviewed pull requests, once a feature or a bug fix is ready.

@startuml
start
:task;
:dedicated branch;
:code the feature;
:pull request;
repeat 
    :review;
    :address comments;
repeat while (approved?) is (no)
-> yes;
:merge into main;
stop
@enduml