Can Factory

Link to the Can Factory home page.

Services

Home / Services / Application Development

No matter what business you're in, managing your company as a technology-enabled whole is critical for success. Can Factory designs and implements solutions that transform a complete range of enterprise processes. And all of our solutions are "technology-agnostic": We combine the best of emerging technologies with the still-valuable components of legacy systems. Ultimately, we create value not only by understanding the promises of advanced technologies, but by reliably delivering application solutions that make those promises real.

Can Factory solutions are not limited to the traditional internet market; we also have experience in multi-channel applications, ensuring you get the best solution for your needs.

Below you will find a more detailed view on our approach to application development.

Test-driven Development

All new code is written using a test-driven development methodology. This means that before a new piece of code or functionality is implemented, a small test (called a unit test) is first created, to check that it will work as advertised.

Clearly the test will fail to begin with, as the code that it's testing hasn't actually been written yet, but as development proceeds the test will begin to succeed.

These tests then continue to form an important part of the software build process. Every time a new release is built, all of the tests are run, to ensure that any new functionality works, and, equally important, that it hasn't broken any existing tests.

If a bug does creep through then the first step to fixing it is to create a unit test that exposes it. The bug can then be fixed, using the test to verify that it has been eradicated, and the other unit tests are then run to ensure that the fix hasn't inadvertently broken anything else.

If a subsequent alteration were to then recreate the bug, the unit test would pick it up immediately.

Functionality Testing

Alongside unit tests, which test small, self-contained, chunks of code, are functionality tests. In many projects these are essentially automated web tests. They take the form of code that tests the front-end of the website as if it were running from a web-browser.

These tests are written so as to test both the front-end and the back-end. So a typical test would go to a page on the site, submit some data, and then check the back-end database to see that the data is all present and correct.

Such tests are created for all our major functionality, and are run as part of the build and release process.

Click to enlarge this image.

Continuous Build Process

A continuous build process is a system where projects are periodically updated from source control, built from scratch and tested by running all the unit and functional tests.

The results are then emailed to the developers working on the project to highlight any errors that have been introduced.

The advantage of using such a system is that it ensures that the whole application is built and tested in a clean, controlled way, independent of any developer's environment.

It also means that any errors are caught within a very short timeframe of them being introduced.

Can Factory's continuous build system runs on a central server and typically tests each project once every ten minutes, thus ensuring prompt warning of any problems (also making it easy to track down the source of the problem, as it will always be something that has only just been updated).

Click to enlarge this image. Click to enlarge this image.

Version Control

Can Factory have always used source control systems (currently CVS) to manage versions of individual source code and asset files.

We have now introduced a new deliverable build and release procedure. When a new version of an application is ready to go live, the developer in charge of the release will trigger a versioning process. This will build the deliverable, run all unit and functional tests to ensure that all is well and then stamp it with a version.

The version is also updated in the issue tracking system (Mantis), and the deliverable is automatically archived inside the project documents system.

All issues that have been resolved in the new release will automatically be displayed in the Change Log section of Mantis, thus providing an instant log of all the fixed issues that all members of the project team can see.

 

Page Reference: http://www.canfactory.com/services/development.php

Copyright © 2002 - 2008 Can Factory Back to Top

Can Factory
Victoria Chambers
16-20 Strutton Ground
London
SW1P 2HP

info@canfactory.com

Tel:

+44 (0) 845 130 2500

Fax:

+44 (0) 845 130 2600

Link to the PHP home page.
Link to the MySQL home page.
Link to check this page validates as containing correct XHTML.
Link to check this page validates as containing correct CSS.
Link to the RSS feed attached to this page.

Copyright © 2002 - 2008