You are on page 1of 45

Welcome to

Product School!
MODULE 9 - DEVELOP YOUR PRODUCT II
Agenda

WEEK 1 WEEK 2 WEEK 3

Understand Customers & Problems


Course Introductions Competitiveness, primary & secondary activities, customer
Validate an Opportunity Hypothesis
Instructor & trainee Intros journey maps
Effort vs. user value, A/B testing & customer interviews

Introduction to Product Management Create an Opportunity Hypothesis


PM skills, goals & methodologies Qualitative & quantitative methods, setting goals
Define Product Requirements
PRD, MVP & roadmaps
Set Product Objectives
User personas, metrics & use cases

WEEK 4 WEEK 5 WEEK 6

Start Building Develop Your Product II Get Hired


Design processes, product vs. design & sketching MVC, API design & team management Retrospectives, public speaking & resume reviewing

Develop Your Product I


Market Your Product Deliver and Present
Development methodologies, engineers & product, design
Channels, messaging & insights Capstone Project
patterns
Agenda Accelerated

DAY 1 DAY 2 DAY 3 DAY 4 DAY 5


Strategy & Discovery Research & Define Design & Develop Launch Present

Create an Opportunity Hypothesis Start Building


Course Introductions Market your Product Deliver & Present
Qualitative & quantitative methods, Design processes, product vs. design
Instructor & trainee Intros Channels, messaging & insights Capstone Project
setting goals & sketching

Get Hired
Introduction to Product Validate an Opportunity Develop Your Product I
Retrospectives, public speaking &
Management Hypothesis Development methodologies,
resume reviewing
PM skills, goals & methodologies Effort vs. user value, A/B testing & engineers & product, design patterns
customer interviews

Develop Your Product II


Set Product Objectives Define Product Requirements MVC, API design & team
User personas, metrics & use cases PRD, MVP & roadmaps management

Understand Customers & Problems


Competitiveness, primary &
secondary activities, customer
journey maps
Index > Session

Agenda

1. Overview of Model, View & Controller (MVC)

2. Prototype API

3. Team Management
Module 9 > Section 1 > MVC

Overview of Model,
View & Controller (MVC)
Module 9 > Section 1 > MVC Unmute and Share Estimated time: 10 minutes

Instructor-Led Q&A:
Model, View & Controller
● What constitutes a good design system?

● What does it take to model and prototype


an API?
Module 9 > Section 1 > MVC

System design

Conway’s Law states that organizations design


systems that mirror their own communication
structure.

It is named after computer programmer Melvin


Conway, who introduced the idea in 1967.

As companies are competing for consumer


adoption of their products and services, how do
you know if your company's technology stack is
positioned for success?
Module 9 > Section 1 > MVC

Application Programming
Interface (APIs)
Product Use:

API allows you to build a consumer experience by


creating, updating, deleting, and retrieving data
and assets from/on your server, via service
requests.

Anytime you’ve searched for a keyword,


requested food delivery or an UBER ride, APIs
were instrumental to complete those tasks.
Module 9 > Section 1 > MVC

Application Programming Interface (APIs)

POST REQUEST

GET

BACKEND PUT API

DELETE

CUSTOM DATA APP


Module 9 > Section 1 > MVC
Module 9 > Section 1 > MVC

API - formal definition

An application programming interface (API) is an


interface or communication protocol between a
client and a server intended to simplify the
building of client-side software.

It has been described as a “contract” between the


client and the server, such that if the client
requests in a specific format, it will always get a
response in a specific format or initiate a defined
action.
Module 9 > Section 1 > MVC

Business around APIs

Building a business model around your APIs


requires a clear understanding of the data that is
deemed valuable for customers. Once you’ve
identified the data you’d like to provide to
customers, you want to build a monetization
model that fits the purpose. A few strategies could
be based on usage and/or subscription.
Module 9 > Section 1 > MVC

APIs examples

🔗
🔗 Stripe 🔗 GitHub
Amazon Web Services
Module 9 > Section 1 > MVC

Model View Controller (MVC)

OK, now let’s take a look at MVC.

Let’s use Netflix as an example to illustrate this


model.
Module 9 > Section 1 > MVC

How it works

1 2
Controller
Request Contacts

3
5 Shows
Model
Returns

4
View
Delivers
(Abstraction Layer)
Database
Module 9 > Section 1 > MVC

Goals of MVC

● Continuous and Dynamic App


Development: MVC decouples the
application in a way that allows multiple
developers across various teams to work in
parallel on different components without
affecting or blocking one another.

● Code Reuse: By leveraging shared


libraries for UI and server logic, the
development team can build and iterate
quickly on the application.
Module 9 > Section 1 > MVC

Model

● Definition: It’s the application's dynamic


data structure, independent of the user
interface while managing the data, logic
and rules of the application.

● Netflix example: The raw movie data


catalog
Module 9 > Section 1 > MVC

View

● Definition: Presentation layer of the


application responsible for the UX of the
consumer experience.

● Netflix example: TV and movie carousel


Module 9 > Section 1 > MVC

Controller

● Definition: The liaison between View and


Model handling user input requests.

● Netflix example: The mobile app running


on Android or iPhone that takes in the user
input actions & scrolling actions to see the
content.
Module 9 > Section 1 > MVC

Key takeaways

1. APIs are the interface between the backend


service and the app or service.

2. MVC is a common framework to develop


against UI levels of abstraction from the
data source.

3. From A/B Testing to MVC, you can


validate many assumptions without
expending valuable engineering resources.
Index > Session

Agenda

