Skip to content

Commit 5c6a612

Browse files
lwjohnst86signekb
andauthored
feat: ✨ iteration chapter with description of it (#31)
# Description Moved the iteration content from team into this guidebook. I've split it up into four sections, and will make a PR for each to keep them small. This PR needs a quick review. ## Checklist - [x] Formatted Markdown - [x] Ran `just run-all` --------- Co-authored-by: Signe Kirk Brødbæk <40836345+signekb@users.noreply.github.com>
1 parent 7c87f35 commit 5c6a612

File tree

2 files changed

+106
-0
lines changed

2 files changed

+106
-0
lines changed

_quarto.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ book:
2525
- index.qmd
2626
- part: "Iterations"
2727
chapters:
28+
- iterations/index.qmd
2829
- iterations/start.qmd
30+
#- iterations/during.qmd
2931
- iterations/end.qmd
3032
- part: "Python"
3133
chapters:

iterations/index.qmd

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# Time-constrained iterative workflow
2+
3+
This chapter describes how to follow a specific, but very effective,
4+
workflow for managing and completing work in teams, especially knowledge
5+
work such as software development and research in general that we follow
6+
in the Seedcase Project. This chapter covers this workflow and how to
7+
generally use it.
8+
9+
## Iterative development in research settings
10+
11+
The way we've designed our work to follow a workflow that is inspired
12+
from some aspects of [Agile Software
13+
Development](https://agilemanifesto.org/) and
14+
[Scrum](https://www.scrum.org/resources/what-scrum-module), especially
15+
this idea of time-boxed periods ("iterations") of work that follow a
16+
specific pattern and process for incrementally building or improving a
17+
project or product. On their own, Agile or Scrum workflows don't
18+
generally fit well in more academic and research environments. Certain
19+
Agile frameworks like Scrum often assume that:
20+
21+
- You and the team are in a more traditional "business" environment
22+
with customers, which isn't always true in or comparable to research
23+
and academic settings.
24+
- Everyone on the team is working only on the project full-time during
25+
the iteration (e.g. with the use of "daily standups"). In research
26+
settings, projects are a bit more fluid and people may not work on
27+
them full-time or consistently, because they are often involved in
28+
many projects at the same time.
29+
- Everyone on the team is highly technically skilled and knowledgeable
30+
in software development practices, for instance with the
31+
"self-organizing" principle in the [Agile
32+
Manifesto](https://agilemanifesto.org/principles.html). Skill and
33+
knowledge level is highly variable in research settings, and
34+
substantial time may be needed to train people, which impacts how
35+
well these practices can be realistically applied and followed.
36+
- You have the resources to have dedicated personnel for managing the
37+
iteration and planning the product (e.g. with "Scrum Master" and
38+
"Product Owner"). In research, the biggest constraint is often funds
39+
so you likely have fewer people who have to do a wider variety of
40+
tasks and don't have dedicated personnel for specific roles.
41+
42+
All of these assumptions inherent to Scrum, Agile, or any other common
43+
industry workflow can't be directly applied to research and academic
44+
settings. So their effectiveness in those other settings might be very
45+
different from their effectiveness in these settings. So this guide to
46+
using iterative development in research settings is slightly modified to
47+
fit the needs and constraints typically found in research and academic
48+
settings.
49+
50+
## Planning upcoming iterations
51+
52+
The team who uses this workflow needs one person who is responsible for
53+
planning and curating the iterations. While this person could be anyone
54+
on the team, ideally the person is someone who has a strong
55+
understanding and big picture overview of what the team is working
56+
towards and the milestones needed to get to that final aim. This is
57+
usually the team lead, and so for the rest of the iteration
58+
documentation, we refer to this person as the "team lead".
59+
60+
If you are the team lead, you should (ideally) have a general plan or
61+
goal for what the team will do in the next two or three iterations and
62+
will:
63+
64+
- Create an iteration within the main iteration planning board (for
65+
the Seedcase Project, they are all listed
66+
[here](https://github.com/orgs/seedcase-project/projects/)). You
67+
create an iteration by going into the project board's settings.
68+
- Write the title of the iteration as the aim for it, while keeping
69+
the goal focused, small, achievable, and considerate of the time the
70+
team has available for that iteration. Ideally, you should write a
71+
sub-aim for each person in the team for that iteration.
72+
- Add tasks to the board that are needed to achieve the iteration aim.
73+
74+
Having one iteration be one calendar month makes them easier to plan and
75+
organise. That way, a year can be divided into 12 iterations, and you
76+
can more easily use that to plan the work and aims for the year. It also
77+
makes each iteration about 4 weeks, which is generally a good amount of
78+
time to be flexible while also having enough time to achieve a
79+
meaningful aim. Depending on your project, shorter iterations of 3 weeks
80+
might also be appropriate, but we generally don’t recommend going beyond
81+
4 weeks, since the team might lose focus on the aim and it becomes
82+
harder to maintain a clear sense of progress.
83+
84+
Having an iteration last one calendar month also makes it easier to
85+
schedule the iteration's start meeting for planning at the
86+
[beginning](start.qmd) of the month and the iteration's [end](end.qmd)
87+
meeting for debriefing and doing the
88+
[retrospective](https://www.scrum.org/resources/what-is-a-sprint-retrospective)
89+
at the end of the month. That way, the team can always assume and
90+
schedule those dates as meeting dates. You as the team lead should
91+
schedule these meetings well in advance and confirm that as many of the
92+
team can attend as possible. The scheduled meeting should be put in a
93+
calendar that everyone on the team can access or see.
94+
95+
::: callout-tip
96+
We use [Teamup](https://teamup.com/) for scheduling meetings and keeping
97+
track of the iteration dates. The advantage of Teamup is that anyone
98+
(with the right permissions) can add events to the calendar, and you can
99+
easily synchronise it with your own calendar app. So there is no
100+
"locking-in" to a specific calendar app. We highly recommend using
101+
Teamup if you are working in a team with others that may or may not be
102+
in the same organisation or who don't necessarily use the same calendar
103+
app as you.
104+
:::

0 commit comments

Comments
 (0)