Methodology
Methodology is the science that studies the methods of problem solving. Most sciences have their own specific methodology.
Methodology is sometimes used as synonym for a single, complex method.
Examples of (single, complex method) methodologies in project management and software engineering are
- PRINCE
- SSADM
- Information Engineering Methodology
- Structured programming
- Jackson Structured Programming
- RUP
- Extreme Programming
| Table of contents |
|
2 No more methodologies 3 See also |
Software engineering methods span many disciplines, including
project management, analysis, specification, design, coding, testing, and quality assurance. All of the methods guiding this field are collations of all of these disciplines. Software design methods can be informally classified into thick and thin.
Thick methods include a large amount of formal process paperwork and documentation. Well-known thick methods include Cleanroom, ISO 9000, CMM and Rational Unified Process (RUP).
Thin methods eschew formal process paperwork and documentation.
Well-known thin methodologies include Extreme Programming (XP) and other Agile Methods.
Recently, some (like Karl Weigers) have argued for no more methodologies. Methodologies tend to list the contemporary technologies and practices and insist that everyone use them. This advice is obvious for those who work on new systems and have the opportunity to use contemporary technologies and practices. This advice is useless for those who maintain legacy systems and must use legacy tools and must use older technologies and practice, due to circumstance. So, methodologies are not specifically useful, beyond identifying state of the art at a particular time. And methodologies must be updated as technologies and practices evolve.
Counterarguments are obvious: The maintainers of legacy systems are entirely free to use legacy methodologies. And every project has to have its ground rules; there is no one set of accepted rules or even one agreed vocabulary in some disciplines. Agreeing the rules, the tools and the vocabulary is adopting a methodology. All successful (and many unsuccessful) large teams do so.
See also software development process, software engineering, list of software engineering topics.Methodologies
No more methodologies
See also