Best Practices
Learn tips on how to manage your project in Acorn.
Last updated
Learn tips on how to manage your project in Acorn.
Last updated
© 2020-2024 Harris-Braun Enterprises, LLC, operating as Lightningrod Labs. Licensed under the Cryptographic Autonomy License v1.
This page is under development.
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.
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.
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.
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.
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:
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:
It needs to be assigned to related team member or members
Have a Tasklist created for it.
You can also add a Target Date.
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.
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.
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.
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.
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:
Then, we translate it into an intended or desired Outcome and link the GitHub Issue to it:
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: