A Website Checklist
Ever since I read The Checklist Manifesto, I've been a big advocate of checklists. They are especially helpful for ensuring quality control when it comes to development projects. The typical website project has many little details that, if missed, will result in less than optimal effectiveness. This is especially true for non-functional requirements. It can be hard to remember these up front, but doing so is far better than remembering them late in the game--or even after the fact. When this happens, projects are more likely to take longer than expected and cost more than budgeted. The remediation is simple: prepare a checklist in advance of of all those aspects and details of the project that you don't want to miss or take for granted. Here are some suggested items as a starting point:
User Experience
- Favicon
- Tel tags for phone numbers
- Graceful degradation/progressive enhancement
- Loading and progress indicators
- Friendly 404 page
- Site search
- RSS feed
- Responsive design
Forms
- Default values
- Field labels
- Field tab order
- Validation messages
- Input masks
- Minimum and maximum character length
- Thank you page
Search Engine Optimization
Security
- SSL certificate
- HTTPS redirect
- Password requirements
- Password encryption
- Email validation
- Two-factor authentication
- Protection against brute force attacks
- Protection against SQL injection
- CAPTCHA
- Password expiration
- Account lockout
- Session timeout
Setup & Administration
- Website analytics
- Error logging
- Domain name configuration
- Mail server configuration
- Web uptime monitoring
- Web application monitoring
- Maintenance page
Compatibility & Performance
- Browser compatibility
- Device compatibility
- Code minification
- Content delivery network
- Image compression
- HTTP caching
Compliance
- HTML standards compliance
- ADA compliance
- WAI-ARIA compliance
- PCI compliance
- HIPAA compliance
- Privacy policy
- Cookie policy
- Copyright, registration, and trademark notices