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.
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.
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
Web or Cloud-based Applications – Including ASP.NET MVC and Web API (REST) Services.
Mobile Applications for phone and tablet devices – Including applications for Android, iOS and UWP mobile devices.
Desktop and UWP Applications – Including Windows, UWP and MacOS Desktop applications.
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).
We deliver our products in a variety of ways. Read about our delivery and deployment strategies here.