Development Methodologies
- Dr. James A. Bednar
jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar
- Dr. David Robertson
dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm
SAPM Spring 2006: Methodologies 1
Development Methodologies
A methodology is a system of methods and principles used in a particular “school” of software design. There is a wide variety of published methodologies, and an even larger set of informal and/or company-specific
- methodologies. The most mature methodologies are often
codified using specialist tools and techniques. All methodologies are controversial, because some people argue that any fixed methodology is an affront to a professional, creative, independent designer, while the rest argue about which methodology is best.
SAPM Spring 2006: Methodologies 2
Example Methodologies
In this course we will focus on three main methodologies:
- The Waterfall Model
- The Unified Process (UP)
- Extreme Programming (XP)
(But we will mention many others, such as Cleanroom, DSDM, V-model, Scrum, Crystal, etc.!) We will also discuss open-source design, which is more of a philosophical approach than a methodology like the
- thers, but which has implications for methodology.
SAPM Spring 2006: Methodologies 3
Types of Methodologies
XP Milestone development risk−driven models Milestone plan−driven models contract ironbound Agile methods Adaptive SW Inch−pebble Hackers Software CMM CMM
“Cowboy hacking” and micromanaging are at the extremes
- f a continuum (Boehm 2002).
Basic distinction: agile vs. heavyweight Agile methods are more fashionable to discuss, but it’s hard to tell what people are actually using.
SAPM Spring 2006: Methodologies 4