A (sometimes) AntiPattern
which usually occurs in the requirements/design phase. Solution is trivialized in the requirements phase with the utterance (often times from the requester/manager) "It's not rocket science." (or something similar). True, it's not rocket science - it's -computer science- and while it's generally a Bad Thing to overanalyze/design a solution, it's almost as bad to underanalyze/design as that leads to BlameStorming
type solutions as the implementation team tries to compensate for design/requirement gaps.
This is done for one of several reasons:
- To short-circuit AnalysisParalysis. In this context, this might not be an AntiPattern; especially a problem which is trivial (or otherwise has a well-known solution) is over-analyzed
- As an objection to a proposed solution that someone considers to be too complicated. In some cases, the proposed solution might indeed be too complicated, in which case the correct thing to do is propose a simpler (but still correct!) solution. In other cases, a (possibly correct) complicated solution is replaced with a simple-but-incorrect solution (and there is always, for any given problem, a solution which is simple and incorrect). In the latter case, this is an AntiPattern.
- As a way to extract a firm commitment from a design team which is reluctant to give one at the precise moment--often appears in company of GiveMeEstimatesNow. This is also an AntiPattern.
We get this where I work. My standard answer to the pointy-haired insistence that, "hey, ItsNotRocketScience
" is "you're right, it's ComputerScience
Among ourselves (the engineers) we assert that "it's not RocketSurgery
Of course, then there's the old (possibly apocryphal) saw of the NASA engineer giving a presentation to a group of politicians. He began his presentation with the following observation:
"Ladies and gentlemen... this is
I think this is particularly pernicious when it comes from a manager who "used to" program. This used to
be easy! It's not rocket science! What are you buffoons doing? Well, we scaled up by an order of magnitude, we integrated with eight external systems, we sharded the databases to handle the extra traffic, and we imposed data integrity guarantees to meet SLAs that were being blatantly violated when you were still programming... but, in the view of the executives, a very senior "technical" person is saying loudly that the current tech team is incompetent.
See also JustIsaDangerousWord