Skip to content

Project Execution

chrisv09 edited this page Mar 20, 2024 · 8 revisions

Agile Methodology

As discussed in the interviews, we will incorporate an Agile methodology into our project execution - an industry skill.

What is it?

"The Agile methodology is a project management approach that involves breaking the project into phases and emphasizes continuous collaboration and improvement. Teams follow a cycle of planning, executing, and evaluating."

Referring to the picture I've provided above, you can see that on the road to deployment, we should try to Design, Develop, and Test first. Then Deploy, Review, and Improve before finally (hopefully) reaching something we can properly put forward.

  • The idea is to create an iteration that is roughly what is needed, test for errors or gaps, and then fix everything to spec.

Sprints

  • Building on the definition above, the splitting of a project into phases is called a sprint.

  • For this year, we will attempt to practice these methodologies by creating 2-week-long sprints.

  • Each sprint will have assigned 1-3 developers/designers (depending on difficulty and workload).

  • We are guiding that within the 2-week long sprint; we try to have a good prototype done by the end of the first week so we can test and discuss how to make it better. Then, the second week is spent perfecting and improving it.

User Stories

We will be using user stories to outline the specific requirements our client wants.

Each ticket will have a user story associated with it.

User stories follow this structure:
As a role
I want to action
so that goal

For example:
As a young person wanting to join a YOO event
I want to view the signup form
so that I can let the event organizers know I am attending

Acceptance Criteria

Acceptance criteria define the boundaries of a user story. After we finish a ticket, we want to check if the user story is completed and working as intended. Acceptance criteria help us with this and is in the following format:

Given context
When action
Then intended outcome

For example:
Given the name input is blank in the contact form
When the user clicks on the submit button
Then the user is prompted to input their name, before submitting

After our ticket is complete, we can write one or two acceptance criteria in the description, depending on the complexity of the ticket.

Commits

  • Please label all commits with the commit type:
    • feat - new features
    • fix- bug fixes
    • test - creating/modifying tests
    • style - stylistic changes
    • doc - documentation
    • refactor - refactoring codebase
  • e.g. feat: add login button to homepage
Clone this wiki locally