Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion episodes/50-section5-intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ how the outside world interacts with and makes use of our software,
how others can interact with ourselves to report issues,
and the ways we can successfully manage software improvement in response to feedback.

![](fig/section5-overview.svg){alt='Managing software' .image-with-shadow width="1000px" }
![Managing software](fig/section5-overview.svg){
alt='Flow chart showing five stages in software management lifecycle: 1. Setting up software environment; 2. Verifying software correctness; 3. Software development as a process; 4. Collaborative development for reuse; 5. Managing software over its lifetime - issue reporting & prioritisation, Agile development in sprints, software project management.'
.image-with-shadow width="1000px"
}

<!--
Source of the above image can be rendered in the Mermaid live editor:
Expand Down
22 changes: 11 additions & 11 deletions episodes/51-managing-software.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,12 @@ currently there should be none.
If you do not see the `Issues` tab, you must first enable it in the settings of your repository:
go to the `Settings` tab, scroll down to the `Features` section and activate the checkmark on `Issues`.

![](fig/github-issue-list.png){alt='List of project issues in GitHub' .image-with-shadow width="1000px"}
![](fig/github-issue-list.png){alt='Screenshot showing issue list tab in GitHub web interface for a repository named python-intermediate-inflammation. There are currently no issues listed and the new issue button in interface is highlighted.' .image-with-shadow width="1000px"}

Let us go through the process of creating a new issue.
Start by clicking the `New issue` button.

![](fig/github-new-issue.png){alt='Creating a new issue in GitHub' .image-with-shadow width="1000px"}
![](fig/github-new-issue.png){alt='Screenshot showing new issue form in GitHub web interface. The form currently has no details entered in title or comment fields with cursor currently in title field.' .image-with-shadow width="1000px"}

When you create an issue, you can add a range of details to them.
They can be *assigned to a specific developer* for example -
Expand Down Expand Up @@ -266,7 +266,7 @@ you can reference a commit by pasting its long, unique identifier
and GitHub will render it nicely using the identifier's short form
and link to the commit in question.

![](fig/github-reference-comments-commits.png){alt='Referencing comments and commits in GitHub' .image-with-shadow width="700px"}
![](fig/github-reference-comments-commits.png){alt='Screenshot of comment thread in a GitHub issue showing dropdown menu expanded for a particular comment to allow copying link to comment to reference elsewhere. Also shown and highlighted is a autolink to a particular commit hash.' .image-with-shadow width="700px"}

::::::::::::::::::::::::::::::::::::::: challenge

Expand Down Expand Up @@ -368,7 +368,7 @@ this course but it is good to be aware of how to make use of them when suitable.
1. From your GitHub account's home page (not your repository's home page!),
select the "Projects" tab, then click the `New project` button on the right.

![](fig/github-new-project.png){alt='Adding a new project board in GitHub' .image-with-shadow width="800px"}
![](fig/github-new-project.png){alt='Screenshot of projects tab for a GitHub user profile with new project button highlighted.' .image-with-shadow width="800px"}

2. In the "Create project" pop-up window, you can either start from one of the featured existing
project templates or create your project from scratch using one of the three standard project
Expand All @@ -378,7 +378,7 @@ this course but it is good to be aware of how to make use of them when suitable.
- Board - a "cards on a board" view of the project, with issues and pull requests being
spread across customizable columns as cards on kanban board
- Roadmap - suitable for a high-level visualisation of your project over time.
![](fig/github-project-template.png){alt='Selecting a project board template in GitHub' .image-with-shadow width="800px"}
![](fig/github-project-template.png){alt='Screenshot of create project pop-up window showing a grid with four featured project templates - Team planning (caption "Manage your team's work items, plan upcoming cycles, and understand team capacity"), Future release (caption "Manage your team's prioritized work items when planning for a feature release"), Kanban (caption "Visualize the status of your project") and Bug tracker ("Track and triage your bugs"). In the the sidebar additional options are available to start a project from scratch using a table, board or roadmap format.' .image-with-shadow width="800px"}
Regardless of which project type/view you select, you can easily switch to a different
project layout later on.

Expand All @@ -387,8 +387,8 @@ this course but it is good to be aware of how to make use of them when suitable.

4. After it is created, you should also populate the description of the project from the project's Settings,
which can be found by clicking the `...` button in the top right corner of the project.
![](fig/github-project-settings.png){alt='Project board setting in GitHub' .image-with-shadow width="800px"}
![](fig/github-project-description.png){alt='Adding project description and metadata in GitHub' .image-with-shadow width="800px"}
![](fig/github-project-settings.png){alt='Screenshot showing how to access project board settings in GitHub, A dropdown menu has been expanded from ... button with Settings option within this menu highlighted.' .image-with-shadow width="800px"}
![](fig/github-project-description.png){alt='Screenshot showing project settings page in GitHub. Short description field on page has had text "Tasks for the v0.1 release of the inflammation project" entered.' .image-with-shadow width="800px"}
After adding a description, select `Save`.

