Break large, complex tasks into a series of small, simple tasks. Use functions Test frequently Use stubs; empty functions Put feedback in functions/script for programmer