Services

Services Offered

Each software development project is different, and we tailor each project to meet the needs of our client. There are, however, specific parts of each project that remain consistent from project to project.

Requirements Gathering

The first step in every software development project is to gather the requirements for the project. Which type of project will it be? Where will be application be hosted or installed? What’s the target audience? Which framework will best meet your needs? Read more about the requirements gathering process.

Application Architecture

What type of architecture will your software require? We explore all the options available for your project’s requirements and help you decide on the best fit and structure of your software. Read more about application architecture.

Types of Applications We Create

Although this is not an exhaustive list of the types of applications we create, our primary focus is on

Unit Testing

We write code that is testable, mostly. Not all code lends itself to great unit testing due to several factors, but more often than not, the restrictions are based on one or more dependencies directly referenced or even hard-coded into a class.

We use Inversion of Control and other methods of abstraction to isolate code as much as possible and increase the testable footprint of new and existing code. You can read more about our Unit Tests here.

Our Project Delivery Process

Software development project work is delivered in increments known as Sprints. Sprints can vary in duration from two (2) to four (4) weeks, depending on feature set or changes included in the sprint’s release cycle.

Software is released at the end of each sprint. How it is released is determined by the hosting device or server, cloud platform or service provider as well as many other items required by specific cloud services provider or hosting provider.

With each release, we include Release Notes as well as a Developer’s Notebook (here’s an example).