Software Development Methodologies: A Perfect List
In todays world, there are several different development methodologies used by a software application developer
. However, they all share common elements which build a universal framework for software development. This article provides a list of a list of all major software development methods used today.
Vocabulary
Some of the common terms used in the methods are:
methodology - a specific collection of principles or practices
methodology family - a set of alternative methods that exist alongside each other
framework - a skeleton (for methods) that must be customized/augmented before use
model - a description that must be implemented by a method, family or framework
For the software developers, a methodology is like a class that can be instantiated for a specific project. A methodology family is like a namespace of different but comparable classes. A methodology framework is like an abstract class that cannot be instantiated itself and must be inherited and extended first. A methodology model is like an interface that is just a description of something that must be implemented by one or more classes.
Methodology Leaders
The following methods have been considered as a standard in IT industry.
Scrum
An agile project management methodology created by Ken Schwaber and Jeff Sutherland.
Small set of practices and predefined role are included.
Scrum is becoming a de facto standard for agile software development (India) projects, and consists of practices that can be applied in many situations.
Extreme Programming
An agile software engineering methodology created by Kent Beck.
Practices are taken to an "extreme" level.
XP regards ongoing changes to requirements as a natural and desirable aspect to software application developers.
Leans towards the daily software engineering activities of developers.
Seen as complementary to Scrum.
Lean Software Development
LSD is an agile project management framework promoted by Mary Poppendieck and Tom Poppendieck.
The lean and agile concepts form a perfect match.
Unified Process
The Unified Software Development Process (USDP) is a software engineering framework, created by Ivar Jacobson, Grady Booch and James Rumbaugh.
It is an extensible framework that should be customized for specific organizations and projects.
Rational Unified Process
RUP is a software engineering framework.
It is a commercial product delivered as a more detailed version of the Unified Software Development Process.
It is too costly to customize for small projects.
Dynamic Systems Development Method
Dynamic Systems Development Method (DSDM) is a agile project management methodology.
It was originally based upon the concepts of Rapid Application Development.
Projects in Controlled Environments (Prince2)
Prince2 is a project management methodology.
It covers the management, control and organization of projects, and is deliberately not restricted to IT projects.
It is too rigid, too big and not easily customizable.
Project Management Body of Knowledge
PMBOK is a project management methodology.
It describes many processes and activities and is descriptive.
Both Prince2 and PMBOK are criticized for not being agile.
Capability Maturity Model Integration
CMMI is a software engineering model, originally developed by Watts Humphrey.
It assesses the maturity of an organizations processes.
Also used as a roadmap for process improvement.
The CMMI is heavily criticized for focusing on processes rather than people.
Methodology Followers
The following methods are considered to be the "followers", because they trail the leaders in their number of references, users and implementations.
Feature Driven Development
It is a software engineering methodology.
It distinguishes itself from some other agile methods by clearly allowing time for the creation of an up-front design.
It also applies a delectably radical approach to code ownership and several other development practices.
Microsoft Solutions Framework
It is a software engineering framework, created by Microsoft.
MSF provides a metamodel of descriptive components,.
It contains two out-of-the-box templates: MSF for Agile software development (India) and MSF for Capability Maturity Model Integration.
Open Unified Process
It is a software engineering methodology family.
It embraces a realistic and agile philosophy.
Essential Unified Process
It is a software engineering framework, invented by Ivar Jacobson.
It was created as an improvement on the RUP and identifies practices that you can choose and combine to create your own method.
Agile Unified Process
It is a software engineering methodology, created by Scott Ambler.
It attempts at simplifying the RUP, describing an easy to understand approach to develop business application software using agile techniques and concepts.
Enterprise Unified Process
It is yet another software engineering methodology, created by Scott Ambler.
It is an extension of the Rational Unified Process, adding several new phases and disciplines to a process.
Crystal
It is a software engineering methodology family, created by Alistair Cockburn.
It is called a self-adapting family of human-powered method, where software application developers proffer best techniques.
Evo
Evo is a project management methodology, created by Tom Gilb.
It is one of the older methodologies but it proves to be one of the most successful evolutionary methods available.
Many of the terminology, classifications or descriptions will not be accepted by most people. But still they form the development framework of the software industry.
by: Holly Maxted
Bring Employee Engagement Back With Hr Software What Is The Purpose Of Software Testing Training Institute? Use Your Pc Security Software To Get The Most Out Of It Most Popular Agile Methodologies For Successful Software Development Value Of Software Development Innovative Sap Software Professional Of Oasys Bhubaneswar Ehr Software Soon To Achieve Universal Appeal Browser Based Solution From Banking Software Companies - Noteworthy Features Thinking About
Clear-cut Understanding Of Paraphrasing Software Alibaba Clone Script Best B2b Software Get To Learn The Benefits Of Proficient Resource Management Software Options In Data Cleansing Software For Your Data Cleansing Needs Services Offered By Innovative Banking Software Solutions