Small matter of programming: Difference between revisions

Content deleted Content added
phrase seems like a slander against the writer, and is thoroughly unrelated to the material ofthe article.
Dcoetzee (talk | contribs)
Clean up tone, remove redundant stuff
Line 1:
In [[software development]], '''Small Matter of Programming''' ('''SMOP''') or '''Simple Matter of Programming''' is a phrase used to ironically indicate that a suggested feature or design change would in fact require a great deal of effort; it often implies that the person proposing the feature underestimates its cost. Such underestimated costs are common during [[Cost estimation in software engineering|cost estimation]], particularly near the beginning of a project. The [[Jargon File]] describes an SMOP<ref>[http://www.catb.org/jargon/html/S/SMOP.html Simple Matter of Programming] ([[Jargon File]], version 4.4.7)</ref> as:
'''Small Matter of Programming''' ('''SMOP''') or '''Simple Matter of Programming''' was among the "games" described in an article as paralleling the ''[[Games People Play (book)|Games People Play]]'' identified by Dr. [[Eric Berne]] in the field of self-help psychology.<ref> {{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 }}</ref> 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{{Fact|date=December 2008}}.
 
The implication of using the phrase 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.
 
The [[Jargon File]] describes a SMOP<ref>[http://www.catb.org/jargon/html/S/SMOP.html Simple Matter of Programming] ([[Jargon File]], version 4.4.7)</ref> as:
 
:#A piece of code, not yet written, whose anticipated length is significantly greater than its complexity. Used to refer to a program that could obviously be written, but is not worth the trouble. Also used ironically to imply that a difficult problem can be easily solved because a program can be written to do it; the irony is that it is very clear that writing such a program will be a great deal of work. “It's easy to enhance a FORTRAN compiler to compile COBOL as well; it's just a SMOP.”
:#Often used ironically by the intended victim when a suggestion for a program is made which seems easy to the suggester, but is obviously (to the victim) a lot of work. Compare ''[http://www.catb.org/jargon/html/M/minor-detail.html minor detail]''.
 
'''Small Matter of Programming''' ('''SMOP''') or '''Simple Matter of Programming''' was among the "games" described in an article as paralleling the ''[[Games People Play (book)|Games People Play]]'' identified by Dr. [[Eric Berne]] in the field of self-help psychology.<ref> {{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 }}</ref> The game essentially consists of proposing seemingly simple adjustments to a design, and leavingleading to someone else the problem of fitting the unexpected consequences into theand scheduledelays.
Note that SMOPs are often logarithmic in nature. Each additional SMOP adds another order of magnitude onto calendar time.
 
==References==