Back to Homepage

Credit: unknown

SMART Commitments

Andrew Begel

Defining Commitments

In industry, software engineers are held accountable by management for accomplishing the work they do. However, evaluating all engineers by the same criteria would be unfair. For example, junior engineers should not be expected to have as much impact as senior engineers. Engineers on a new team may do much more programming than engineers on a maintanence team.

A simple solution is to have each engineer define their own benchmarks, i.e., a set of commitments of the work that they plan to do for the review cycle. At the end of the cycle, the manager can measure the performance of the engineer against their personal commitments and reward them accordingly.


One methodology for creating these commitments is named by its acryonym, SMART.

  • Specific - What are you trying to achieve?
  • Measurable - What does success look like? How can someone else observe this?
  • Achievable - Can it be done? How ambitious is it?
  • Relevant - Is it addressing a particular need?
  • Time-Bound - Is the timeframe realistic?
  • Each SMART commitment comes in two parts:

    1. What specific thing do you plan to accomplish?
    2. What will demonstrate to others that I have accomplished my plan?
      (This could be a report, a list of bugs you fixed, the application you built, or even the homework assignment you wrote up.)

    In this class, you will be asked to work together in a team to design, build, and deploy a large software project. Your work will be judged through participation in class activities and lab discussions, and your thoroughness and effort in homework assignments (i.e. your project). SMART commitments make it easier for you to track your own progress towards the goals you bring to this class.

    Create your own SMART commitments (5 minutes)

    Think to yourself: Why am I here? What are my goals for this class? How can I demonstrate that I have achieved them?

    Take out a sheet of paper and a pen. On that paper, write down three commitments you have for yourself for this class. Remember to label each of the SMART commitment's two parts. Do not write your name on the paper.

    Fold the paper into thirds and place it in an envelope (provided). Then, make up two codewords that only you will remember, and write them on the outside of the envelope. Please turn in the envelope to the professor before you leave class.

    The professor will read your commitments, but because you labeled them with your own codewords, the professor will not know which commitments are yours.

    On the last day of the class, the professor will pass back your commitments. How did you perform against your commitments? Did you achieve your goals?