I had the opportunity to be a guest lecturer at the National Institute of Design in Bangalore, India today. I taught a session titled ‘Idea to Implementation’.
My goal was to have the students conceive, build a prototype and test a product – in essence go through the entire product ideation lifecycle.
Here was the challenge: Invent and Build an Alarm Clock
This was an experiment for me as well. I wanted to see if we could achieve all these things in such a short period of time. How fast can you get to a nonfunctional prototype?
Brainstorming:
I introduced the rules of brainstorming and the class split into teams to get to work.
I haven’t been satisfied with the post-brainstorming activities like multi-voting, so I asked them to do more explicit sorting with a technique called ‘funneling’.
When you pour a bucket of water into a funnel, what happens? You get a single stream of water. Funneling as applied to brainstorming is used to clarify ideas at various levels of abstraction. The levels we used were ‘users’, ‘needs’ and ‘features’. At the end of the brainstorming session each team had a prioritized list of users, their needs and the features that would serve those needs.
Who are our users:
One group came up with a lot of non-auditory methods of waking someone up. They were going back and forth between building an alarm clock for a deaf person or an elderly person who was hard of hearing. They made a decision to go for the elderly. When they started thinking about their needs in this context, it led to ‘remembering’ over ‘waking up’. As a result, the features were focused around creating a mechanism for reminders throughout the day. (If you’re retired, you don’t need an alarm to wake up and go to work!)
Create a Scenario:
I asked each team to tell a story about their alarm clock in action, because a list of features isn’t sufficient to understand how this product will be used. I didn’t really care how they did this (storyboard, written narrative, acted-out skit, video, etc). Each team decided to ‘act-out’ their alarm clock in the form of a skit and the results were hilarious. Afterwards the product ideas were opened up for critique. For example, one group used water as a startling mechanism and classmates challenged the practicality of that idea.
Prototyping & Testing:
Each team built a low-fidelity prototype of their product using ‘found’ materials in the design lab. Using objects like water bottles, tape, string and paper, each team constructed their prototype. To test their newly-invented product, members of another team poked and prodded the prototype to see if they could make sense of it.
The process for testing was simple. First the team came up with a list of tasks they would ask of the user, then each member of the team picked a role to play during the usability testing. There was one person would be the ‘guide’ to set the stage, ask the user to perform tasks with their device and ask questions to understand what the user was thinking. Another person played the role of note taker. A third person manipulated the non-functioning prototype to make it come alive.
Thoughts:
From an Agile / UX / UCD perspective, I was impressed that each team was able to go from idea to prototype in such a short period of time. It makes me wonder if we shouldn’t be creating more prototypes. Teams could utilize lower-cost methods of documentation: skits vs storyboards, paper prototypes vs ‘clickable’ prototypes. Rather than doing a high-quality job with fewer ideas, what if a cross-functional team could churn out many low-quality prototype concepts? Would that shallow effort yield more knowledge than a deep-focus in one area?
Special thanks to Mamata Rao, a faculty member at the National Institute of Design for the opportunity to work with her students. What a fantastic group!
I designed a class borrowing ideas from other folks at Yahoo like Todd Hausmann, Gale Curtis, Matt Fukuda and Dan Wascovich, Kevin Cheng, Anand Nair and Anupama Kamath. I also incorporated techniques like prototype testing from Marty Cagan, and paper prototyping from Jeff Patton.
Hello Joe:
Got to your blog and an interesting first article to read.Is it by coincidence or design that most of leading product development companies like Yahoo, Google, MSN and others like Thoughtworks etc in recent years have been Agile driven and almost none are CMMi. Is there some significant difference in the way management perceives their role, environment and market-organization dynamics?
Another factor is to have a champion for change and belief in change of his/ her so strong that it comes around.
If you had a memo to write to management thats going towards deterministic processes like company wide formal estimation methods and evaluations - what would you write?
Thanks
Product organizations (such as Yahoo, Google, MSN and others) do not concern themselves with certifying themselves at a CMMI level. Here’s why:
Certainty and traceability associated with CMMI has cost (in terms of being able to predict scope, cost and time of a project). A high CMMI-level rating, while it decreases risk, also has overhead that adds to costs. The higher the level of certainty, the higher the cost.
Product organizations manage risk differently than an internal IT shop or a IT outsourcing firm. These companies plan for failure by executing multiple options - build internally or acquire. Competition from startups and other internet companies is fierce. Time to market is critical. Persuing a CMMI level that would add any costs to product development isn’t acceptable. For example, it wouldn’t be possible for messenger.yahoo.com to catch up to meebo.com if we had CMMI controls in place. Because, guess what, meebo doesn’t either. We have to go as fast, or faster then them.
For an IT outsourcing firm it makes perfect sense to invest in a high CMMI-level rating. After all, they’re selling more than just software. They’re selling a service. And part of that service is certainty. Their customers do not want to take risks, and are willing to pay for certainty. An IT outsourcing firm passes on the costs of the overhead associated with the risk reduction. Unlike a product organization, failure carries punitive damages associated with a failed contract.
It’s also important to note that Agile & CMMI aren’t incompatible. There are many firms that use Agile development methods who certify themselves. Their customers are willing to carry the costs of certainty and tractability and still get benefit from Agile methods. Check out Jeff Sutherland’s work on the topic.
The concept of company-wide process definition is quite different then the pursuit of CMMI certification. CMMI doesn’t tell you how to reach a level of certification, it just tells you what you need to achieve the desired level. Management can do the same, articulate what the organization values and let the individual teams figure out how they can be achieved. There is a lot management can do to articulate organization needs — like minimum performance criteria, security standards or legal compliance.
In the memo to the company that was asking for standards on formal estimation methods and evaluations, I’d ask them to articulate the needs of the organization and challenge teams to find ways to meet those needs. Specifying how each team will operate may be comforting for the management team, but will just be an illusion of control. Management should set goals not dictate how to reach them.
Recent Comments