Extreme programming
lastmod 2021-07-06created 2015-03-044 edits
Extreme programming (eXtreme Programming, XP) is a software development method proposed by Kent Beck and others. It is a development method suited to cases where business requirements change rapidly from moment to moment. It was presented in Kent Beck's 1999 book 'Extreme Programming Explained - Embrace Change'.
This method is counted as one of the representative development methods called agile development processes, and is well known by its abbreviation 'XP'.
This method defines about 10 to 12 concrete practices, which makes it well suited to development projects with relatively small teams. It strongly tends to emphasize source code over development documents, and individual responsibility and courage over organized development activity.
YAGNI (You aren't gonna need it)
YAGNI (You aren't gonna need it) is a principle of extreme programming (XP) that a programmer should not add functionality until deemed necessary. Extreme programming co-founder Ron Jeffries wrote: "Always implement things when you actually need them, never when you just foresee that you need them." It is also cited as short for "You aren't going to need it" and "You ain't gonna need it".
KISS (Keep it small and simple)
KISS is an acronym made from the first letters of "Keep it small and simple.", "Keep it short and simple.", or "Keep it simple, stupid."; the KISS principle is the principle that it is better to make designs simple and easy to understand. It is a design principle devised by the U.S. Navy in 1960.
It is a maxim widely used among programmers. This design principle considers a solution that is simple and easy to understand later on to be the optimal solution. KISS is also related to Occam's razor, the principle that unnecessary assumptions in scientific theories that make no difference whether present or not should be cut away.
DRY (Don't repeat yourself)
Don't repeat yourself (DRY) is a principle of software development that aims to avoid all forms of information duplication. It is especially useful in multi-tier systems. The DRY principle can be summed up in a single statement: "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system."