Must read for non-experts and experts alike.
Social software's purpose is dealing with with groups, or interactions between people. This is as opposed to conventional software like Microsoft Word, which although it may have collaborative features ("track changes") isn't primarily social. (Those features could learn a lot from social software however.) The primary constraint of social software is in the design process: Human factors and group dynamics introduce design difficulties that aren't obvious without considering psychology and human nature. This ties nicely with adaptive design, in that social software encourages you to fulfil latent needs first, then embark on not a development cycle but a dialogue with user concerns in which you listen to their emerging needs and implement them in code -- but you have to give users the ability to stretch the system otherwise you'll never even notice those new needs.