Essential Considerations
Needs assessment
Design
Testing
Implementation
Functionality