Software applications typically consist of several components (=a service), which can be broken down into a set of features. A feature is therefore a program function. (A module is also a subroutine in programming code that can be called, but is often wrongly compared to a component).