Day 1: Landscape of approaches and undertaking an example project


1.1 Welcome to the Course


1.2 Software Development Process and the Landscape of Approaches


Figure 1

diagram of the waterfall model

Figure 2

Elizabeth Line train 345001 at Abbey Wood
By Alex6nt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=118896679

Figure 3

image of the v-model of software development

Figure 4

image of iterative software development

Figure 5

image of the spiral model of software development

Figure 6

simplified diagram of scrum with arrows showing that the product backlog is broken down into sprint backlogs and these are worked on throughout a sprint to create an increment of value

1.3 User Stories and Capturing Project Requirements


Figure 1

List of project issues in GitHub

Figure 2

Creating a new issue in GitHub

Figure 3

Issue labels in GitHub

1.4 Estimation, Prioritisation, and Stakeholder Management


Figure 1

  • On the group repository’s main page, select Projects, then New Project. Link to create a project board

  • Figure 2

  • Decide and enter a name for the board, Coffee Analysis for example: Create a project board in GitHub

  • Figure 3

  • Select the ... in the top right and select `Settings: Access settings for a project board

  • Figure 4

    Layout of a typical project board

    Figure 5

    Adding an issue to a GitHub project board

    Figure 6

    Display labels on board issues

    1.5 Working with ClientsCommunicating with ClientsDesigning a Kickoff Meeting


    Figure 1

    Illustration of two people at a table with laptops
    Illustration by Muhammad Noor on Unsplash

    Figure 2

    photo of speach bubbles with words in different languages
    Photo by zhendong wang on Unsplash

    Figure 3

    Lizard jumping across a large gap
    Photo by Denny Luan on Unsplash

    Figure 4

    man with laptop gesturing
    Photo by Headway on Unsplash

    Figure 5

    snail creeping along a log
    Photo by Patti Black on Unsplash

    Figure 6

    two people arranging sticky notes on a board
    Photo by airfocus on Unsplash

    Figure 7

    diagram of a car mvp

    Figure 8

    a hand reaching toward a clear lake
    Photo by Paul Pastourmatzis on Unsplash

    Figure 9

    illustration of a clipboard
    Illustration by Round Icons on Unsplash

    Figure 10

    four people in a meeting
    Photo by Mapbox on Unsplash

    Day 2: Technical Skills and Best Practices within an Agile Way of Working


    2.1 Collaborative Workflow: Branches and Merging Strategies


    Figure 1

    Diagram depicting a feature branch being created off of a main branch, with its own commits, and those commits then being merged onto the main branch.

    2.2 Collaborative Workflow: Pull Requests and Code Reviews


    Figure 1

    Diagram depicting a feature branch being created off of a main branch, with its own commits, and those commits then being merged onto the main branch.

    Figure 2

    Diagram depicting a failed first review of a pull request, subsequent fixes to address the review, and a successful second review and merge to main.

    Figure 3

    Adding a new GitHub issue to the group repository for writing a description to the README, ensuring it has a quick summary, is assigned to someone, and has a documentation label

    Figure 4

  • In the Compare changes page that comes up: Comparing changes between feature and main branches to create a pull request, showing the commits to merge and the line-by-line changes between files
    • Select compare: and select your new branch, e.g. 123-readme-description You should now see a summary of the changes between the new branch and the main branch, i.e. a single commit and the new README content you pushed earlier
    • Select Create pull request

  • Figure 5

  • In the Open a pull request page that appears: Add details for pull request before creating it, including a reviewer, label, title, and description
    • Enter a fitting title, brief description, and label
    • Select Reviewers and add the GitHub account for the other group member who will review your pull request
    • Select Create pull request

  • Figure 6

    Unified view of file changes for a pull request

    Figure 7

    Split view of file changes for a pull request

    Figure 8

    Add a comment to a pull request

    Figure 9

    Final comments and recommendation for the PR

    Figure 10

    Observe review feedback in the conversayions tab

    Figure 11

    Merge pull request option, visible at the bottom of the conversations tab

    2.3 Introduction to Automated Testing


    2.4 Writing Unit Tests


    2.5 Using Continuous Integration


    Figure 1

    GitHub repository page indicating a successfully completed workflow run

    Figure 2

    GitHub list of GitHub Actions

    Figure 3

    Log of finished workflow run

    2.6 The Agile Development ProcessScrum PhilosophyScrum ValuesScrum PillarsScrum Artifacts and CommitmentsScrum Team


    Figure 1

    diagram of scrum philosophy, values, pillars and artifacts stacked on top of each other in the shape of a temple

    Figure 2

    diagram of scrum philosophy, values, pillars and artifacts stacked on top of each other in the shape of a temple with scrum philosophy highlighted as the foundations

    Figure 3

    diagram of scrum philosophy, values, pillars and artifacts stacked on top of each other in the shape of a temple with the steps to the temple highlighted and each step showing a value

    Figure 4

    diagram of scrum philosophy, values, pillars and artifacts stacked on top of each other in the shape of a temple with the pillars highlighted

    Figure 5

    diagram of scrum philosophy, values, pillars and artifacts stacked on top of each other in the shape of a temple with the roof of the temple highlighted and scrum artifacts written on it

    Figure 6

    daigram of an old machine
    By Clerk, Dugald, Sir, 1854-1932. Library of Congress Catalog, Public Domain

    Figure 7

    compass and map
    Image by freepik

    Figure 8

    football coach
    Image by Creazilla, Creazilla Open License

    2.7 Anatomy of an Agile SprintEvents of a SprintSprint Planning for the Coffee Beans Analysis Project


    Figure 1

    diagram of scrum events and artifacts with sprint planning highlighted

    Figure 2

    diagram of scrum events and artifacts with daily meeting highlighted

    Figure 3

    diagram of scrum events and artifacts with sprint review highlighted

    Figure 4

    diagram of scrum events and artifacts with sprint retrospective highlighted

    Day 3: Undertaking our First Sprint


    3.1 Sprint 1 Work Block


    3.2 Sprint 1 Review Meeting


    3.3 Sprint 1 Retrospective


    3.4 Mentoring Session


    Day 4: Our Second Sprint: Preparing to Deliver


    4.1 Prepare Code for Release


    4.2 Sprint 2 Planning Meeting


    4.3 Sprint 2 Work Block


    4.4 Sprint 2 Review Meeting


    4.5 Sprint 2 Retrospective


    4.6 Reflection


    Day 5: Deliver to Clients


    5.1 Prepare to Delivery


    5.2 Delivery Meeting


    5.3 Reflection