I believe those are the key points to take in consideration when building a social game.
The first time I developed a game for social networks I did not have knowledge of what the industry needed and I made two big mistakes:
1. Adding content to the game was HARD. That was because my focus was never the content but the functionality. We were in a hurry to deliver on time and we succeeded on that. We didn't have any problems until the production phase came. Adding content required a lot of effort and most of the times engineering work. We couldn't move into making cool new things for the users because we were stuck supporting the integration of content. Going into production should be a thing to celebrate, shouldn't it? Well... that was not the case, only because adding content was HARD.
The game is only an engine to run content configured by non-technical people.
2. The other mess was that everything had to be configured manually. Why should product team know about implementation stuff like XML files and edit it directly? Creating tools that expose only the information to be configured by product is crucial to make life easier for them (and for you unless you enjoy being asked for every little change needed). The tools are an asset of the company, and can be used in every project if they are generic enough. They can help defining an integration workflow and to assign specific responsibilities to the team members of the different areas.
Dedicate time for making tools to handle the content and educate people on using them.