Most methodologies consist of four basic components:
- Guidelines specify the steps necessary for successful application development. They contain advice and recommendations on how to proceed.
- Techniques are the detailed process descriptions that support the activities throughout the entire software development lifecycle. Techniques provide assistance for completing the deliverables.
- Tools, particularly project management tools, are integrated with the methodology to draw on past project experiences. Most methodologies are independent of the main application development software. This means that the methodology can be used with any language, from legacy COBOL systems to CASE tools, object-oriented systems, and so on.
- Templates are reusable documents and checklists that provide advice and assistance in completing tasks.
A methodology should include multiple project routes to provide support for the increasingly complex structure of IS systems. For example:
- Software package selection
- Rapid application development (RAD)
- Small projects (less than 30 days)
- Host-based development
- Information or strategic planning
- Legacy systems development/maintenance
- Conversion projects
- Interfacing and bridging systems
- Infrastructure planning
- Migration planning
- Iterative and prototyping development
- Web services
- Autonomic/grid/utility-based projects
- Intranet and collaborative projects
- Internet-based projects