Plan a system flow from the ground up.
Interact with internal users and customers to learn and document requirements that are then used to produce business requirements documents.
Write technical requirements from a critical phase.
Interact with designers to understand software limitations.
Help programmers during system development, e.g. provide use cases, flowcharts or even database design.
Perform system testing.
Deploy the completed system.