Outcomes, not outputs
Focus on outcomes — the changes in user behavior you want to see — rather than specific features.
Learn and respond
Think of your project as a series of experiments you're conducting in close collaboration with your users. Each experiment informs the next, so that you’re always building on the things that bring you closer to your desired outcomes and removing or adjusting things that are not helping you reach your goals.
Teams should be cross-disciplinary, closely integrated, and include the client product owner as an active design participant.
Build shared understanding
Strive toward shared understanding at all times: The entire team participates in all activities together, from planning and problem framing to research, design, and execution.
Take a holistic view of what to tackle with the team: “Product strategy” work — such as thinking through assumptions around “how we think we'll reach our users” — is not separate from the work of building specific features. This will give you more diverse perspectives and inputs, help reveal potential problems much earlier, and ensure everyone on the team understands the intended goals, which translates into informed discussions and decisions at every level.
Make assumptions explicit
Make your assumptions explicit, and test the riskiest or most critical assumptions as early as possible.
Keep experiments light
So that you can move quickly and don't build too much investment in a particular solution.
Prioritization is your friend
Prioritization is the (not so) secret weapon to keep your efforts lean and focused.
Always think problem first
Always start a project by taking a fresh look at the problem(s) and doing some discovery.