9.1 Brainstorming, determining the end deliverables
Before starting to code, we want to think about the big picture goals of the project and a plan to achieve those goals. Once we have the end goal in mind, we can work backwards from that.
Here’s a nice clip of Steve Jobs from 1997 talking about how Apple wants to start with what the end deliverable is going to be to the customer, and how it will benefit the customer. A couple of quotes:
- “You’ve gotta start with the customer experience and work backwards to the technology. You can’t start with the technology and figure out where you are going to try to sell it.”
- “As we have tried to come up with a strategy and a vision for Apple, it started with ‘what incredible benefits can we give the customer, where can we take the customer’, not starting with ‘let’s sit down with the engineers and what awesome technology we have, and how we are going to market that.’”
(The clip is also a nice example of how to respond to criticism.)
We can start by asking ourselves these questions
- What would be the most useful deliverable for the end user? What is their end goal, and how can we help them? What is their background, and what skills, experience and understanding do they have?
- What important factors should be included in our analysis? What will the end user want to be included in any analysis? What will they ask about? What data do we have, and what information in the data do we want to be used?
- How will the results of the analysis be delivered? How would we want to use the results if we were in the end users shoes? How could the results be used in meetings, in informal one-on-one conversations, by individuals in their own time, or in other situations?
Those are just some examples of questions to consider. We can think about anything else that We think could be important for a specific project.
We are not necessarily bound to any of these goals or end deliverables, and they may need to be modified as we start working and realize what we can and can not do. But it is important to start with the end, and always keep the end on top of mind throughout the development process.