ソフトウェア機能 (英: software feature)にはいくつかの定義がある[1]。 米国電気電子学会は、 IEEE 829で「機能」という用語を、「ソフトウェアアイテムの際立った特徴(パフォーマンス、移植性、機能性など)」と定義している[2]。
機能が豊富であるとは、ソフトウェアが、ユーザーが利用できる多くのオプションと機能を備えていることである。段階的開示は、豊富な機能を一度に表示することによって引き起こされる潜在的な混乱を減らすために適用される手法である。
ソフトウェアの機能が豊富すぎる場合、それは悪いことと見なされることがある-フィーチャー・クリープとソフトウェアの肥大化を参照。