Project Brief Overview

In any real-world software development project there will be a set of requirements which describe what the system should do in order for it to be considered a success.

Let's review the requirements for the Task Tracking application we are to build.

The Project Brief

The Task Tracker App is designed to help users organize their daily tasks, set priorities, and track their progress.

This application will provide a user-friendly way for creating, managing, and completing tasks, helping users to increase their productivity and stay organized.

Definitions

Task

A task is a specific action item or to-do that a user wants to complete. It typically includes a title, description, due date, and priority level.

Task List

A task list is a collection of related tasks, grouped together for organizational purposes (e.g., "Work Tasks", "Personal Errands", "Project X").

User Stories

Group Tasks into Task Lists

As a project manager

I want to be able to create multiple task lists for different projects

So that I can keep tasks organized and separate Acceptance Criteria

  1. A user can create task lists which can contain tasks.

  2. Each task list should have a title and optional description.

Update Task Lists

As a project manager

I want to be able to update a task list’s name

So that I can ensure task lists names remain relevant

Acceptance Criteria

  1. A user can update task lists name and description.

Delete Task Lists

As a project manager

I want to be able to delete task lists I no longer need, or have created by mistake

So that I can ensure task lists remain relevant

Acceptance Criteria

  1. A user can delete task lists.

Capture Tasks

As a busy professional

I want to be able to quickly add new tasks to my list

So that I can capture all my responsibilities without losing focus on my current work

Acceptance Criteria

  1. Users can create new tasks on a task list.

  2. Each task should have a title, optional description, due date, and priority level.

Update Tasks

As a user with a busy schedule

I want to be able to adjust the title, description, due date and priority level of my tasks

So that I can focus on what's most important

Acceptance Criteria

  1. Users should be able to edit tasks.

Delete Tasks

As a user prone to making mistakes

I want to be able to delete tasks I have created by mistake

So that my task list of tasks is correct

Acceptance Criteria

  1. Users should be able to delete tasks.

Complete Tasks

As a productive user

I want to be able to mark tasks as complete

So that I know which tasks I have completed and can focus on the next task I need to complete

Acceptance Criteria

  1. Users should be able to mark tasks as complete.

Task Completion Progress

As a productive user

I want to be able to see my task list’s task completion progress

So that I can stay motivated and understand my productivity

Acceptance Criteria

  1. Users are informed of their completion percentage of tasks in a task list

Bonus Features

  • Users can set reminders for important tasks.
  • The app should provide a way to filter and sort tasks based on due date, priority, or list.
  • The app should provide a dashboard showing task completion statistics.
  • Users can search for tasks across all their lists.
  • Implement a tagging system for tasks to allow for more flexible organization.
  • Add the ability to share lists or individual tasks with other users.
  • Integrate with calendar applications to sync due dates and reminders.
  • Implement a Pomodoro timer feature to help users focus on tasks.
  • Create a gamification system with points and achievements to encourage consistent app usage.

Project Brief Analysis

The project brief itself is broken down into a few different sections.

Summary

The first is a brief summary of the project – that it is an app "designed to help users organize their daily tasks, set priorities, and track their progress".

Definitions

Next there are some definitions. They're captured here to make sure that we're all using the same words to mean the same things.

Here we have a definition of a Task as a "specific action item or to-do that a user wants to complete. It typically includes a title, description, due date, and priority level". This is great as it tells us the sort of members our Task class might have, but more on that later.

Then we have a definition for a Task List, which is a list of tasks, simple enough. But the description tells us that a Task List has a name member – a useful piece of information when we come to implement it.

User Stories

Next we have a list of user stories. If you're unfamiliar with this pattern, a user story describes what a user wants to do from the point of view of that user.

This little nuance is enough to give us some additional context, over “the system MUST do X”. More context helps us make better decisions during development.

Each user story follows the format as a, I want, so that. In the first case:

As a project manager I want to be able to create multiple task lists for different projects So that I can keep tasks organized and separate

We can see from this little story that there's a requirement of a user being able to create multiple task lists.

Acceptance Criteria

Following each user story we have a set of acceptance criteria.

Acceptance criteria are statements which can evaluate to true or false.

The idea is, when all acceptance criteria evaluate to true, then the user story is considered complete and finished.

For this user story we can see the following acceptance criteria:

  • A user can create task lists which can contain tasks.
  • Each task list should have a title and optional description.

Our implementation would need to work in such a way to make both statements true.

Summary

  • We'll build a task tracking app
  • The application uses Task Lists to group related tasks together
  • Requirements are defined through user stories and acceptance criteria
  • Additional bonus features are available for further practice
© 2026 Devtiro Ltd. All rights reserved