A best practice is a technique or methodology that, through experience and research, has proven to reliably lead to a desired result. A commitment to using the best practices in any field is a commitment to using all the knowledge and technology at one's disposal to ensure success. The term is used frequently in the fields of health care, government administration, the education system, project management, hardware and software product development, and elsewhere.
In software development, a best practice is a well-defined method that contributes to a successful step in product development. Throughout the software industry, several best practices are widely followed. Some of the more commonly used are: an iterative development process, requirement management, quality control, and change control.
An iterative (meaning repetitive) development process, which progresses in incremental stages, helps to maintain a focus on manageable tasks and ensures that earlier stages are successful before the later stages are attempted. Requirement management addresses the problem of creeping requirements, which is a situation in which the client requests additional changes to the product that are beyond the scope of what was originally planned. To guard against this common phenomenon, requirement management employs strategies such as documentation of requirements, sign-offs, and methodologies such as the use case. Quality control is a strategy that defines objective measures for assessing quality throughout the development process in terms of the product's functionality, reliability, and performance. Change control is a strategy that seeks to closely monitor changes throughout the iterative process to ensure that records are intact for changes that have been made and that unacceptable changes are not undertaken.
A best practice tends to spread throughout a field or industry after a success has been demonstrated. However, it is often noted that demonstrated best practices can be slow to spread, even within an organization. According to the American Productivity & Quality Center, the three main barriers to adoption of a best practice are a lack of knowledge about current best practices, a lack of motivation to make changes involved in their adoption, and a lack of knowledge and skills required to do so.