Skip to content

Latest commit

 

History

History
80 lines (55 loc) · 3.27 KB

working-on-an-issue.md

File metadata and controls

80 lines (55 loc) · 3.27 KB

Working on an Issue: A Practical Guide

Tackling a new task doesn't have to be overwhelming. Breaking it down into clear steps will help you manage it effectively and make steady progress.

Identify What You Need to Start

Before diving into the task, figure out what you need to know or have:

Key Questions to Ask:

  • Do I understand the main concepts involved?
  • What technical skills or knowledge are required?
  • Is anything unclear in the task? What needs clarification?
  • Are there any dependencies on other teams or tools?
  • What challenges might I encounter?
  • Who can support me?

Challenge any assumptions you might be making, and stay focused on the essentials by setting aside non-critical questions for later.

Define What "Done" Looks Like

Knowing when a task is complete ensures you stay focused and deliver quality results.

Key Considerations:

  • What key features or functions must be completed?
  • Who will review or approve the work, and what are their expectations?
  • What specific outcomes or metrics will indicate the task is complete?

An Example of Acceptance Criteria could be:

  • The feature is accessible from the main menu.
  • A confirmation message appears when the button is clicked.

Acceptance criteria act as a checklist, ensuring that your work meets all necessary requirements.

Refine and Execute

With your prerequisites and acceptance criteria in place, follow these steps to ensure smooth execution:

Steps to Take:

  • Break down the task: Divide it into smaller, manageable sub-tasks.
    • This creates clear milestones and helps you maintain focus.
  • Monitor and adjust: Regularly review your progress and make adjustments as needed.
    • If you hit a roadblock, don't hesitate to reach out for help.
    • Consider setting aside time to review your work periodically to catch any potential issues early.

Example

Let's say we have the following user story in our backlog:

"As a user, I want to tag my notes to easily organise and track related topics."

To get started, let's identify what we need to know or understand about this user story.

  • What is meant by "tagging" in this context?
  • How will users interact with the tagging feature?
  • Are there any specific technical skills or knowledge required to implement tagging?

After some analysis, our readiness prerequisites might look like this:

  • Familiarity with front-end development to introduce a tag-based search filter on the notes page
  • Understanding of how to interact with a database to store and retrieve tags
  • Knowledge of how to design a user interface for tagging notes

Now that we have identified our prerequisites, let's define what are the acceptance criterial in order to consider our user story done.

  • The tagging feature is accessible from the notes page.
  • Users can add and remove tags from individual notes.
  • The search filter updates in real-time to reflect tagged notes.
  • Tags are stored in the database and retrieved correctly.
  • The user interface for tagging notes is intuitive and easy to use.

To implement this feature, we might break down the task into smaller sub-tasks:

  • Design a user interface for tagging notes
  • Implement front-end logic for adding and removing tags
  • Update the search filter to reflect tagged notes
  • Store and retrieve tags in the database