Usability & Metrics

Measuring the process: how to gauge your team’s development success

Thursday, February 7th, 2008

Almost every enterprise within the software or application development world has acknowledged the need for metrics to measure the usability of their products. However, as a recent Baseline Magazine article points out, almost no one is measuring the development process itself, which means that our processes are largely untested, inefficient, and potentially wasteful. Up to this point, the only research most managers do into their team’s success is to walk through the bullpens once a day and ask, “How’s it going?”

This isn’t because of a lack of desire or a belief that this type of information gathering is unimportant. As Forrester researcher Carey Schwaber told Baseline, “The common units to measure developer productivity are variable or inaccurate. The fundamental problem is that it’s difficult to size software.” In other words, the metrics for measuring the development process have not been standardized, tested, or scaled to the industry.

For this reason, most organizations gather absolutely no data on how their process is working, if they even have a formal process at all. Forrester research found that just 63 percent of managers had metrics in place at all, not to mention whether or not action was taken as a result of the data. Also, the metrics they mentioned are general business concerns, and they are not specific to application or software development. Common measurement points include employee productivity, cost management, defects, and scheduling; none of these points are tailored to what design and development teams actually do.

For this reason, we’ve decided to make a short list of metrics that can be used specifically to measure the success of application development teams. Here are a few metrics to consider implementing within your development process.

Quality of product at each stage - Check often for problems or errors within the design. These act as the metrics within the metrics. It’s important to keep a running tally of issues at every stage so they can be solved as the need arises or as the project progresses. One of the factors of success is to show the client a working, quality proof of concept at key intervals. This lets your client know that you’re paying attention to details and you won’t forget to take the small steps that make the finished application high quality. This will also help convince the client that more time is needed if you run into scheduling concerns. While fast food customers might want poor quality as quickly as possible, your clients probably don’t. They’ll be willing to wait if they know the finished product will be better in the end.

Effective management - The old saying, “There are too many cooks in the kitchen,” applies well to application development teams. Top heaviness is a sure way to create communication problems, which leads to a poor quality product. If your organization is structured in a less-hierarchical model, nominate one member of the team to take charge of communicating and assigning tasks. Make sure your team has strictly defined roles, and check often to be sure that they’re collaborating and sharing key information. A great way to ensure collaboration is to use a project management application like Makibie Connect or Open Workbench. These tools are designed to encourage communication and track scheduling for a team with diverse roles.

Skill development - This is a great way to measure the success of your team in the long term. When an individual developer can add new skills or knowledge to the process, you are better positioned to deliver unique value to your clients. If your group develops new skills or gains new insight, you have a great barometer of the success of future projects. This metric also has the bonus of looking into the past. Did your team create a better product than last year because of a seminar they attended or a new employee with unique insight? Measuring the skill development of your group can show you not only short-term success but also long-term growth.

Business value - While it’s easy to dismiss this category as cost vs. return on investment (ROI), business value can be much more than simply tallying up your profits on any given project. If the application you deliver does not support any of your long term business goals, it does not matter how much money it brought in. A good example of this is in Starbucks’ recent decision to discontinue breakfast sandwiches. Financially, they were a success for the coffee giant, but they did not support the brand or the quality coffee that is Starbucks’ primary focus. The same concept should be applied to application development. Not only should a product be financially successful, but it should also give your business a boost towards meeting fundamental goals and values.

User satisfaction - This is undoubtedly the most important of all application development metrics. Whether your code is perfect or your clients are pleased with the design, the only opinion which really impacts your success is that of the user. The best way to ensure user satisfaction throughout the development process is to implement frequent testing. The more users who examine your project, the more chance you have of getting it right. Ideally, testing should be done every time you show the client a new prototype. This will provide you with a laundry list of changes that need to be made before the next cycle.

Most teams are asked to improve their productivity, quality, and cost-effectiveness, and most have no idea how to do so. These traditional metrics serve simply to justify your team’s existence to the powers that be, but that is not always enough. Using a set of data points specific to application development can not only justify your existence, but also prove your unique value within any given enterprise.

By Haley January Eckels