These days I was thinking (yes, sometimes I commit this sin because “тренер запрещает нам думать”, “noi muncim, nu gandim”) why the hell, with all the advances of management and methodologies in software development, the softdev is still have to cope with mess… and I mean mess, the real mess/garbage/left-overs in the source code…
Well, to answer this question, I drew a (somewhat) parallel line with other development industry - building development. In general terms, the parallel can be made even with work of a carpenter to a certain degree.
So, making abstraction of the fact that softdev is more a virtual environment (where programmers can optimize the lift so that it’s acceleration catapults thru the roof or can paint the paper roof to look like tile and so on) a parallel line can be made:
- both need a proper and sustainable approved architecture plan
- both need a nice and modular design
- both need qualitative tools and materials for a superior finished quality
- etc
One of the things however I notices is that:
[More:]
- in building development/carpenter-work at the end all the garbage, mess, left-overs are cleaned and thrown to thrash; it is unlikely that someone would buy,sell a flat where: the windows are not cleaned of paint drops, there are stones and construction debris around the building, etc.
- in softdev however, almost nobody allocates a separate task of cleaning out the mess and code created by development of a specific feature (NOT to be confused with bug-fixing during the testing support)
- even though in the ideal theory any good design should not require that, the reality is different and there is no ideal design to accommodate all features and future changes
- so the “virtual mess” aggregates in the code because nobody cleans it and nobody cleans it because on a subconscious level there are not physical leftovers after chopping the code
- the aggregation ends up like this in a virtual sense and overkills projects developed over long periods of time
- imagine as if when you chop the code, there is a debris under your desk like after a carpenter work. wouldn’t you clean under the desk in that case?
just my humble 0.02 banutzi