29.Nov: Update 2: Prep Work
Hello all,
here's another update on your (soon to be, if not already) favourite project.
In order to stay on top of things as well as guarantee a pleasing result I've decided to use a few concepts loaned from
agile development processes.
Wikipedia describes the very (very, very, very) basic principle as follows:
Most agile development methods break product development work into small increments that minimize the amount of up-front planning and design. Iterations, or sprints, are short time frames (
timeboxes) that typically last from one to four weeks. Each iteration involves a
cross-functional team working in all functions:
planning,
analysis,
design,
coding,
unit testing, and
acceptance testing. At the end of the iteration a working product is demonstrated to stakeholders. This minimizes overall risk and allows the product to adapt to changes quickly.
[20] An iteration might not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal
bugs) at the end of each iteration.
[21] Multiple iterations might be required to release a product or new features.
Working software is the primary measure of progress.
We're not staying too true to these principles, but will adapt those that make sense in our concept:
- small increments/many iterations
- minimized upfront planning and design
- separations into sprints
- frequent feedback rounds with stakeholders (here: the entire community)
This is supposed to allow us to adapt to changes and feedback easily, and increase our overall flexibility and efficiency. It furthermore allows us to split projects into tasks, and easily keep track of them.
Here's how it works:
We split our workload into so-called sprints, which are time windows of any given size (could be a couple hours, a week, ... ). We will ignore the fixed time window, I think. Instead, we'll work in Progression Phases, which contain of a number of things that need to happen before we can complete the sprint and move on to the next phase. You'll find an overview of all current tasks (the ones that I could think of two weeks ago) on the
Trello-Board I've created for this (I've been using our mod Asana for this, but I can't make that accessible to others that might be interested in helping.)
The full work-cycle looks somewhat like this:
- The 'Backlog' column contains all tasks we need to complete. We may add more at any given time.
- Before every sprint we make up our minds to isolate the tasks we think we can or should complete during that sprint and move it to the 'Current Sprint' column.
- During the sprint we work on a task and move it to the 'In Progress' column.
- If it's complete, we move it to the 'Completed' column.
- After each sprint we review our success and progress.
- If we didn't complete a task during a sprint, we move it back to the 'Current Sprint' or even the 'Backlog'.
During the sprint we'd ideally have frequent and regular, but short meetings to keep everyone involved on the same page. I opened a permanent
Oldtown Channel on Discord, which will serve as a platform for this.
So, sounds complicated, but is actually rather easy to grasp. We won't be too strict about this approach either, but I'm sure it can help us with this massive project.