How (and why) you should remove hierarchy from your dev team