Edit on GitHub

Our delivery framework

Our project process is defined by the specific needs of each client and each project, however with the help of the Agile Business Consortium we have adapted the DSDM framework to help us to keep consistency across projects.

Our projects consist of a number of key phases: Pre-project → Feasibility → Foundations → Design Direction → Evolutionary Development

All projects consist of a Feasibility and Foundations phase before we commence development.

Pre-project

As the name suggests, this is before the project begins, before any contracts are signed. It’s about getting to know the client, their needs and what the project will entail.

Feasibility

This phase allows us to dive deeper into technical, design, budget and team agility questions and issues to be able to assess and adjust scope and requirements for the project. It’ll include a Blueprint workshop run by the Creative Director, Technical Director, the Project Lead and Delivery Manager.

Foundations

There are a variety of tasks in Foundations to make sure we are building the right thing in Evolutionary Development. During this phase we commonly undertake research, technical spikes, prototypes, user testing and agree the design direction.

Key outcomes include:

  • Agreeing a high level Delivery Plan which outlines delivery dates and objectives
  • At least the first Timebox of user stories refined and estimated
  • Definitions of Ready and Done agreed
  • Roles and responsibilities agreed

The activities are flexible but the outcomes are fixed and are assessed against this checklist of deliverables.

The length of this phase varies depending on the project but on average is between 6-8 weeks.

Design Direction

This is part of the Foundations phase with the end goal of having the overall design direction signed off by the client before Evolutionary Development starts. It’s an iterative process where key pages are presented to the client for feedback. We don’t commence development until the client has signed off of the design direction.

Evolutionary Development

Evolutionary Development is an iterative process. We use Jira as the project management tool with a defined workflow. We’re planning development in Timeboxes (generally 2 weeks long) and make use of agile ceremonies to keep us on track.

Agile ceremonies

  • Daily stand-ups - standups are held with the client and each member of the team gives an update on what he/she did yesterday, what he/she are going to do today and if there are any blockers
  • Retrospective - Held at the end of each timebox to recognise the good, identify issues and take actions to improve future Timeboxes
  • Sizing - The development team estimate refined stories either in story points or hours
  • Demo meetings - Is part of the acceptance meeting with the client at the end of every timebox and includes a demo of what has been completed.
  • Timebox planning - The Development team, Business Ambassador and Delivery Manager decide on the next timebox goal and what stories will be worked on taking into account team capacity.

To prioritise stories we use MoSCoW prioritisation - a technique for helping to understand and manage priorities following Must have, Should have, Could have, Won’t have this time categorisation - which helps us agree on a Timebox commitment and overall delivery plan.

Additional ceremonies

  • For internal project oversight, the Project Lead and Delivery Manager run weekly project review meetings.
  • Fortnightly client and Delivery Manager check-ins to celebrate achievements and/or discuss issues and concerns.
  • We send out a monthly satisfaction survey to our clients. The Project Lead will review any feedback and inform the team of any actions to be taken.

There is a more extensive description of our process about our adapted agile delivery methodology here.

Roles and responsibilities

As we grow and processes change, we keep iterating on roles and responsibilities. Roles at Deeson provides a general overview, project roles and responsibilities provides a more detailed list of accountabilities during a project's life cycle.

Specifically, there are two key client side project roles:

Business Visionary

  • Budget holder
  • Resolves business issues
  • Makes financial decisions
  • Enables and ensures fast progress throughout project

Business Ambassador

  • Responsible for managing the prioritised requirement list in JIRA
  • Responsible for signing off on a Timebox before it starts including acceptance criteria on a feature level
  • Responsible for attending Timebox planning sessions, demo’s and retrospectives
  • Responsible for undertaking UAT and signing off features completed during the Timebox

Useful resources

  • Fun Retro - A tool that allows distributed teams to have effective retrospectives
  • Retromat - A great source of inspiration for running successful retrospectives