001 - SPAWN, A simple framework to organize projects
5 min read

001 - SPAWN, A simple framework to organize projects

This article is proposing SPAWN, a collection of guidelines to start and organize projects, based on widely available tools, for those cases where the team is not sure about how to start.
001 - SPAWN, A simple framework to organize projects
Spawned eggs | Photo by Mae Mu on Unsplash
“the beginning is the most important part of any work”

Plato, The Republic

After finding myself multiple times paralyzed because of not knowing what to do when starting a project, I decided to write down and put some structure to the repetitive tasks that were always done when bootstrapping a project.

As a result, I’ve created the SPAWN framework which is a collection of tactics and simple conventions. It is applicable in a wide range of contexts and it doesn’t have hard dependencies on specific tooling, but instead, it only requires three widely adopted systems:

  1. Any online task tracking tool like Trello or Jira.
  2. Any online document and sharing platform like GSuite, Zoho, or Office365.
  3. Any link shortening service like bit.ly, shorturl.at, tiny.cc, cutt.ly.

The main components of the framework are Shared folders, Proposal and plan, Abbreviated links, Work-board, and Notes document. By putting their initials together we get the word SPAWN, which allows us to do the metaphor between an egg that is SPAWNed and a project that is started in an attempt to make it easy to remember.

SPAWN is broken down below, including examples and templates for each of its parts.

1. Shared folder

This is a simple and basic one for any collaborative effort. Create a shared folder and give access to your teammates. Useful resources like meeting notes, proposals, or slide decks should be put in there.

Find an example in bit.ly/spawn-folder

2. Proposal and plan

There are different formats and templates out there that tell you how to write a proposal or design document, but most of the time, it is enough to have a well-defined problem, solution, and plan. If one is missing, the project should be reconsidered; if all are clearly defined, the team has given the first step towards completion.

Off-course this might be over-simplistic in some cases, but these are the basics. Add more sections as you want, for example, goals, non-goals, or success metrics.

Also, I suggest you always add a TL;DR. It saves people time.

Find a template of a SPAWN proposal in bit.ly/spawn-proposal

3. Abbreviated links

No one will memorize cryptic URLs for the different resources required to work. Make people’s life easier by creating abbreviated links (a.k.a. short links) for the most important things and, whenever possible, follow the convention <project>-<thing>; in that way, it will be easy for anyone to find those common resources associated to projects that follow the SPAWN conventions. For example:

Additionally, most of the URL shorteners like bit.ly, shorturl.at, tiny.cc, cutt.ly, provide you with analytics, which might be helpful to track traffic into things like your proposal, your MVP, or why not, your work-board.

4. Work-board

As mentioned at the beginning, one of the requirements for SPAWN is to have access to a task tracking tool. Since task tracking and project management are big topics by themselves, the choice of a specific methodology is left to the team with the only requirement of having a work-board that will serve two purposes:

  1. Be the place for the team to dump tasks and see what needs to be done next.
  2. Allow stakeholders to track status and progress.

The work-board can be something as simple as a Trello board or as complex as a Jira agile board.

Additionally, in order to empower stakeholders to be active contributors, create and share ticket templates for issue reporting and feature requests along with their respective short-links (<project>-feature and <project>-issue).

Example of a simple Trello board

5. Notes

Find a template in bit.ly/spawn-notes

The notes document should be the entry point for any meeting, and as such, will be the most used document. All the team members should be owners of this document, should be encouraged to contribute to it and maintain it, because, in it, all the ideas, resources, and decisions will be persisted and organized as a journal. The suggested structure is as follows:

  1. Header with title, contributors, self-referencing link, and links to the most important resources.
Example header of the notes document of the SPAWN framework
Example header of the notes document of the SPAWN framework

2. A backlog that can be updated with topics to discuss in the next meeting.

3. List of meeting-specific notes. Put a date and whenever possible a title that describes what was done during that meeting, for example, “December 9th — Brainstorm”, followed by bullet points with raw notes of the topics discussed. As note-taking happens in real-time, it’s nearly impossible to not make mistakes, so don’t spend time making them perfect. Try to use links, images, and screenshots to provide context.

Remote Execution API public notes document

4. Comments to quickly assign tasks. Even though it would be ideal to use a ticketing system to have proper tracking of tasks, using comments is a quick way to assign an action item, including “move these to Jira”.

Pro-tip for Google Docs: Typing “+” and the email of one of your teammates can be used to assign a task to them.

Summarizing

At a very high-level SPAWN consists in:

  1. Create a Shared Folder to store and share any useful resource.
  2. Create a Proposal and plan document where the team defines a clear north-star.
  3. Create Abbreviated links for everything following the convention <project>-<thing> which allows things to be easily discovered.
  4. Create a Work-board where the team can find the work to be done and stakeholders can track progress.
  5. Create a Notes document so that everything discussed in meetings is persisted and can be easily referenced in the future.

After following these steps your project has been SPAWNed, and it’s now a matter of incubation to see it eventually hatching.

I hope you find in SPAWN a useful set of practices that will save you and your team time and brainpower the next time you start a project.

— Simon

Thanks to Antonio Jimenez, Chris Laffra, Edgar Da Silva, Mauro Barquero, Praveen Murugesan, and Santiago Baldrich for inspiring, reading, and commenting on drafts of this article.