Implementation is the process of making an idea a reality. In computer science, it is used as the name for the act of turning pseudocode into executable code in order to realize an application, idea model, design or algorithm. However, it can also see some corporate use in this field, as you may hear of implementing a policy or standard at the workplace as well. In order to successfully and fully implement a design, all the specifications must be met, through both software components and hardware.
Implementation also often covers the deployment stage as this is the final act in making an idea a reality for customers or clients. In some areas of the industry, this includes guiding the purchaser to use the software or hardware, and thus might include some advertising and crafting of user policies and training as necessary. It also covers IT support in most cases, as a buggy application is never part of the original idea. A project manager is often a great idea to manage these parts of the implementation process, as it is highly unlikely that one person will have the expertise and time to cover all the areas mentioned. The number of inter-dependent tasks and communication needed for successful implementation is best managed carefully.
During the implementation step, problems may occur that the design was not built to handle, and so sometimes it is necessary to bring in designers, or run tests to circumvent the issue. Users in a beta testing environment are a good idea for implementation processes with a lot of possible outcomes that make it difficult for the programming team to foresee. In general, the more user input, the more likely the end product is to satisfy the general market's needs and be easily usable. Sometimes these tests even uncover a user priority that was wholly unexpected in the design process, so major rethinking might be necessary but the end result will be more successful for it.
Photo credit: A-Blast.org