>f I checked out a package with 20 items then my co-developers would not be able to edit them. Is that correct?
Not at all. The check out process doesn't lock the objects. It simply copies to your local machine so that they are available for editing. Multiple developers can certainly have the same packages checked out at the same time.
>Is this your recommendation or do you have another methodology?
I've never heard of anyone using that approach. Generally people simply edit the objects within their package hierarchy. I'm not sure I understand the need to have objects move packages during the development process as you describe.