UX Architect
Performance Optimization

I led this design excellence pilot project, pioneering the Outside-In Design process at IBM. I led a multi-disciplinary team in an agile development process using business scenarios and personas, user goal and task models, and iterative, scenario-based prototyping.
IBM Outstanding
Technical Achievement Award

Process and Results

1. Conducted user research

I started this project with a series of contextual interviews with a variety of users. We asked them to walk us through recent problems step-by-step. We talked to both management and the hands-on users, identifying the pain points and value proposition for each. This basic research guided everything from scenarios to user models to mockups and interactive prototyping. It even defined the agile milestone process we used and the marketing messages to customers.

2. Analyzed case studies

We chose three specific, real-world case studies that typified the problems we heard from users. Each highlighted different pain points and costs to bot the customer and to IBM (support costs for flagship database products). We tied all of this together into a business scenario identifying all of the stakeholders, their goals, and the value proposition we could offer.

3. Visualized case studies

Here is an example of how I visualized one of the case studies for feedback and validation with users. It starts with a dissatisfied customer who then runs into a critical outage. The current solution took 3 days of expert tuning. The prototype of one of our automated advisors arrived at the same solution in just 1 minute.

4. Identified stakeholder goals

The breadth and depth of user research I completed led to a very detailed understanding of the various stakeholders involved in database application delivery in large enterprises. We used our understanding of stakeholder goals to communicate the value of the product both internally to our development team and externally to prospective customers. It also drove elements of design.

5. Identified stakeholder pain points

Our focus on pain points emphasized how one user’s performance problem could propagate to costs throughout the customer’s business. What an end user accessing a brokerage app sees as slow performance is also seen by IT Operations as a Service Level Agreement violation, by the application team in increased support costs, and by line of business executives as lost customers and ultimately lost revenue.

6. Outlined business value

I took all of the goals and pain points we heard from users and stakeholders to outline the potential value of our solution in terms of quality of service and reduced total cost of ownership. I a mapped these qualities to the current situation of ineffective and costly query tuning, showing visually how aspects of our design will progressively provide greater value.

7. Validated problems and value

I validated our understanding the problems and the value proposition of our solution through interviews and questionnaires with customers. Customers rated the problems as very important and believed the solution we were proposing would be much better than how the currently solve those problems. Our solution appeared to provide significant value.

8. Modeled user goals

My next step was to create a detailed model of users goals showing both the high level and the goal at each step of the process. This focused our function on the value to be delivered and the design on identifying problems and proposing fixes.

9. Modeled user tasks

Our research highlighted the many roles involved in identifying, analyzing, and fixing problems. I created this task model to show who was involved in each step and what they communicated to one another. This drove both features and design.

10. Modeled user activity

This is another model I created to show each user’s tasks side-by-side and where they interact with one another. This particular model is showing steps in the installation and configuration of the solution.

11. Defined milestone scenarios

I also pioneered the agile development process in our division for this project. The process visualization to the right shows how we focused out iterations on milestone scenarios. Each scenario was separately designed, developed, and iterated. We learned a lot about best practices for agile in this project, including the challenge of creating enough infrastructure to deliver working milestone drivers.

12. Developed interactive prototype

For hands-on usability testing I developed an interactive prototype. The welcome screen to the right shows how the design focused on scenarios with our first and second milestones having their own entry points: Tune Single Query and Tune Query Workload. However, configuring their systems for tuning is always the first step, so that is also prominent on the welcome.

13. Prototyped up and running

Getting users through configuration to the goal of tuning their queries was identified as a potential pain point early on. We designed this wizard to walk users through the process step-by-step, including progress indication showing when back-end processes were complete.

14. Designed to user goals

The core of the design was the recommendation summary showing each area being analyzed for performance improvement and the resulting suggested actions for users. The user’s flow was to start with red lights, take recommended actions, rerun the advisors, and repeat until all of the lights were green. There were also tools for manual analysis, but our goal was to reduce the expert skills required in those tools.

15. Gathered quantitative feeback

16. Validated design with users