Communication, Documentation, Quality Assurance, Scheduling, Software Design, Task Analysis, Task Prioritization, Testing, Troubleshooting How to Create an Efficient Software Development Workflow