Software Estimation Best Practices

Agile Series Part 2: Stakeholder Satisfaction

When learning something new, people often try to relate the new information back to something they already know in order to help make sense of the new concept or idea.  As a psychology major now working in the software world, I’ve found myself relating a lot of what I’m learning back to the psychological theories and concepts I learned in college.  Therefore, it is no surprise that upon reading The Twelve Principles of Agile Software, I’ve discovered that many of their principles map to organizational psych concepts.

Agile development theory approaches software development holistically.  I believe this is one of the reasons Agile projects have become so successful.  Rather than merely focusing on skill development, Agile methods foster leadership skills and teamwork among members of the development team itself, as well as between the development team, the project owner, and the stakeholders.  One avenue for this is to unify the development team and project owner with the common goal of achieving stakeholder satisfaction.

The first principle states, “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”  The question I had upon reading this was what do the authors mean by the term satisfaction?  When thinking about satisfaction, most people think of outcome satisfaction, or the ultimate outcome of something, in this case the functionality of the delivered software project.  Process satisfaction on the other hand, refers to the level of satisfaction associated with the method of developing the software, or how much the stakeholders enjoy the software development process.

This first Agile principle is particularly interesting because it addresses both outcome and process satisfaction.  Agile stakeholders report a high level of process satisfaction because they are constantly involved in the development process.  Regular communication with the project owner and development team, makes the development process highly transparent.  Agile also allows for a high degree of outcome satisfaction.  With early delivery of valuable software, stakeholders are able to begin using it quickly.  Although its functionality will not be at full capacity, continuous delivery of iterations allows stakeholders to maintain a high level of satisfaction with the overall project.  One study found that higher process satisfaction was correlated with higher outcome satisfaction.  Although this does not indicate causation, it is possible that Agile’s high outcome satisfaction ratings could be attributed to high process satisfaction from stakeholders.  

In any software development project (Agile or otherwise) it is important to maintain a high level of stakeholder satisfaction.  In addition to maintaining good communication and transparency with the stakeholders, giving them options will also improve satisfaction levels.  With all the changing requirements of Agile software projects it’s a good idea to constantly reevaluate the project status.  With this in mind, how can we use software estimation tools to improve stakeholder satisfaction?

SLIM-Estimate is a software estimation tool that utilizes top-down methods of estimation, making it fast and easy to create estimates at any point in the project’s lifecycle.  With just a few inputs – size, staff, and productivity – you are able to determine the duration and amount of effort necessary for completing the project.  SLIM-Estimate makes it easy to log multiple ‘what-if’ solutions and compare them against one another (see Figure 1).  

Compare Alternate Solutions

Figure 1: Side by Side Comparison of the Logged Solutions

If you select the different solutions in the log you will see how adjusting the constraints affects the Risk Gauge (lower right).  This gives a visual representation of the degree of risk associated with each solution.  Presenting this information to stakeholders allows them to get a more complete view of the options available for completing the project and will allow them to make an informed decision about how to move forward.  

Involving the stakeholders in the decision-making process increases their satisfaction working with the project owner and development team.  Additionally, by listening to what the stakeholders want the development team will be more likely to deliver the features that the stakeholders value, thus increasing their reported outcome satisfaction.

Does your organization already measure stakeholder satisfaction?  If so, you can build a custom metric in SLIM-DataManager and perform statistical analyses in SLIM-Metrics to see how your other metrics correlate with stakeholder satisfaction.  Does having a shorter schedule duration or a higher MTTD correlate to a higher satisfaction rating?  Seeing what the stakeholders value most can help determine the areas where your development team should focus their energy.

 


References:

Reutskaja, E. & Hogarth, R.M. (2009). Satisfaction in choice as a function of the number of alternatives: When “goods satiate”. Psychology & Marketing, 26, 197-203.