Tamman designs websites, applications, prototypes, and data visualizations. We use an open and collaborative process that focuses on solving problems in a measurable way. Our consultants design to prototype - meaning they focus on getting concepts in a usable format as quickly as possible. This allows us to validate our concepts with users and stakeholders early and often and ensures the developers can implement anything that we design.

Design is a form of accountability. It helps both our team and our clients better understand the problems we're trying to solve, how we'll solve them, and how effective our solutions were. The task of defining solutions using a design process is often lead by our design staff and involves all of us. We treat design less as a job or a "phase of work" and more as an overall approach to doing business and writing software.


Tamman develops Rich Internet Applications and deploys enterprise content management systems using either .NET or Ruby on Rails. We follow a quality-obsessed agile methodology that builds to requirements. This allows our clients the ability to see progress iteratively and try out solutions long before the quality-assurance phase at the end of projects.

We understand that no system stays perfect forever - so we implement testable solutions allowing us to change code quickly when the business need arises. This approach allows us to explore possibilities as well as solve specific problems quickly.

Product Management

Tamman plans and executes projects through the entire software development lifecycle. Our planning process is designed to identify and deal with project opportunities and risks as early as possible. It's a goal-driven and outcome-focused approach to determining how projects should be executed that improves efficiency. and guards privacy.

In software the path forward is not always clear. Our product management process we know why a project involves the activities it does and how to determine whether those activities were successful. This keeps us focused on finding the best solution for a given problem and prevents unguided, bloated software.