Are there any other recommended techniques for object discovery besides paper prototyping and semantic net diagrams?
Yes, role-playing is another useful technique. The idea is, rather than diagramming the objects like you do with a semantic net diagram, each object is represented by an actual person (a developer or domain expert). Each person states “I am a…”, “I am able to…”, etc. and communicates with other objects (when acting out a story or use case) by passing a slip of paper between each other. It’s a useful exercise for practicing anthropomorphism and for discovering objects and communication envelopes. Like paper prototyping and semantic net diagramming as a group, role playing is a great way to have fun as a team and to “wake up” the developers and get them thinking “outside the box”.