Programming methodologies is a complex field, with many methodologies, and names, and many goals and means to reach them: structured programming, programming by refinement, program analysis and verification, refactoring, and many more. Methodologies are developed to enhance one or more programming variable: programming, program speed, reliability, conformance to user/customer needs, reusability, code reuse and sharing, information hiding, etc. Some methodologies are more formal than others, some are embodied in formal tools, programs, etc. Many methodologies involve object-oriented programming.
Agile
Agile Modeling (AM) is a set of practice-based methodologies for modeling and documenting software-based systems, in a lightweight manner.
Extreme Programming,
Feature Driven Development,
Lean Programming,
Scrum,
More »
Aspect-Oriented
Aspect-oriented (AO) programming is a direct outgrowth of object-oriented programming research done at Xerox PARC (Palo Alto Research Center) from 1972 until the mid-1980s.
Adaptive Programming,
Articles,
Development Tools,
More »
Capability Maturity Model
The Capability Maturity Model (CMM), and revised versions CMM Integration (CMMI), and People CMM (PCMM), are sets of instructions and standards that organizations follow to gain better control over software development processes.
More »
Evolutionary Delivery
Evolutionary Delivery (also known as "Evo") is a development methodology proposed by Tom Gilb in the 1980s.
More »
Generative Programming
Generative programming is a style of computer programming. Its goals are to use higher abstractions, to improve programmer productivity, program accuracy and reliability.
More »
Intentional Programming
Intentional Programming is a set of concepts to let software source code reflect the precise information, called intention, which programmers have in mind when conceiving their work.
More »
Language Oriented Programming
Language Oriented Programming is a style of programming. Rather than solving problems in one general-purpose programming language, a programmer first makes one or more domain-specific programming languages for the problem, and then solves the problem in those languages.
More »
Literate Programming
Literate Programming (LP) was invented by Dr. Donald Knuth in the 1980s. It views programming as a mainly literary activity, where the main task is to concentrate on explaining to humans what the computer must do, and the program is a secondary message embedded in a resulting documentation Web.
More »
Modeling Languages
Modeling language and techniques are used by computer methodologies to create a representation of reality.
Unified Modeling Language,
More »
Object-Oriented
BON,
Booch,
Companies and Consultants,
Criticism,
Fusion,
More »
Patterns and Anti-Patterns
The pattern movement in programming is about discovering repeating patterns in all areas of software development, documenting them in a pattern language and reusing them.
FAQs, Help, and Tutorials,
Journals,
Reviews,
More »
Refactoring
Refactoring is a technique to restructure code in a disciplined way, and is well suited to tool support, though extant tools are rather basic.
Tools,
More »
Secure Programming
In secure programming (synonym: defensive programming), the goal is to ensure continuing function of software despite any and all unforeseen use(s).
More »
Six Sigma
Six Sigma is a quality control methodology used to manage processes, with these goals:Manage variations that can cause defects, which are defined as unacceptable variation from a mean or target.Systematically work toward managing variation to eliminate defects.Deliver high performance, reliability, and value to end customers.
More »
Software Product Line
Software Product Line is a program development methodology, which is a subset of product design methodologies called Product Family Engineering, and Product Line Engineering.
More »
Structured
Structured programming was first proposed in about 1970, by Professor Edsger Wybe Dijkstra. It has since become a major methodology, used commonly by most programmers, who may never even have heard the term.
More »
Unified Process
The Rational Unified Process (RUP) is an Internet-based product developed by Rational Software Corp., now an IBM division, to support the Unified Process.
Tools,
More »