Skip Navigation LinksHome > Services > Agile Software Development

Services

Agile Software Development

Agile Software Development

We believe that Agile Development is often the best way to build solid Software that meets our clients needs. While this is our preferred option, there are times when we will adapt our methodology to fit a specific project. Ultimately, we want to work in a way that makes you feel the most comfortable, but still ensures a productive and communicative project environment.

Iterative Development

Iterative Development occurs when software is developed in small cycles that delivery a predefined amount of tested functionality to the users.

Small
Should be at least 1 week and at most 1 month
Predefined
The work must be defined, estimated, prioritized and agreed on prior to the start of an iteration
Tested
The functionality developed should be high quality and include automated Unit Tests to ensure the developed software works as expected
User Functionality
It has to work from the perspective of the user of the system

This process allows for early identification of errors in specification, in development and in communication so that those problems can be addressed.


Automation

Automation of our processes is important because it brings standardization. It is also important because it is a deliverable we can give to our clients when we hand-off a project. Your internal developers will be able to pick-up right where we left off.


Unit Testing

Unit Testing is the practice of developing small tests for each unit of code as the code is developed. These tests get combined into an automated test suite that is run continuously throughout the lifecycle of the application. These tests are the basis for quality as they test the lowest level pieces of the application. The tests help prove to the team that the code does what it is expected to do so the team can have confidence in the project as a whole. Unit Tests also help us to be Agile by allowing us to respond to changing requirements without fear of unknowingly breaking the system.


Continuous Integration

Continuous Integration is the process of having an on-going automated build, integration and testing process. It helps us walk-the-walk in addition to talk-the-talk.


Customer Participation

The customer is an active participant in the project. They can and should make decisions about priorities and changes in functionality. This participation helps ensure the final product meets the needs of the customer. There should be no "big surprises" at the end of the project because the customer and users have been involved in the whole process.

Back