There is no shortage of recommendations and guidelines (really just opinions) when developing software components or solutions, regardless of the technology used. Anyone involved in the process of software design has their own ideas on what the best approach might be, and these ideas might change over time. Recently, a distinction has even been made between the concepts of best practices and proven practices, as what is considered to be the best might vary depending on organizational needs and priorities.
The practice guideline topics include the following:
Requirements
Architecture
Design
Coding
Reviews
Testing
Performance profiling
Configuration management
Quality assurance
Deployment
Operations and support
Data and migration
Project management
Measurement of success
Each of these topics are important to develop software components and solutions, and are based on knowledge (what works, what works best, and what doesn't work so well). Best practices really are a way of managing acquired...