At our core, we are true agilists focused on building software of the highest quality. We don't subscribe to one dogma or a single all-encompassing approach. For us, process is all about context. Developing great software is dependent on what you are building, who you are building it with and who you’re building it for.

If your organisation is new to software, we can make your journey as straightforward as possible. Equally, should your organisation have a preferred method of working, we can adapt. Although, we will never compromise on quality.

Building software requires many skills. Some you can capture in a process, some you can't. Here is the essence of how we work.

Discipline

We focus on doing the simple things really well. Clean code, automated testing, quality assurance, continuous integration etc are all baked into how we work. These are the non-negotiables that form the basis of our engineering culture and approach. It’s how we deliver quality.

Clean Code

Discover

All our projects kick-start with a collaborative discovery workshop. Together, we create a shared vision of what we’re building and agree an initial 3-month roadmap. Discovery time will vary depending on the size of the project and the agreed outputs.

Discovery outputs can include:

  • Delivery themes condensed into high-level epics
  • Identification of key personas and system stakeholders
  • Paths that achieve highest positive impact
  • Backlog of user stories and detailed requirements analysis
  • Prototypes to mitigate risks of unknowns and complex challenges
  • Initial UI wireframes (PDF or point-and-click demo)
  • Solution architecture including technology stack
  • Delivery plan, milestone definitions and resourcing, etc
  • Communication strategy (see below)

Iterate

We develop software iteratively over multiple mini-releases. Each iteration (or sprint) compresses planning, coding, testing, QA and release of working software into a 2-week block. Sprints start with a planning session to create a backlog and end with a demo of working software. Future sprints are shaped using feedback from previous iterations and current backlog priorities.

When the initial 3 month plan is complete, we repeat the process. Subsequent 3-month cycles start with a detailed planning session to estimate, prioritise and map out goals for the next 3-months. Each cycle ends with the release of working software into production ready for commercial use.

For more complex projects we may undertake some additional discovery to mitigate risk and uncertainty, but only when necessary. The key thing is we adapt our processes to work for the project, not the other way round.

Agile

Communicate

A communication plan specifies how and when stakeholders communicate. Our preference is for as much face-to-face interaction as possible. As a baseline we recommend the following channels:

  • Google Hangout or Slack for instant messaging
  • Telephone first, then email for more formal requests
  • Jira for raising issues and documenting user stories
  • Confluence or Gitlab Wiki for documenting shared information
  • Daily 5 minute standups for quick verbal information sharing
  • Weekly reports for documenting progress
  • Bi-weekly (all-hands) demos to present progress

Shared Vision

Process alone cannot guarantee success. Great software is created by brilliant, dedicated people who have the insight, experience and expertise to deliver amazing outcomes. True success is only possible when all stakeholders are aligned behind a clear, shared vision.

We believe in the concept of a single team; client and customer working together towards a common goal, focused on building software that transforms and improves how people live. It's a simple philosophy that underpins everything we do.