1. Overview of Model, View & Controller (MVC)

2. Prototype API

3. Team Management
Module 9 > Section 2 > Prototype API

Prototype API
Module 9 > Section 2 > Prototype API

APIs

● APIs can take many forms

● Web APIs or Platforms APIs

● Different protocols such as Simple Object


Access Protocol aka SOAP

● Different architecture types like


Representational State Transfer API aka
REST APIs

● Regardless of which API you have to


create it is good to design and validate an
API thoroughly
Module 9 > Section 2 > Prototype API

API design process steps

● Define an objective

● Model

● Prototype

● Learn

● Iterate
Module 9 > Section 2 > Prototype API

Example

● Fingerprint APIs on mobile operating


systems

● Used by the operating system to unlock


your phone

● It can be used for specific apps, e.g.


banking apps for extra security

● Apps don’t want to have to know the


details of how a hardware fingerprint
sensor works, they just want to get a
response back on if a fingerprint
authentication worked or not
Module 9 > Section 2 > Prototype API

API design process - Define an


objective
Identify key participants in the design process
spanning across Product, UX, Engineering,
Architecture

Fingerprint: Allows apps to securely authenticate


with a fingerprint credential.
Module 9 > Section 2 > Prototype API

API design process - Model the


data of the API
Understand the data needed to support your
consumer experience and identify the sequence of
events during an experience

Fingerprint: Ensures that your API provides a


consistent, reliable, and efficient way to access
and manipulate the underlying data.
Module 9 > Section 2 > Prototype API

API design process - Prototype

Similar to wireframing a consumer experience, the


same approach should be applied to building an
API considering it a key pillar to implementing
end-to-end consumer

Fingerprint: Creates a pseudo-code, what would


an app developer need to type to access the
needed result
Module 9 > Section 2 > Prototype API

API design process - Learn

Gather feedback from stakeholders/participants to


assess usability, feasibility

Fingerprint:

● Invites banking apps developers in for a


user study to gather feedback.

● Perhaps they want one API for fingerprint,


and another for face authentication, maybe
combined.
Module 9 > Section 2 > Prototype API

API design process - Iterate

Refine the design based on the use case

Fingerprint:

● Turns out phone manufacturers had a


mixture of fingerprint and face
authentication.

● Instead of having a separate API per


authentication type it was easier to have
one biometric API that covers multiple
types in one API.
Module 9 > Section 2 > Prototype API

Key takeaways

● Sometimes your product feature is an API.

● Structured design and validation process


makes it easier for developers.
Unmute and Share Estimated time: 20 minutes
Module 9 > Section 2 > Prototype API > Exercise

Breakout Group Discussion:


API Design
Follow the steps to create create a simple API
Design for Sleep N Stay:

1. Identify your resources

2. Design Endpoints

3. Design Request & Response Formats

4. Error Handling

5. Security

6. Documentation

Access the API Design Template here.


Module 9 > Section 2 > Prototype API

Time for a break

Stretch, breathe,
grab a drink

Estimated time: 5 minutes


Index > Session

Agenda

1. Overview of Model, View & Controller (MVC)

2. Prototype API

3. Team Management
Module 9 > Section 3 > Team Management

Team Management
Module 9 > Section 3 > Team Management

Remote dev teams

Doesn’t mean non-stop communication and


constant availability.

Rather, having regular check-ins and using tools


Easy communication
like Google Hangouts to see each other and
remember that you’re working with a person.
is the key
Module 9 > Section 3 > Team Management

Remote dev ideas / tips

1. Over-communicate requirements, goals,


and decisions

2. Make video chat natural

3. Consider time zones


Module 9 > Section 3 > Team Management

Iterative Development can help

Iterative Development helps a lot with remote


teams.

Forces you to think about the adaptable nature of


iterative development to figure out workflows that
work well for you.
Module 9 > Section 3 > Team Management

Get people together…

… periodically for team building


Module 9 > Section 3 > Team Management

Communication is critical

Make sure you’re communicating the


requirements, goals, and deadlines to the third-
party team clearly.

Take the time to address any potentially confusing


elements as they arise.

Coordinate the timelines and progress with any


stakeholders internally to make sure everything
looks good.

It’s often better to over-communicate, especially


at first.
Module 9 > Section 3 > Team Management

TIPS:
Working with agencies
● Frequent milestones (like with iterative
development/scrum sprint demos) help
assess how things are going and make sure
the agency is on the right track

● Having a solid short-term plan helps the


agency focus and know what to do next,
keeping them working

● Treat them like a partner or like an internal


team, not a minion
Module 9 > Section 3 > Team Management

Key takeaways

1. Working in distributed environments is


becoming more common.

2. When working with remote dev teams,


over-communicate, check-in regularly, and
consider time zones.

3. With development, agencies use frequent


milestones and a solid short-term plan, and
treat them as a partner.
Module 9 > Section 3 > Team Management > Exercise Unmute and share Estimated time: 110 minutes

Breakout Group
Discussion: Culture Map

Task: Create a culture map by providing insights into Follow the steps to create your culture map:
the following three layers of the organization's culture:
1. Identify behaviors
1. Observable Artifacts: These are the visible
elements in an organization such as dress code. 2. Identify enablers/blockers
2. Espoused Values: These are the explicit values
and norms that are preferred by an 3. Identify outcomes
organization.
3. Basic Assumptions: These are the deeply 4. Create your Culture Map
ingrained, taken-for-granted beliefs that are
typically unconscious but constitute the essence
of culture.

Access the “Culture Map” Template here.


Q&A

You might also like