Before You Start Building Programs