Analyze the various software development methodologies and describe the pros and cons of each one.
Examples: agile, waterfall, spiral, rapid prototype