The Relevance Approach to Development
Over hundreds of projects, we have created a development method that works every time.
The best software is written by small teams, with direct, daily
access to business people. We use daily standups, biweekly iterations,
email, chat, wikis, and anything else necessary to keep the team in
Choose the sharpest tools
We use the sharpest tools available. On recent projects these tools have included Ruby, Rails, Mingle, Groovy, and AspectJ.
Commit to the lifecycle of a project
Developers often optimize the development phase, and then create
huge costs in deployment and maintenance. We build software for best
results through the entire project lifecycle.
Untested code is legacy code, even if it was written yesterday. We
use Test-Driven Development in conjunction with continuous integration
and code coverage analysis to keep code healthy and ready to evolve.
Knowledge in only one head might as well not exist. Relevance uses
pair programming, code review, and team rotation to spread knowledge
through the entire project team, and beyond.
Deliver small, complete pieces
If your project is six months long, you should not have to wait
three months to see progress. Relevance delivers working software in
two-week iterations. We track project velocity so you know how much
your project will cost, and when it will be completed.
Embrace changing requirements
Most software teams fear changing requirements. This is unfortunate,
because changing requirements often represent the best opportunity to
add value. Relevance will work with you to re-evaluate priorities at
every iteration, so that the next piece of functionality you add can
always be the highest-valued one.
Succeed every time
Skilled programmers can succeed once. To succeed every time, you
need a standard process. We collect data and create feedback loops both
within and across projects to ensure success.