Cloud Functions (web tool + CLI)

A Function-as-a-Service (FaaS) that listens to events and executes actions when triggered

#automation

#APIs

#serverless

Overview

What's it about?

Imagine If This Then That, but for developers – IBM Cloud Functions is a service that lets developers automate their tasks based on specific triggers.

This way they can focus on developing the application itself and not get distracted by tedious side work.

📣

You'll read about

📖

My Responsibilities
  • Working on user research (together with the team)
  • Creating the basic concepts
  • Pitching ideas to the greater team
  • Collaborating with developers and product owners
  • Creating prototypes + user testing them

Defining the Problem

Developers need a way to automate tedious tasks so that they can focus on developing the application itself and not get distracted by some side work

Currently, developers need to program their own way of automating tasks by using APIs. If they don’t automate the flow, they have to get it done manually.

And this is where Cloud Functions comes into play. Users can connect with their favorite application, set up a Trigger and an Action and let it run.

IBM Cloud Functions The Problem

What do our Users need?

User Journey

To analyze the biggest pain points and problems the users have with the current implementation of the product, we created As-Is Scenarios.

Additionally, we built User Journey Maps quarterly to measure success and failure and find points to see where we can improve the product.

Pain Points

After we had discovered the Pain Points, we then prioritized them and validated them with stakeholders (Offering Management and Development) and Users to identify major areas to improve.

We started by going back to the drawing board and brain stormed on: A how we could solve the problems, and B how these solutions fit within the overall strategy and experience of Cloud Functions.

IBM Cloud Functions User Journey Map

Designs & User Tests

IBM Cloud Functions Whiteboard A
IBM Cloud Functions Whiteboard B
Ideas + Designs

After analyzing the basic pain points we ideated on how to solve these. To solve more complex problems which require a more creative approach, we used the Big Idea method. This narrows down the possible solutions for each problem.

Due to NDAs I can’t go further into details. However, I want to show some of the outcomes of our iterations and the design process.

Whenever we designed concepts, we immediately tested them by creating prototypes and checked back with actual users.

For the most user tests we created various concepts and turned them into an interactive InVision clickdummy.

IBM Cloud Functions Prototype
Constant User Testing + Design Iterating

Since we’re having a continuous delivery approach, we’re constantly designing features, iterating on ideas and delivering them. That means building prototypes and testing them with our users every single week.

We had a solid base of test users we acquired over the last 2 years, so it was easier to test early and often and more important to test content and features with users that already knew our process and the product.

Additionally we also had a group of users that didn’t know the product too well, which helped us test completely new ideas and concepts.

We wrote the test scripts and prepared prototypes accordingly, which meant: me, building the main flow of mid-fi wireframes, and our visual designer, polishing and finishing them.

IBM Cloud Functions InVision

The Outcome

When assigned to the project, we started to rethink the design strategy together with product management to achieve a consistent and appealing experience.

There was one big launch for the product back in December 2016 were we went from beta to general availability. Every year the biggest IBM conference – Think – takes place in Las Vegas for which we prepared major updates. Minor updates are shipped bi-weekly.

The Toughest Challenge was…

… to create a product that developers actually use in addition to the current CLI version of Cloud Functions. By finding the core problems and defining where we fit best in the user journey, we developed a tool that works perfectly for entering the world of automation.

Key Takeaways

Continuous Delivery

One of the most important things I learned on this project was how to work effectively with developers. Since our UI developers were located overseas, it made communication more difficult. So we had to find a way that worked for all of us – and we did.

Preparing proper prototypes, writing detailed UX and visual design specs, and communicating on a daily basis made collaboration way easier and helped ship the product in a more efficient way.

Everyone can learn

With a team of three designers with different roles, we kept learning from each other every day. I learned how to code, got into deep discussions with different perspectives on the topic, and taught the others the UX principles.

Understanding Developers

Developer have a different way of working and that’s what I learned from this project. It’s all about intense collaboration (or pair designing), documenting decisions and working with GitHub issues and a Zenhub board.We also learned a lot from our users, which were App and Back-End Developers using our platform to create Actions and Triggers.