By the work one knows the workmen.

Jean De La Fontaine

8th Light uses an agile methodology to implement its projects. This is based on a document called the Agile Manifesto. The business practices 8th Light uses can be found here. The development practices can be found here Following is a description of some of the agile practices we use.

Pair Programming

Two heads are better than one, right? We write code in teams of two craftsmen. We pair program for many reasons, among them are: quality assurance, knowledge distribution amongst the team. At 8th Light, we also don't have teams that are less than two developers. Software is written better when there is a diversity of thought in which is expressed by the team members.

TDD

Test driven development is important at 8th Light, because it is how we make sure all the code works. Test-driven development is when you write a test before you write the code. For instance, we write a test, watching it fail, then writing the code to make it pass. By running these tests frequently, we are able to be confident that the code works as expected.

Acceptance Testing

Acceptance tests are intended for the benefit of both the developers and the customer. They serve as an opportunity for dialogue between the stakeholders of the system. The acceptance tests demonstrate the behavioral expectations. This is explained in detail here.

Iteration Meetings

Iteration meetings are the heart of an 8th Light project, introducing new stories into the process on a set schedule. There are three stages to an iteration meeting: demonstrations, estimations, and the planning game. This is explained in detail here.

Continuous Integration

Since we are always working on teams, we need to integrate the code from all of the team members. We use source control management tools to help us with the integration. We also run all of our unit and integration tests. This is another quality assurance technique we use to insure that everything is working or rapid feedback when something is broken.