5. GitHub's default card board template contains
Expand All @@ -398,7 +398,7 @@ this course but it is good to be aware of how to make use of them when suitable.
- `In Progress`
- `Done`

![](fig/github-project-view-add-remove-items.png){alt='Default card board in GitHub' .image-with-shadow width="800px"}
![](fig/github-project-view-add-remove-items.png){alt='Screenshot showing default card board in GitHub. Three columns are shown headed Todo, In Progress and Done. A button to add a new task to a column is highlighted at bottom of Todo column. On the right of interface a ... button which expands a menu from which a column can be removed and a + button which can be used to add a new column are highlighted.' .image-with-shadow width="800px"}

You can add or remove columns from your project board to suit your use case.
One commonly seen extra column is `On hold` or `Waiting` -
Expand All @@ -424,7 +424,7 @@ this course but it is good to be aware of how to make use of them when suitable.
and selecting the repository
and an issue or pull request from that repository that you want to add.

![](fig/github-project-new-items.png){alt='Adding issues and notes to a project board in GitHub' .image-with-shadow width="800px"}
![](fig/github-project-new-items.png){alt='Screenshot showing adding issues and notes to a project board in GitHub. The board shows three columns Todo, In Progress and Done, with three draft tasks entered into the Todo column: Finish off documenting the software; Select licence; Prepare the release notes.' .image-with-shadow width="800px"}

Notes contain task descriptions and can have detailed content like checklists.
In some cases, e.g. if a note becomes too complex,
Expand All @@ -433,7 +433,7 @@ this course but it is good to be aware of how to make use of them when suitable.
or write more detailed comments
(for that, use the `Convert to issue` option from the `...` menu on the card itself).

![](fig/github-convert-task-to-issue.png){alt='Converting a task to issue' .image-with-shadow width="800px"}
![](fig/github-convert-task-to-issue.png){alt='Screenshot showing converting a task to issue in GitHub project interface. A draft task "Finish off documenting the software is selected and a context menu shown with multiple options, with the first "Convert to issue" highlighted.' .image-with-shadow width="800px"}

7. In addition to creating new tasks as notes and converting them to issues -
you can add an existing issue or pull request (from any repository visible to you)
Expand All @@ -449,7 +449,7 @@ this course but it is good to be aware of how to make use of them when suitable.
9. Finally, you can change the way you view your project by adding another view.
For example, we can add a Table view to our Board view by clicking the `New button`
and selecting it from the drop down menu.
![](fig/github-project-add-view.png){alt='Add another project view' .image-with-shadow width="800px"}
![](fig/github-project-add-view.png){alt='Screenshot showing how to add another project view in GitHub Project interface. A second table view of the project is shown, with two view tabs, View 1 and View 2 now present and View 2 active. The "New view" button to right of view tabs is highlighted.' .image-with-shadow width="800px"}

::::::::::::::::::::::::::::::::::::::: challenge

Expand Down
8 changes: 4 additions & 4 deletions episodes/53-improvement-through-feedback.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,20 +202,20 @@ We can create a new one by selecting `Issues` on our repository,
then `Milestones` to display any existing milestones,
then clicking the "New milestone" button to the right.

![](fig/github-milestones.png){alt='Milestones in GitHub' .image-with-shadow width="1000px"}
![](fig/github-milestones.png){alt='Screenshot showing how to access Milestones interface in GitHub. The Issues tab for a repository is shown with Milestones button to left of New Issue button highlighted.' .image-with-shadow width="1000px"}

![](fig/github-create-milestone.png){alt='Create a milestone in GitHub' .image-with-shadow width="1000px"}
![](fig/github-create-milestone.png){alt='Screenshot showing how to create a milestone in GitHub. The Milestones view within Issues tab is shown with a message indicating no milestones have been created so far. Two buttons for creating a new milestone are highlighted.' .image-with-shadow width="1000px"}

We add in a title,
a completion date (i.e. the end of this timebox),
and any description for the milestone.

![](fig/github-new-milestone-description.png){alt='Create a milestone in GitHub' .image-with-shadow width="800px"}
![](fig/github-new-milestone-description.png){alt='SCreenshot showing how to create a milestone in GitHub. A new milestone form is shown with three entry fields, a short text field for entering title, a date picker field for selecting due date (optional) and a long text field for entering description.' .image-with-shadow width="800px"}

Once created, we can view our issues
and assign them to our milestone from the `Issues` page or from an individual issue page.

![](fig/github-assign-milestone.png){alt='Milestones in GitHub' .image-with-shadow width="1000px"}
![](fig/github-assign-milestone.png){alt='Screenshot showing how to assign an issue to a milestone. The issue list tab of a repository is shown with a single issue "Add README" selected and the Milestone dropdown on issue filter controls expanded with a list of available milestones that can be assigned to the issue shown, currently showing one milestone "Tidy up documentation".' .image-with-shadow width="1000px"}

Let us now use Milestones to plan and prioritise our team's next sprint.

Expand Down