You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _episodes/51-managing-software.md
+39-26Lines changed: 39 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -271,7 +271,7 @@ representation of tasks and may not be as suitable for higher-level project mana
271
271
prioritising tasks for future development, planning sprints and releases. Luckily,
272
272
GitHub provides two project management tools for this purpose - **Projects** and **Milestones**.
273
273
274
-
Both Projects and Milestones provide [agile development and project management systems](https://www.atlassian.com/agile)
274
+
Both GitHub Projects and Milestones provide [agile development and project management systems](https://www.atlassian.com/agile)
275
275
and ways of organising issues into smaller "sub-projects" (i.e.
276
276
smaller than the "project" represented by the whole repository).
277
277
Projects provide a way of visualising and organising work which is not time-bound and is on a higher level (e.g. more suitable for
@@ -289,7 +289,7 @@ for now, we will have a brief look at Projects.
289
289
290
290
### Projects
291
291
292
-
A Project uses a "project board" consisting of columns and cards to keep track of tasks
292
+
A GitHub Project uses a "project board" consisting of columns and cards to keep track of tasks
293
293
(although GitHub now also provides a table view over a project's tasks).
294
294
You break down your project into smaller sub-projects,
295
295
which in turn are split into tasks which you write on cards,
@@ -301,7 +301,14 @@ such as issues and pull requests -
301
301
cards can be added to track the progress of such tasks
302
302
and automatically moved between columns based on their progress or status.
303
303
304
-
> ## Project are a Cross-Repository Management Tool
304
+
GitHub projects are "an adaptable, flexible tool for planning and tracking work on GitHub" -
305
+
they now provide interchangeable spreadsheet, task-board, or roadmap views of your project
306
+
that integrates with your issues and pull requests on GitHub to help you
307
+
plan and track your work effectively.
308
+
We recommend you to have a look at [GitHub’s documentation on Projects](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)
309
+
and see if they are suitable for your software development workflow.
310
+
311
+
> ## GitHub Projects are a Cross-Repository Management Tool
305
312
> [Project in GitHub](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)
306
313
> are created on a user or organisation level,
307
314
> i.e. they can span all repositories owned by a user or organisation in GitHub
@@ -310,32 +317,32 @@ and automatically moved between columns based on their progress or status.
310
317
> to help you plan and track your team's work effectively.
311
318
{: .callout}
312
319
313
-
Let's create a Project in GitHub to plan the first release of our code.
320
+
Let's have a quick look at how Projects are created in GitHub - we will not use them much in
321
+
this course but it is good to be aware of how to make use of them when suitable.
314
322
315
323
1. From your GitHub account's home page (not your repository's home page!),
316
324
select the "Projects" tab, then click the `New project` button on the right.
317
325
318
-
{: .image-with-shadow width="1000px"}
319
-
320
-
2. In the "Select a template" pop-up window, select "Board" -
321
-
this will give you a classic "cards on a board" view of the project.
322
-
An alternative is the "Table" view,
323
-
which presents a spreadsheet-like and slightly more condensed view of a project.
324
-
325
-
{: .image-with-shadow width="600px"}
326
-
327
-
3. GitHub will create an unnamed project board for you.
328
-
You should populate the name and the description of the project from the project's Settings,
329
-
which can be found by clicking the `...` button in the top right corner of the board.
330
-
331
-
{: .image-with-shadow width="800px"}
332
-
333
-
4. We can, for example, use "Inflammation project - release v0.1"
334
-
and "Tasks for the v0.1 release of the inflammation project"
335
-
for the name and description of our project, respectively.
336
-
Or you can use anything that suits your project.
337
-
338
-
{: .image-with-shadow width="800px"}
326
+
{: .image-with-shadow width="800px"}
327
+
328
+
2. In the "Create project" pop-up window, you can either start from one of the featured existing
329
+
project templates or create your project from scratch using one of the three standard project
330
+
types/views that you customise yourself:
331
+
- Table - a spreadsheet-style table to filter, sort and group your issues and pull requests.
332
+
- Board - a "cards on a board" view of the project, with issues and pull requests being
333
+
spread across customizable columns as cards on kanban board
334
+
- Roadmap - suitable for a high-level visualisation of your project over time.
335
+
{: .image-with-shadow width="800px"}
336
+
Regardless of which project type/view you select, you can easily switch to a different
337
+
project layout later on.
338
+
339
+
3. For example, select the "Board" type for the project, fill in the name of your project
340
+
(e.g. "Inflammation project - release v0.1"), and select `Create project`.
341
+
4. After it is created, you should also populate the description of the project from the project's Settings,
342
+
which can be found by clicking the `...` button in the top right corner of the project.
343
+
{: .image-with-shadow width="800px"}
344
+
{: .image-with-shadow width="800px"}
345
+
After adding a description, select `Save`.
339
346
340
347
5. GitHub's default card board template contains
341
348
the following three columns with pretty self-explanatory names:
@@ -351,6 +358,8 @@ Let's create a Project in GitHub to plan the first release of our code.
351
358
if you have tasks that get held up by waiting on other people
352
359
(e.g. to respond to your questions)
353
360
then moving them to a separate column makes their current state clearer.
361
+
Another way to organise your table is to have a column for each quarter of the year -
362
+
it is up to you to decide how you want to view your project's activities.
354
363
355
364
To add a new column,
356
365
press the `+` button on the right;
@@ -377,7 +386,7 @@ Let's create a Project in GitHub to plan the first release of our code.
377
386
or write more detailed comments
378
387
(for that, use the `Convert to issue` option from the `...` menu on the card itself).
379
388
380
-
{: .image-with-shadow width="800px"}
389
+
{: .image-with-shadow width="800px"}
381
390
382
391
7. In addition to creating new tasks as notes and converting them to issues -
383
392
you can add an existing issue or pull request (from any repository visible to you)
@@ -388,6 +397,10 @@ and pressing the `Enter` key.
388
397
Issues and pull requests on cards will automatically be moved to the `Done` column for you
389
398
when you close the issue or merge the pull request -
390
399
which is very convenient and can save you some project management time.
400
+
9. Finally, you can change the way you view your project by adding another view.
401
+
For example, we can add a Table view to our Board view by clicking the `New button`
402
+
and selecting it from the drop down menu.
403
+
{: .image-with-shadow width="800px"}
391
404
392
405
> ## Exercise: Working With Projects
393
406
> Spend a few minutes planning what you want to do with your project as a bigger chunk of work
0 commit comments