In software engineering, extensibility (not to be confused with forward compatibility) is a systems design principle where the implementation takes future growth into consideration. It is a systemic measure of the ability to extend a system and the level of effort required to implement the extension.