Scrum and Agile Development

Internship Training

Tech

Learn about Agile & Scrum

Employ the key to product development!

10 minutes to complete

Keeping HomeCook Agile

Agile is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches. Instead of betting everything on a "big bang" launch, an agile team delivers work in small, but consumable, increments. Here at HomeCook, we will use Scrum which is a specific agile method to facilitate this project.

What is Scrum?

Scrum is a lightweight framework that helps people, teams and organizations generate value through adaptive solutions for complex problems.

  • A Product Owner orders the work for a complex problem into a Product Backlog.
  • The Scrum Team turns a selection of the work into an Increment of value during a Sprint.
  • Story points in Scrum are units of measurement used to estimate the effort required to complete a story (task).

At HomeCook, this is the team structure:

  • Product Owner: Hassan Badru (Co-founder)
  • Development Team
    • Front-End Developers: 2 interns (you!)
    • Back-End Developer: Hassan Badru
    • UI/UX Designer
  • Stakeholder: Tayana Harrison (Co-founder)

Scrum Ceremonies at HomeCook

01.

Brushstroke Arrow Rapid Curved Long
Brushstroke Arrow Rapid Curved Long

02.

Sprint Planning, Review, & Retro

Standups

Every 2 weeks, the HomeCook team meets for an hour to conduct sprint planning and retrospective.


Sprint planning kicks off the sprint, defining the work to be delivered in the sprint and how to achieve it.


Sprint review presents the team's results to inspect the outcomes and collect feedback about it from stakeholders.


Sprint retrospective concludes the sprint, collecting feedback from the team to understand what worked and didn't.

3 days a week, the HomeCook team conducts an asynchronous standup prompted by the Alice bot in Slack (a team communication platform, which you'll learn more about in the next module).


The Alice bot will prompt a standup report message in your Slack chat to report what you have done, what will you work on now, and if you have any obstacles/need any help.

Sprint Planning Deep-Dive

Sprint planning is where the development team, product owner, and stakeholders work together to define the goals, prioritize the backlog items and plan the work for the upcoming sprint.


Backlog items are a prioritized (by business value, risk, complexity, dependencies), collection of work items that need to be completed in a project, typically expressed as user stories, bugs, tasks, or technical debt.

  • User stories: a user story is a general description of a feature, written from the perspective of an end-user.
  • Bugs: errors or defects in a software application that cause it to behave in an unintended or unexpected manner.
  • Tasks: specific, individual steps necessary to resolve an issue.
  • Technical debt: work required to maintain and improve the quality of software due to the use of inefficient solutions during the development process.


During the sprint planning meeting, the development team reviews the product backlog, estimates the effort required for each item through story points (a unit of measure to estimate the effort required to complete an item - see HomeCook's chart below), and commits to a set of items they believe they can complete in the sprint.


The team may also discuss and agree on any changes to the sprint goal, the sprint backlog, or the team's capacity to deliver during the sprint. The outcome of sprint planning is a sprint goal, a prioritized and estimated sprint backlog, and a plan to achieve the sprint goal. The sprint planning meeting is an opportunity for the development team to collaborate, identify and mitigate risks, and set the stage for a successful sprint.

There's much more to learn about agile and scrum! One thing to keep in mind - every team implements it differently.


Here are more resources: