Reviewing current systems
Presenting ideas for system improvements, including cost proposals
Working closely with analysts, designers and staff
Producing detailed specifications and writing the programme codes
Testing the product in controlled, real situations before going live
Preparation of training manuals for users
Maintaining the systems once they are up and running