Software extensibility is a quality attribute that represents the capability of adding new functions to a current software system quickly and easily. Because the extensibility of a software system heavily depends on its software architecture, when software developers design software architecture, they need to evaluate software extensibility from the software architecture perspective. To help them, researchers have proposed metrics based on a quality model or scenarios. However, those metrics are vague or subjective, depending on a specific system and evaluators. We propose the Extensibility Metric for Software Architecture (EMSA), which measures the extensibility of a software system based on its architecture design. To reduce the subjectivity of the metric, we first identify a typical task of adding new functions to a software system; second, we define the metrics based on the characteristics of software architecture and its changes, and finally, these defined metrics are integrated into designability metrics and implementability metrics through regression analysis. In this process, we nominate two or three linear and nonlinear metrics as designability and implementability metrics. To evaluate the accuracy and to select the appropriate metrics, we conducted experiments in a lab to measure the accuracy and to determine the most appropriate designability and implementability metrics. We also conducted an experiment in the real-world to evaluate its applicability and discussed the differences with related metrics. We expect that EMSA will enable developers to measure the extensibility of software systems during the software architecture design stage, more accurately and objectively than before.