TL;DR
ソフトウェアシステムを、比較的独立したモジュールに分割すること。
なぜ必要か
Wikipedia によると、うまく分割したモジュールは、それぞれ独立に実装、テスト、改修できる。開発者ごとにモジュールを割り当てれば並行して開発でき、全体の完成を早められる。逆に分割が適切でないと、複数の開発者の変更が矛盾したり、多くの合意が必要になったりする。
仕組み
Wikipedia によると、モジュールは低い結合度と高い凝集度を持つのが望ましい。モジュール間のインタフェースが明確で、それ以外の依存がないほど、モジュール性は高くなる。無関係な機能が 1 つのモジュールに混ざっている(関心の分離ができていない)と、モジュール性は低くなる。
英語版 Wikipedia によると、モジュラープログラミングという言葉は、1968 年に Larry Constantine が開いたシンポジウムにさかのぼる。1972 年の情報隠蔽も、モジュール設計の重要な考え方の 1 つである。