← Back to Home

Module 4: Scrum

Learning Objectives

Memory Management in Java

Understanding how memory works in Java is crucial for writing efficient and bug-free code. In this module, we'll explore Java's memory model and how it affects your application's performance and behavior.

The Java Memory Model

Java's memory is divided into two main regions:

The Stack

The stack is a region of memory that stores:

Each thread in a Java application has its own stack. When a method is called, a new frame is created on the stack, containing:

When a method completes, its frame is removed from the stack.

The Heap

The heap is a shared region of memory where all objects are allocated. When you create an object using new, memory is allocated on the heap. The heap contains:

The heap is managed by the garbage collector, which automatically reclaims memory from objects that are no longer reachable.

Garbage Collection

Java's garbage collector automatically identifies and removes objects that are no longer reachable from your application. This helps prevent memory leaks and makes memory management easier.

How Garbage Collection Works

An object becomes eligible for garbage collection when it's no longer reachable through:

The garbage collector periodically runs to identify and remove unreachable objects, freeing up memory for new allocations.

Memory Leak Prevention

Even with garbage collection, memory leaks can still occur if you maintain references to objects you no longer need. Common causes include:

To prevent memory leaks, always remove references to objects you no longer need, especially in long-lived containers or when using event listeners.

Introduction to Scrum

Scrum is an agile project management framework that helps teams work together. Like a rugby team (where it gets its name) training for the big game, Scrum encourages teams to learn through experiences, self-organize while working on a problem, and reflect on their wins and losses to continuously improve.

While Scrum is most frequently used by software development teams, its principles and lessons can be applied to all kinds of teamwork. This is one of the reasons Scrum is so popular. Often thought of as an agile project management framework, Scrum describes a set of meetings, tools, and roles that work in concert to help teams structure and manage their work.

Why Scrum Works

Scrum is popular for several reasons:

Scrum Framework Components

Scrum Roles

There are three main roles in Scrum:

Scrum Events

Scrum defines several time-boxed events (meetings) that create regularity:

Scrum Artifacts

Scrum uses several tools to make work visible:

User Stories

User stories are a way of describing features from an end-user perspective. They typically follow this format:

As a [type of user], I want [some goal] so that [some reason].

For example: "As a customer, I want to be able to save items to a wishlist so that I can easily find them later."

User stories help the team focus on delivering value to users rather than implementing features for their own sake. They're written in everyday language, which makes them accessible to everyone involved in the project.

INVEST Criteria for Good User Stories

A good user story should be:

Using Trello for Scrum

Trello is a popular tool for implementing Scrum because of its flexibility and visual nature. Here's how to set up a basic Scrum board in Trello:

Basic Board Structure

A typical Scrum board in Trello might have these lists:

Creating Cards

Each card in Trello represents a user story or task. A well-structured card should include:

Managing the Sprint

During the sprint, team members move cards from left to right as work progresses. This provides visibility into the state of the sprint and helps identify bottlenecks or blockers.

Key Topics

Scrum Overview

Learn the fundamental principles and components of the Scrum framework.

  • Agile principles
  • Scrum roles and responsibilities
  • Scrum events and ceremonies

Introduction to Sprint Planning in Trello

Learn how to use Trello to organize and manage your project using Scrum.

  • Setting up a Trello board for Scrum
  • Creating and organizing cards
  • Tracking progress during sprints

User Stories

Learn how to write effective user stories to capture requirements and guide development.

  • User story format and components
  • Acceptance criteria
  • Story points and estimation

Guided Project

In the guided project for this module, you'll apply what you've learned about Scrum to plan and track your Learn and Be Curious project.

Project: Setting Up Your Project in Trello

This project will guide you through setting up a Trello board for your project and planning your first sprint.

Sprint Planning

Create a Trello board for your project and plan your first sprint.

Additional Resources

Scrum Guide

The official guide to Scrum, written by the creators of Scrum.

Trello for Scrum

Trello's guide to using their platform for Scrum projects.