Search…
⌃K

Best Practices

Learn tips on how to manage your project in Acorn.
This page is under development.

Getting started with your project in Acorn

Starting with the highest level intended Outcomes

Acorn focuses on desired and intended Outcomes instead of goals. What it means for you and your team is that when you start a project in Acorn you would want to start with writing down the highest level Outcome or Outcomes for your project in declarative sentence (we call this an Outcome Statement). For example, one of the highest level Outcomes that we want to achieve for the Acorn software project would be:
Software dev teams have a seamless and frictionless experience doing project management using Acorn.
An example of a highest level Intended Outcome, viewed in Expanded View

Breaking down the Outcomes

At first any intended Outcome is Uncertain in Scope: It's not clear how long it is going to take, how it could be achieved, or who should work on it for it to get achieved.
So you would need to break down your highest level Outcome(s) into smaller scoped Outcomes. You would need to ask yourself:
  • What Outcomes do we need to achieve first to consider the highest level Outcome achieved?
  • What's our Hypothesis for breaking down the Outcome in a specific way?
You will then need to add Children Outcomes to the Outcome you are breaking down. That's where the dependency relationship between Outcomes comes into play, modelled as a Dependency Tree of Outcomes in Acorn (visible in Map View).
This Breakdown process might take you or your team some time. This allocation of time and focus is accounted for in Acorn. When you are in the process of breaking down an Uncertain scope Outcome mark it as In Breakdown mode. You can also give it a Breakdown Time Estimate for how long it could take you to break down that Outcome into Small Scoped Outcomes (shown as the Children and/or Descendants of that Outcome). You can also define who is doing this Breakdown by assigning them to that Outcome.
Breaking down the Outcomes in the Dependency Tree to reach to the level of Small Scope Outcomes. If an Outcome only has Small and/or Big Scope Children it automatically shifts from Uncertain to Big in Scope.

Creating a Dependency Tree of Outcomes

Keep breaking down each Outcome till you can confirm the lowest Child Outcome in each branch is clear in Scope and can be achieved within a short amount of time (right now this is automatically set as 1 day in Acorn). These Outcomes are Small in Scope, and you can mark them as such by opening the Expanded View of that Outcome and switching the Scope to Small.
An example of a Dependency Tree of a project seen in Map View. The Outcome on the top is the highest level Outcome.
An example of a Small Scope Outcome, viewed in Expanded View

Modifying the Dependency Tree

Acorn is meant to be an agile project management methodology. It means that as you progress through developing your project, your Dependency Tree would evolve or change. Acorn is designed to accommodate these iterations. For example, at some point you might realize you have a different highest level Outcome for your project, and you can modify your Dependency Tree of Outcomes accordingly. Learn how to add or change the connections between Outcomes.

Your team's day-to-day workflow

Now that you've broken down your tree in Map View and it has grown large enough with some Small Scoped Outcomes available, you may begin to think about where to start. Here are some tips:

Picking and ranking project priorities

The team member or members in project management hat would mark certain Outcomes in the Dependency Tree as High Priority.
Then they have to sort between those High Priority Outcomes in Priority View to rank them.
If an Outcome marked as High Priority is:
  • Uncertain Scope with Children
    • It needs to be broken down until all of its lowest level Descendants are Small in Scope.
  • Uncertain Scope without Children
    • The priority for it is breaking down that Outcome.
    • Make sure there is relevant team member (or members) assigned to breaking down the Outcome.
  • Small Scope:

Achieving Small Scope Outcomes

The team members in 'doer' hat (those who execute to achieve Small Scope Outcomes) will be able to access the Outcomes assigned to them via the Table View and using the filter 'Only show my cards'.
They can also view the High Priority Outcomes in Priority View and see which ones they are assigned to.
In the future we are intending to have the 'Only show my cards' filter for the Table View as well.

Going through the Tasklist

If the Small Outcome already has Tasklist added to it by the members in Project Management hat then the Assignee can go through those tasks and check them off as they complete each task. The Assignee also can create a Tasklist for themselves to help them break down the steps to Acheive that Small Scope Outcome.
Checking off each task in the Tasklist updates the Progress Indicator for that Outcome. When all of the tasks are checked off the Outcome automatically turns into Achieved Status. If for any reason it is determined that the Outcome is not achieved yet, you can manually switch the Achievement Status back to Not Achieved.
An example of the Tasklist for a Small Scope Outcome, viewed in Expanded View
If you achieve all the Small Scope Outcomes that are Children and/ore Descendants of a Big Scope Outcome, then the Parent Outcome automatically becomes Achieved.

Connecting Outcomes with Your GitHub Repository

Acorn is designed with project management for distributed software teams in mind. There is a GitHub Issue or Pull Request link option that you can add to any Outcome. This will help you and your team cross reference between your GitHub repo and your Acorn space.

Translating a GitHub Issue to an Outcome

What could be very useful for project management of a software product is translating GitHub issues into Outcomes in Acorn. This will help you make a cohesive understanding of where the external feedback belongs in the bigger picture of your project's Dependency Tree.
For example, we received the issue below on GitHub:
An example of an Issue on a the GitHub repo for the project
Then, we translate it into an intended or desired Outcome and link the GitHub Issue to it:
An example of a GitHub Issue translated into an Outcome on Acorn
Then we look into whether this Outcome speaks to a bigger Outcome we want to achieve for our project. For example, this Outcome helps us with achieving a bigger scoped Outcome:
App functions normally and without interruption in terms of connectivity.
So we make the recently created Outcome a Child of the bigger scope Outcome:
An example of the newly created Outcome becoming a Child of a bigger scope Outcome