Symmetric obstruction theory