Maintenance-free programming

From XionKB
Jump to navigationJump to search
This article is a stub. You can help by expanding it.

Maintenance-free programming is a programming paradigm that eschews abstractions in pursuit of authoring well-behaved code that does not require continuous intervention from engineers to continue functioning. It is the opposite of several venture-backed software product development strategies and tools, such as the agile methodology and continuous integration. It is a broad rejection of the Silicon Valley mantra of "move fast and break things".

Maintenance-free programming is stifled by massive interdependency between software developed by different groups at different times. Writing maintenance-free code is much more difficult in practise because many products will come to depend on operating systems and large suites of drivers for databases, networking and other operational requirements. The key to overcoming this is to minimise architectural exposure to foreign systems, and to be very selective in choosing foundational dependencies to cover complex needs like database driving and internetworking. When these things are brought into the fold, their internals must also be available for architectural consideration even in application-level code; that is, they cannot be treated as black boxes for the sake of software architecture.