We believe in agile and iterative development, with testing at every stage, married to a design that respects the digital medium.
We code in sprints: concentrated, time-bound chunks of effort to deliver code that answers people's needs. After every one of those sprints, we'll show you what we've done, do some testing and talk to you about prioritisation for the next one. Sometimes this will be obvious, sometimes it'll take a little longer.
Our iterative approach produces the best results when we test how our software works with people who will actually it. Insights from those usability testing session drive our improvement of the digital products we create. In addition, automated testing means we can sleep at night, and improve code without extensive and time-consuming manual testing. That automated testing can be linked to deployment processes too, so that we can push new updates to live sites fast.
We favour design appropriate to digital products. That means thinking about file sizes, about the amount of code a design will require, and about reaching first for those techniques which are part of web standards. It also means our instinct is for responsive design which respects the fact that it will be viewed on different screen sizes and devices. Preferably, that's partnered by a content strategy that does the same. It also means thinking about accessibility from the start. That's not a checkbox exercise, that's an essential, and for us good design is accessible, inclusive design.
We begin our design process with a simple style guide that talks about typography, colour palettes, and then headings, lists, boxes, and form elements. We apply that design to our prototypes to give us something whose we can test, and then we make improvements as necessary. We don't work from flat mockups of an entire digital product.