epiGenesys follows an iterative and incremental software development process, adopting many Agile practices, with a integral focus on client involvement.

Design

Projects are initially defined in terms of their scope and aims, and their requirements are captured, through consultation with stakeholders and users, and by review of existing systems. These requirements are discussed, evaluated and refined into feature specifications. Following a review of the possible technologies available, the most appropriate are selected and the system is specified and designed.

Development and Implementation

For implementation of specifications and designs we perform a series of iterative development cycles, resulting in regular demonstrations of software functionality and ongoing opportunities for feedback and quality control. This Agile development style enables us to respond quickly to changing needs, allowing functionality to be added and altered as needed with minimal impact on overall system design.

Testing

Testing is an integral part of our software development process, and we use several testing styles to provide comprehensive coverage of the system functionality, which together ensure the overall quality of the system. These include unit testing, behaviour testing, usability testing and client acceptance testing.

Validation

We have experience of the processes necessary for formal computer systems validation, having engaged with Sheffield Clinical Trials Research Unit in a validation programme for our jointly developed ‘Prospect’ information management system. This programme has demonstrated that the software functions perform as they should, and enables us to confirm previously validated functionality is not adversely affected by the implementation of new features.

Project Management

We do not undertake project management under a formal system such as PRINCE2. However, we have internal processes for: priority management; risk identification; agreeing resource requirements; setting timescales; monitoring progress and addressing deviations from plans; and escalating problems.