Here’s a look into our agile/scrum system. At a high level, it represents the values and principles of agile and scrum, but the detailed processes and workflows are uniquely Far Reach.
The Backlog
Work to be done lives in a backlog. Ideally, the backlog is prioritized, but we’ve found that there’s usually a prioritized backlog for upcoming work and then a less-defined backlog with ideas, long-term work, and more.
The prioritized backlog includes user stories, each of which has requirements gathered by the PO. Each story is a piece of work to be done within a larger feature, project, or system.
Every story has an estimate, and the agile/scrum framework uses points to estimate. Points are relative and indicate the risk, effort, and complexity of a story compared to similar work. For example, a quick, very isolated task that can be developed,
tested, and deployed in an hour or two might be one point, whereas a multi-day story that touches multiple areas of the system and relates to a mission critical process might be 13 points.
For pointing, we use the Fibonacci sequence: 1, 2, 3, 5, 8, 13. The sequence continues, but we try to break down stories to 13 or smaller. Points are determined by the team, often through scrum poker.
So every story is prioritized, has requirements, and is pointed in the backlog.
The Work
Our work is split up into sprints, which are repeatable, fixed time-boxes. We most often work in 2-week sprints. Each sprint, or iteration, has an overarching goal. It could be getting a specific feature pushed out, improving velocity, or any other
goal that might be possible in two weeks.
There’s no set structure for how stories are completed in scrum. At Far Reach, each story, no matter who’s working on it, goes through the same process, from development to code review to testing to deployment. We’ve worked together,
over many years, to lay out processes and procedures that allow our work to be completed with consistency and by almost anyone on the team (or project). We refine these processes continually (see the next section for more on that) as we learn.
The
point of agile/scrum is to deliver software quickly and to adapt as you learn. This is why custom software systems start with an
MVP, a minimum viable product. Instead of building an entire system end-to-end, which typically takes months or years, you build an MVP and then you iterate, iterate, iterate.