I get a lot of questions regarding the use of SharePoint as a solutions platform. I personally think it's a great tool for many (but not all) applications. The reason? SharePoint lends something that we like to call the "productivity tier," which is missing from most platform architecture stacks. We're all used to the UI tier, application tier, and data tier. Those three, however, fail to address a common requirement, which is being able to accomodate things like frequent changes to business processes, human workflows, tie-in with unstructured information, and data or visualization mashups that an end-user might want to create. SharePoint can help with all of those scenarios.
So let's say you're going to use SharePoint as your platform. Then the main question I get is "give me a methodology for team-based SharePoint development that combines custom code that I write and content that will be managed inside of SharePoint".
To that end, here's a great doc: http://www.microsoft.com/downloads/details.aspx?FamilyId=65F21935-CBC0-4178-8C08-4C56F721C87D&displaylang=en
The document suggests implementation scenarios, tools, and development environments for SharePoint-based solutions. It's quite handy.
Take a look and let me know what you think.