Best practices are important for processes that you need to work correctly. They are simply the best way to do things and have been worked out through trial and error, and are found to be the most sensible way to proceed. Among other pros include: reduced costs and becoming more efficient, improving the skills of your team, using technology more effectively, reduced waste and improved quality, responding more quickly to innovations in your sector.
Below are some of the common best practices and principles implemented by several digital public goods:
- User stories
- Change management using version control
- Test driven development using automated tests
- Continous Integration & Continous Deployment (CI/CD)
- Code review
- Code refactoring
- Rapid application development
- Agile development
- 12 Principles Behind Agile Manifesto
- The Twelve Factor App
- Architectural Principles
- Modularity and Maintainability
- Reusability and Extensibility
- Accountability & Non-repudiability
- Security & Consented Access
- Universal Access & Open APIs
- Microservices architecture
- SOLID principles of object oriented programming
- Multitier architecture
- Model–view–controller
- Representational state transfer (REST)
- Publish-subscribe
- Client-server (multitier architecture exhibits this style)
- Monolithic application
- Service-oriented
- Component-based
- Peer-to-peer
- Asynchronous messaging
- Event-driven
- Database-centric
- Sensor-controller-actuator
- Cloud computing patterns
- AWS Best Practices For Cloud Environments
- Google Best Practices For Enterprise Organizations Leveraging Cloud
- Azure Best Practices in Cloud Applications
- Design Principles For Azure Applications
- Google Responsible AI Practices
- Best Practices for ML Engineering (Google)
- Engineering best practices for Machine Learning
- Microsoft AI guiding principles
- The Facebook Field Guide to Machine Learning
- PSR-12: Extended Coding Style
- PEP 8
- Google Style Guide
- Airbnb's Javascript Style Guide
- Airbnb's Ruby Style Guide
- Best practices For Open Source Maintainers
- OpenSSF Best Practices Badge Program
- Google Open Source
- Open Source Tips
- Standard for Public Code - Guidance for government open source collaboration
- Create strong passwords for username/ password authentication
- Enable Multi-factor authentication (MFA)
- Enable resource access authorization i.e. access control rights/ permissions
- Leverage IT auditing
- Protect data at rest (data encryption, using a firewall, antivirus protection, schedule backups)
- Protect data in transit (encrypt data in transit using TLS/SSL, authenticate data integrity using TLS/SSL, use X.509 certificates to authenticate the remote end)