SOFTWARE DEVELOPMENT CYCLE

Group > Computing > Software > Development Cycle

When starting a software development project, why don't we immediately launch into 'programming' the system? It would be cheaper and faster that way, wouldn't it? Why waste time and money on 'analysising and designing' the system? 'It is only a simple system we want!'

These words we hear as software developers quite often. But we have learnt from experience that systems that are not 'analysised and designed' regularly end up 'on the shelf' and never used. The reasons for this vary and include: that isn't what we wanted the software to do, our users don't have the level of skill required, the system doesn't collect all the data required, and so on. So how do we avoid these problems and deliver a system that will solve your organisations unique challenges? We design for your software development project a development cycle.

We design a cycle for each project based around our basic methodology. The time taken for the design cycle will vary for each project. On small software development projects, the cycle does not usually increase budgets out of proportion, as it saves time in later phases of development, and decreases the amount of reworking at the end of a project (which can be very costly). A software development cycle will not only deliver you the system and ultimately the outcome you want, but will also save you money in the long term.

A development cycle can be split into a number of different phases including specification, design, prototype, pilot, testing, final system, and training / documentation. The structure and size of these phases will vary depending on the type and size of the project.

The following is an example of our typical development cycle:


Proposal Specification

Before undertaking the software development project a meeting will be organised to provide an overview of the system and desired functionality.

From this meeting and any documentation provided a proposal specification will be prepared. This specification contains the basic system functionality. The specification also forms the bounds of the project system development. This does not mean that the system cannot be further expanded during the development cycle (with variations), or at the completion of the development cycle (future enhancements).


Design

This phase involves defining the desired data, features, and the screen and report layouts of the system.

At the commencement of this phase we organise a meeting with the main system users and our consultants to go over the specification and further refine the system requirements.

The outcome of this phase is a design document that defines the system. This documentation will include: data structures, screen layouts and description (including functionality), and reports (or system output). This documentation would be made available for approval by the client before progressing onto the next phase.

This phase is the most important in a normal software development cycle. Changes at this stage are less costly, and promote a better developed system, in comparison to changes made later in the development cycle.


Prototype

From the approved design documentation a prototype system is built. The prototype system will contain the basic screens, reports, any data structure, but none of the functionality coding. This system is used to provide your key users with a demonstration of the system look and feel, navigation (menus etc), and the basic system functionality. From the feedback from the prototype the final changes are made to the design documentation before the full implementation of the pilot system.


Pilot System

This stage comprises the development of the pilot system. This includes coding of the system and developer testing. Changes at this stage are not recommended and potentially costly as changes to the entire system design may be required.

The pilot system is installed on the clients computer systems. Basic training to key users is usually undertaken at this time. This training is not normally extensive as the users have been involved in the software development cycle.


User Testing / Acceptance

Once the pilot system has been delivered, a period of user testing is required to ensure the system meets the specification and the client's needs. Any issues that are raised by users during this time will be addressed and fixed or further enhancements are made to the system.


Parallel Testing

This phase is recommended for larger projects where a 'current' system is already in place. In parallel testing data is generally added to the 'old' and 'new' system to ensure the new system produces at the very least the same outcomes as the old system.


Final System

Once user testing / acceptance is complete, the final system is installed on the client's systems. The final system will include the issues raised during the testing phase. At this stage the system is populated with any old or new data as required.


User Training / System Documentation

After delivery of some software user training or system documentation may be required. This will depend on the number of users and the complexity of the software developed.

We provide a range of training and courseware solutions, including courseware and user documentation for customised software and a variety of training options.

To find out more information about training and courseware solutions, courseware & user documentation for customised software, or training services, please visit Camets Education.


For further information on Camets Computing, our Software Development Cycle, or if you have any enquiry please contact us.



Camets Group - Acoustics - Computing - Education
© The Camets Group 2003