In computer science, an implementation is a realization of a technical specification or algorithm as a program, software component, or other computer systems through computer programming and deployment. Many implementations may exist for a given specification or standard. For example, web browsers contain implementations of World Wide Web Consortium-recommended specifications, and software development tools contain implementations of programming languages.
A special case occurs in object-oriented programming when a concrete class implements an interface; in this case, the concrete class is an implementation of the interface and it includes methods which are implementations of those methods specified by the interface.
In the information technology industry, implementation refers to the post-sales process of guiding a client from purchase to use of the software or hardware that was purchased.
- requirements analysis
- scope analysis
- systems integrations
- user policies
- user training and delivery.
These steps are often overseen by a project manager using project management methodologies. Software Implementations involve several professionals that are relatively new to the knowledge-based economy such as business analysts, technical analysts, solutions architects, and project managers.
To implement a system successfully, a large number of inter-related tasks need to be carried out in an appropriate sequence. Utilising a well-proven implementation methodology and enlisting professional advice can help but often it is the number of tasks, poor planning and inadequate resourcing that causes problems with an implementation project, rather than any of the tasks being particularly difficult. Similarly, with the cultural issues, it is often the lack of adequate consultation and two-way communication that inhibits achievement of the desired results.