*Could anyone point me to theory about why some code becomes better and some becomes worse over time depending on different factors such as design paradigms, team structure, management..? *

It seems to me that some code detoriates as it gets older (getting more and more “messy” until one day it is abandoned) (IE?). some seems to be „debugged in circles“, with constant and increasing maintenance, but without any obvious improvement in performance / stability (skype?). Then other projects seem to age extremely well; the software “matures” until eventually all edge cases, Problems etc. Presumably have been encountered and solved at some point and it’s extremely reliable (git?).

Happy about tips on general software design principles but much more interested in things directly relating to software “ageing”/ changing over time. Ideally also relating to broader factors like team structure / management / workflows.

This is surprisingly hard to google without knowing the right keywords so posting here.

Thanks in advance !!

submitted by /u/fnstrpltz
[link] [comments]