Small matter of programming
- Small matter of programming
Small Matter of Programming (SMOP) was among the "games" described in an article written pseudonymously [ Citation | last = Shedley | first = Ethan I. | title = Big System Games | magazine = Datamation | volume = 17 | issue = 7 | pages = 22-25 | publisher = Technical Publishing Company, 1301 South Grove Ave., Barrington, Illinois 60010 | date = April 1, 1971 ] as paralleling the "Games People Play" identified by Dr. Eric Berne in the field of self-help psychology. The game essentially consists of proposing seemingly simple adjustments to a design, and leaving to someone else the problem of fitting the unexpected consequences into the schedule.
When used in computer science, a SMOP is the smallest unit of software engineering effort which can be allocated at the onset of a project. A SMOP has the curious property that its size increases exponentially as the project progresses. It is not uncommon for a SMOP to grow to man-decades. There is anecdotal evidence of SMOPs encompassing man-centuries.
Note that SMOPs are logarithmic in nature. Each additional SMOP adds another order of magnitude onto calendar time.
The implication of using it is either
* to remind one's colleagues that "every" design change seems like a small matter of programming, until implementation starts, or
* to reassert by irony one's awareness of the danger of underestimating required effort.
References
External links
* [http://www.catb.org/jargon/html/S/SMOP.html Simple Matter of Programming] in the Jargon File
Wikimedia Foundation.
2010.
Look at other dictionaries:
End-User Programming — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… … Deutsch Wikipedia
End User Programming — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… … Deutsch Wikipedia
Reflection (computer programming) — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computi … Wikipedia
Class-based programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computin … Wikipedia
Criticism of the APL programming language — The APL programming language has been used since the mid 1960s on mainframe computers and has itself evolved in step with computers and the computing market. APL is not widely used, but minimalistic and high level by design, at several points in… … Wikipedia
Demo (computer programming) — Demoscene Concepts Demo Intro Demoparty Effects Demogroup Compo Music disk Diskmag Module file … Wikipedia
Dynamic programming — For the programming paradigm, see Dynamic programming language. In mathematics and computer science, dynamic programming is a method for solving complex problems by breaking them down into simpler subproblems. It is applicable to problems… … Wikipedia
Extreme Programming — (or XP) is a software engineering methodology (and a form of agile software development) Human Centred Technology Workshop 2005 , 2005, PDF webpage: [ftp://ftp.informatics.sussex.ac.uk/pub/reports/csrp/csrp585.pdf Informatics UK report cdrp585]… … Wikipedia
Lisp (programming language) — Infobox programming language name = Lisp paradigm = multi paradigm: functional, procedural, reflective generation = 3GL year = 1958 designer = John McCarthy developer = Steve Russell, Timothy P. Hart, and Mike Levin latest release version =… … Wikipedia
Logo (programming language) — LOGO redirects here. For other uses, see LOGO (disambiguation). Logo Paradigm(s) multi paradigm:functional educational, procedural, reflective Appeared in … Wikipedia