Often I hear PMs (Project Managers) talk about feature and function. And I'm just so puzzled to differentiate them. Sometimes I think of a feature to be equivalent to a user story. Something like "As a user, Bob should be able to see a list of his payments", and they call it a feature. Sometimes it gets as big as a subsystem, something like "the ability to send SMS via web application". Function on the other hand sometimes gets as small as a task, "implementing digit grouping for number inputs", while there are cases when it gets as big as a whole CRUD operation.

My question is, how can we differentiate feature from function?

  • 9
    I wouldn't obsess about this so much. They both mean 'the program should be able to do this or that thing'; if a project manager makes a distinction, it's probably personal and you should just read between the lines to extract the intention.
    – tdammers
    Commented Jul 19, 2011 at 10:23
  • 8
    Or just ask for their definition of each. Probably they use the two as loose synonyms. Commented Jul 19, 2011 at 10:27
  • Bullet points vs. value Commented Mar 6, 2013 at 14:38

8 Answers 8


Features are what sales people sell.
Functions are what programmers develop.

  • 4
    Good, memorable, distinguishable answer. Commented Jul 26, 2011 at 12:56
  • @RobertHarvey Do you have a specific argument against this answer?
    – Zibbobz
    Commented Apr 20, 2015 at 16:21
  • @Zibbobz: You mean other than it doesn't generally inform? Also, note the close votes applied to the question. Commented Apr 20, 2015 at 17:40

Functions don't fit well into the context of a user story and are mostly transparent to a user. They may be a backend process or some kind of unique or common application functionality that enables other features or possibly other functions to be be implemented appropriately.

Tasks on the other hand are individual units of work that must be completed to deliver either a feature or a function.

In my projects I tend not to differentiate between a Feature and a Function and I write user stories for features and add functions or refactoring efforts as Tasks to complete a single feature.

This sometimes makes certain features look needlessly bloated on the project plan but this is okay, because if I need Functions 1 and 2 and Function 3 to be refactored to properly deliver Feature 1 then perhaps my only deliverable for that sprint will be Feature 1, or possibly no deliverables at all.

As long as by the end of the sprint I still have working software then my project is Agile.


Features are what your program can do. Features are a direct result of user requirements, and business objectives. Thus a program's features exist mainly to meet user demands.

Functionality, on the other hand, is how the aforementioned features are actually implemented.


For a PM, "Function" is purpose and "Feature" is a product behavior that a user can interact with. However people often get the two backwards (which I think is the case in your question).

Getting me from place A to place B is a key function of a car. Its the reason (purpose) it exists. The steering wheel is a feature, as is the gear stick. The driver interacts with multiple features to achieve the function of getting somewhere.

"Function" here should not be confused with a programming language function (method) which talks about implementation of a feature software. That is most likely not what a PM would be talking about when they refer to "Features and Functions".

There is not a nice hierarchy to functions and features, as one feature may be used to support multiple product functions.


I believe a correct distinction has to be drawn for a specific methodology or a specific requirements culture. The following is my own interpretation.

Function: A core requirement that affects the value of the software dramatically, that the user must have at a specific release. Example: Save function on a text editor.

Feature: A nice to have capability of the software, that adds value to the software but is not an absolute must for the software to function properly and perform its functions. For example, have an undo feature on a data entry form or save a document as gif file for a text editor(wired!).

  • 1
    I do not know where you got these from, but IMHO the most usual definitions of functions and features do not make any distinction on importance.
    – Doc Brown
    Commented Apr 20, 2015 at 13:32
  • I qualified the anser, thnx for your comment.
    – NoChance
    Commented Apr 26, 2015 at 21:46

Behind each feature is the functionality needed to provide the user with the intended purpose of the feature.

Example: A university's registration system would have a "student registers for classes" feature. This task requires quite a bit of functionality as well as access to a database. The design for the feature would involve an understanding of the user's actual task - registering for classes. This would be a prerequisite to the "interaction design" necessary to facilitate the users task. The functionality would be designed to implement the interaction requirements.

Programmers are looking for functions to code. Interaction designers are looking for the best way to deliver this needed functionality through the design of the software's interaction with the user. Understanding of how the user can best achieve his or her objective comes first. Identification of the needed functionality follows.

The above is not scientific, it is only my opinion.

  • 2
    Thanks for adding your first post to Stack Exchange Programmers. Please take a look at the FAQ programmers.stackexchange.com/faq for ideas about how to write questions and answers that will receive up votes and improve your reputation. Commented Sep 29, 2012 at 14:00

It is important to remember the distinction between product functions and product features. Functions are the “product’s answer to the set of user tasks”; features are the “user tools” inherent in the product used to perform the functions . Placing a telephone call is a function; the dial tone and the touch-tone keypad are features used to accomplish the function.


I would agree that it is not worth obsessing over since the terms are often used interchangeably in some contexts. Yet in the broader management context I think there are some important points. First, PM can also mean product manager. Someone must take responsibility for deciding what the market will support in price, delivery date and features. I generally find that feature is preferred when you are in a marketing context. The project manager's role is to manage the project such that the desired product is delivered on time and within budget. To the architect and designers, the feature are given and can be thought of as delivered functions in the human organization offering data transformation and storage but must be reified until the design has been reduced to delegate-able units of work that can be assigned to developers. It is often the case that a feature does not cleanly map to a set of functions in the machine system. For example, fast and secure are features desired by consumers but cannot be segregated in the code. These emergent properties are what make non-functional requirements so difficult to satisfy.

  • this post is rather hard to read (wall of text). Would you mind editing it into a better shape?
    – gnat
    Commented Mar 14, 2014 at 14:50

Not the answer you're looking for? Browse other questions tagged or ask your own question.