Key concepts
A few concepts are key to our development methodology ...
Test Driven Development
The principle is straightforward; write a test before you write the code. When all business requirements are covered by tests, and all of these tests succeed, the application is sure to do what was expected. Whenever a bug is found, a new unit test is created, thus avoiding the bug to emerge later on.
Test driven development greatly ensures high maintainability of the code, and is the only way to make sure that the code actually works.
Continuous Integration
Continuous Integration is another simple, yet very effective practice to ensure quality software development.
It actually means that each time code is checked in, a build engine makes a build of the project, and runs all tests. The result of these tests is then incorporated into our Genesis Process.
Fast Feedback
To monitor quality even more, we have built an agile feedback device to show the results of the build an d the unit tests, called our 'Lavalamp'. This simple feedback system is available online, and cycles through all our projects. Green is good ... red is bad >>
Refactoring
The aim of refactoring is simply to improve the quality of the code.
According to Martin Fowler:"The process of changing of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure."
Code generation
Where possible, repetitive coding tasks are facilitated using code generation. Examples are: the data access layer, stored procedures for CRUD, ...
|