Define software functions and classes
Develop initial user interface design
Define system hardware and software requirements
Define development environment and coding standards
Create Visio/UML diagrams for system flow and dependencies
Develop database dictionary for spatial data and ancillary tables
Propose software testing environment