Designing the Application Architecture
o Plan the division of application logic.
o Analyze requirements and recommend a system topology.
o Choose appropriate client-side technologies.
o Choose appropriate server-side technologies.
o Design state management.
Designing the User Experience
o Design the site structure.
o Plan for cross-browser and/or form factors.
o Plan for globalization.
Designing Data Strategies and Structures
o Design data access.
o Design data presentation and interaction.
o Plan for data validation.
Designing Security Architecture and Implementation
o Plan for operational security.
o Design an authentication and authorization model.
o Plan for minimizing attack surfaces.
Preparing For and Investigating Application Issues
o Choose a testing methodology.
o Design an exception handling strategy.
o Recommend an approach to debugging.
o Recommend an approach to performance issues.
Designing a Deployment Strategy
o Design a deployment process.
o Design configuration management.
o Plan for scalability and reliability.
o Design a health monitoring strategy.