New Relic provides a hosted software-as-a-service performance management system, RPM, for web applications, first for Ruby on Rails applications, and subsequently for other technologies.
New Relic’s RPM v1.x systems were already in use by many customers to manage and optimize their web applications’ performance. However, they knew that often early users had difficulty understanding the working of RPM. Even some experienced users (including New Relic staff who use RPM to manage itself), had trouble with the organization and operation of the system.
New Relic hired me to work with members of their team to design a new Interaction Framework for RPM v2 and beyond. They asked me to guide them through the process so that they would be able to continue on their own.
I led the team through understanding and articulating key users, their goals, and some representative scenarios that they would use the software for.
Then I led the team through organizing the form and behavior of the system to meet those needs in an effective way with the technologies available to the team.
The team wanted enough documentation to refer to and remind them of their decisions and the bases of those decisions, but not to invest in formal or elaborate documentation. This meant that most of the interaction framework was hand-drawn and had enough for the team to understand, but not for outsiders.
Here are some sample pages, redacted to protect confidential information: