Our Brand Promises
Provide Quality Software Development Service
We want to give our clients the best experience when engaging a full stack software development house. We believe in quality foremost delivered through a proven process.
We are dedicated to continual improvement. We follow industry best-practices and participate in the wider community of developers to keep current to provide quality software development services.
Every project has a code style guide (or more commonly, a link to a publicly published style guide). We follow a self-documenting code philosophy which helps us avoid many of the errors and inefficiencies from wrong documentation and typos. We frequently reference large open source projects
Every line of code we write gets reviewed by another member of the team. In this way we hold ourselves accountable to maintain consistency with the chosen standards. This also spreads out the project-specific knowledge between team members.
We use Test Driven Development to efficiently develop and maintain large scale codebases. By writing tests before application code we ensure that we only write the necessary code for the feature at hand. Tests also provide a form of documentation as they explain what the code is supposed to do. As development progresses, tests prevent regression bugs and save time manually testing the application. With a passing test suite, we can confidently deploy quality software with new features to production automatically.
As much as possible we try to work as pairs of developers on a single computer terminal. While this does not affect the speed of development initially, it greatly improves quality as one developer is able to focus on the big picture of how a feature will fit into the overall architecture while the other can concentrate on syntax. This also provides a way to get new developers up to speed on an existing project while still being productive
At Radial, we encourage continued education through 20% time. Each developer can spend up to 20% of their week working on a technology related project of their choosing. This often includes reading programming books, building fun programs in new languages or frameworks, or participating in relevant community events.
Process and delivery
The best code in the world is no good to anyone unless it’s delivered. This requires a consistent process designed for incremental release.
Large projects are inherently risky. Much of this risk can be mitigated by building and releasing one feature at a time. This means that the project is always kept in a functional state which provides some amount of value. We deliver consistent progress not eternal projects.
One of the ways we improve delivery is by tying ever piece of functionality to business value by defining it as a user story. In a user story we identify the stakeholder who benefits, what that user wants, and the value to them. This prevents wasted time on hypothetical problems.
We provide quality software development by having deployable code from day 1. We provide documentation on how this can be done from the beginning and expect to have a working staging server within the first week. If you can hand a project to a new developer and have them up in running in less than a day you might not have anything at all. That’s why we often ask an intern to try to deploy a project on their own to make sure we have provided adequate documentation.
Pair programing also improves delivery by keeping more than one person in the loop at all times. Your project should not hinge on the availability of a single individual.