Creeping elegance
This article does not cite any external source. HandWiki requires at least one external source. See citing external sources. (January 2024) (Learn how and when to remove this template message) |
In software development, creeping elegance, related to creeping featurism and second-system effect, is the tendency of programmers to disproportionately emphasize elegance in software at the expense of other requirements such as functionality, shipping schedule, and usability.
Creeping elegance is also forced by customers and sales personnel in the last stages of software development. Often one comes up with "just another feature" before the delivery date, and the software developer is left with the choice of prioritizing between delivery on time according to schedule or to fully satisfy customers and/or the sales department.
Complexity and readability are the main reasons why programmers tend to favor elegance over functionality all else being equal, simply to mitigate the more marginal cognitive burden of the task, which is very high compared to many other fields even in computer science.
It is definitely an area in which management and marketing conflict a lot with programmers, but most programmers will behave very petulantly when asked to deal with very old, poorly documented, or otherwise poor code, and often this will lead to easter eggs, intentional exploit vulnerabilities, and staff turnover.
External links
Original source: https://en.wikipedia.org/wiki/Creeping elegance.
Read more |