About · Posts · Categories · Projects · Mailing List

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Introduction

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

The goal of this post is to document an approach to build an app. If you have an idea, this post outlines a path to build it.

It contains the knowledge I've gained in the last 5 years as a Product Manager in both startup and corporate environments.

It's a step-by-step guide I wish I had.

This post is intended for all levels of experience and professional backgrounds. No esoteric knowledge required.

Reading this post will be like plugging into the Matrix and uploading the "Build an App" program into your brain.

Topics include:

  • Thinking about your idea
  • Mindset
  • Mockups
  • User Stories
  • Project managing a development team

Throughout I'll provide examples from Bechant, an app two friends and I recently launched. Bechant is a tool that will email you a random selection of your Kindle Highlights.

If you have an idea or a desire to build a product, this post documents one way to do it.

Plug in.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Contents

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Section A: Philosophical

Idea Part 1. (Visualize)
Idea Part 2. (A job to do)
Idea Part 3. (Excel test)
Idea Part 4. (Why build it?)

Mindset Part 1. (Be a minimalist)
Mindset Part 2. (Set your team up for success)

Section B: Practical

Mockups Part 1. (Introduction)
Mockups Part 2. (The good enough MVP approach)
Mockups Part 3. (How to: drawing approach)
Mockups Part 4. (How to: software approach)

Development Part 1. (Getting started)
Development Part 2. (Tech stack 101)
Development Part 3. (Tech stack 201)
Development Part 4. (The User Story)
Development Part 5. (Essential features for launch)
Development Part 6. (Project management)
Development Part 7. (Testing aka QA aka UAT)
Development Part 8. (Release to production)

Launch

Contact Me

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Section A: Philosophical

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Idea Part 1. (Visualize) top

Disclaimer: no amount of visualization and research can guarantee the success of your idea. You'll only know if you built something users want after you release your app.

BUT you must invest time to evaluate and refine your idea before you build it.

More time than you think.

Let me set the stage.

When you identify a problem and come up with an interesting solution, you lose objectivity. Your internal dialogue is overcome by observations that mostly reaffirm your idea. You think: it's a great idea, people need this to exist. Why wouldn't they use it?

You visualize a merry world where your product exists and users are using it. Yet you do not visualize the step between releasing your product and getting users.

What happens at that step? Where did all those users come from?

Say you just launched your app Turtbnb. It's Airbnb for turtles. Are users going to open the App store, know to search for "Turtbnb", download the app, sign up for an account, and become active users?

Your answer may be a resounding "YES"! Yet this optimism is not driven by logic or research, but by your fresh excitement from the novelty of the idea.

Move past your excitement and get to a state where you can evaluate your idea objectively.

Consider two mindsets. The idea phase and the experience phase.

The idea phase mindset lacks objectivity. It's the "this idea can't fail" phase. You don't understand or acknowledge the ways the idea can fail.

Here is something someone in the idea phase may say:

Users will search "Airbnb for turtles" in the App store and will download my app. Word of mouth is how I'll get thousands of users.

The experience phase mindset typically surfaces after you launch your product and have tried to acquire users. It's the "the idea didn't work because of..." phase. You've learned the reasons users didn't adopt your product and they make sense to you because you've gone through the experience of failing.

Here is something someone in the experience phase may say:

My target users don't search "Airbnb for turtles" or "Turtbnb" in the App store. They search and download Airbnb instead.

Why must you launch your app before some of the reasons it failed make sense? Do you need to go through 6 months of development to reach the experience phase? To learn those lessons?

Try to visualize today what you think you will learn six months from now. Where will you succeed? Where will you fail?

How does this visualization reshape your idea?

>>>>>>>

Idea Part 2. (A job to do) top

Your idea should solve a problem. A real problem.

Read this post for additional detail.

The takeaway:

When we buy a product, we essentially “hire” it to help us do a job. If it does the job well, the next time we’re confronted with the same job, we tend to hire that product again. And if it does a crummy job, we “fire” it and look for an alternative.

What job will your app be hired to do?

>>>>>>>

Idea Part 3. (Excel test) top

Does your idea pass the "Excel" test?

Could I use an already existing product to solve the problem your product solves?

Say your idea is a tool that keeps track of my digital subscriptions (HBO NOW, Amazon Prime, etc.) and when they renew.

Am I more likely to A: take time out of my day to Google search for your tool, find it on the first results page, click the link, sign up for an account, and upload my data? B: create a spreadsheet. Or C: do nothing because I get email alerts when my subscriptions renew.

What is my level of motivation and pain to look for and discover your tool versus repurposing a product I already have.

>>>>>>>

Idea Part 4. (Why build it?) top

You should build this product because you need it.

Your idea solves a problem you have.

If a sufficient product already existed, you would use it instead of building your own.

But it does not exist so you'll build it.

You're creating something you will use.

Read Paul Graham's "How to get Startup Ideas" essay for more on this.

>>>>>>>

Mindset Part 1. (Be a minimalist) top

Be a minimalist.

You'll need to make a lot of decisions while building your app. Having a minimalist mindset will keep the process flowing.

You have a product idea but no guarantee that users need it. Worst-case scenario is you invest time and money to build a feature rich product, launch it, and get zero users.

To avoid this pitfall strive to launch your product to real users as quickly as possible.

To launch as quickly as possible, be a minimalist. Determine the absolute minimum you need to create so that you can test your idea with users.

Eric Reis in his book "Lean Startup" popularized the acronym "MVP". Minimum viable product. The MVP of your idea is the simplest iteration of your product that users can use.

For example Product Hunt started as an email newsletter. The founder manually added subscribers to the email list and sent out each newsletter. The email newsletter was the MVP of the idea. It allowed the founder to gather a user base and validate the idea before investing time and money to build the product you see today.

What's the MVP of your idea?

What is the minimum that you need in order to test your idea with users? The first version of your app doesn't need to be perfect. Does the first version even need to be an app?

Strive to build as little as needed. Be a minimalist.

Reid Hoffman founder of LinkedIn offers this MVP advice:

If you are not embarrassed by the first version of your product, you’ve launched too late.

>>>>>>>

Mindset Part 2. (Set your team up for success) top

It's your responsibility to ensure your team succeeds. How?

Set your team up for success.

Visualize yourself in the situation of the person doing a task. For example a developer writing code for a feature in the app.

Do they have all the information they need? Are the requirements clear? What challenges may they face?

By putting yourself in "their shoes" you'll be better equipped to anticipate roadblocks.

Avoid ambiguity. Ambiguity leads to miscommunication, frustration and delays.

To avoid ambiguity be explicit in your communication.

Don't assume your teammate knows what you know. Don't assume the task being worked on will be completed exactly to your expectations. If necessary, put in the extra effort to over-communicate to avoid ambiguity.

When challenges arise, focus on implementing processes to avoid repeating such problems. Focus on the remedy instead of a person to blame.

As an aside, if miscommunication does occur the remedy is two questions:

  1. What was the intended result?
  2. What actually happened?

Do whatever is needed to ensure your team builds the right product.

No task is beneath you. If no one is taking meeting notes, take notes. Follow up on things that need follow ups so that your team can succeed.

Do whatever is needed to ensure your team's success.

You'll know what will be needed. Your actions on those needs will correlate to your team's success.

And embrace that it's always your fault.

If you're part of a team or a process and something went wrong, of course it's also your fault. You could have looked harder. You could have raised your doubts. You could have double checked.

Set your team up for success.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Section B: Practical

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Mockups Part 1. (Introduction) top

Mockups (aka sketches, prototypes, wireframes, storyboards) are pictures of the screens in your app.

Here is a mockup from Bechant:

02-Bechant-Balsamiq

You (as the product lead) should create the initial mockups. Doing so will help you think through the idea and how it will work. It will help answer fundamental questions such as what are the core features? How will users navigate from one screen to another? What will they see when they first log in?

Mockups are the first step to shift your idea to something tangible. They should be created before development begins.

Mockups can be used in various ways. To gather feedback from users so that you can affirm that you're building something they want. To be shared with a designer who'll use them as reference to create professional mockups. Or shared with a developer so that they know what needs to be built.

You don't have to be a designer to create mockups. Visualize yourself using the app and draw out what you see. It's your idea, draw it based on how you want it to function.

Jeff Bezos (Founder/CEO of Amazon) in his letter to shareholders offered this wisdom:

A remarkable customer experience starts with heart, intuition, curiosity, play, guts, taste.

Heart.

Intuition.

Curiosity.

Play.

Guts.

Taste.

Keep these nouns top-of-mind when creating your mockups.

>>>>>>>

Mockups Part 2. (The good enough MVP approach) top

The MVP approach with mockups is to focus on the app's core functionality. What will the login page look like? Where will the user go after they log in? What buttons will they see?

The goal is to create a basic outline of your app. Each image depicts a screen in the app, such as "login screen", "user profile screen", "logout screen", etc.

Focus on critical features that must be in the first version of your app. Don't overthink design nuances. For example think more about the buttons you will need instead of what color they will be.

Take a "good enough" approach and move on.

If a section of your app contains a button, but you don't know what label the button will have, just label it "Button" or "This button goes to user profile".

03-Buttons

If the button is going to be blue, don't lose time determining what shade of blue looks best. Set a generic blue and refine it later.

04-Buttons-Blue

If the mockup conveys the purpose of the screen, it's good enough.

Here is a sketch of the primary page users see after logging in to Bechant:

01-Bechant-HandDrawn

Here is mockup version 2 of this page:

02-Bechant-Balsamiq

And this is the live page on Bechant:

05-Bechant-Live

The live product may not look exactly like your mockups. This is OK.

In the above examples the last image includes the key elements of the previous mockups. Figuring out the key elements is your objective when creating MVP mockups.

>>>>>>>

Mockups Part 3. (How to: drawing approach) top

Here is a step-by-step guide to create your mockups. Adjust to your needs.

Start with a notebook and a pencil.

Draw a rectangle in the shape of an iPhone. It represents a blank mobile screen.

Determine the function of this screen. For example it's the landing screen (the first screen users see when they open your app).

Draw the elements (placeholder text, buttons, input fields) that will appear on this screen. Keep it simple. If an area is going to have a tagline or marketing text, you don't need the exact text at this moment. Draw a box and label it "marketing text".

06-Mockups-HandDrawn

Your goal is to determine the elements each screen needs. Specifics (such as button labels and marketing text) can be determined later.

Draw another rectangle and determine the function of this screen. For example it's the first screen a user will see after they log in. Draw the elements on this screen.

Add additional screens until you have a complete set.

Take a photo of each screen and upload them to Invision. Invision is an app prototyping tool. Use it to "connect" your screens and make your mockups interactive. (Invision calls this adding "hot spots").

Here is an example I created.

Visit Invision's documentation for detailed examples on how to use the tool.

Without writing any code you now have an interactive prototype that you can share with prospective users or your development team.

>>>>>>>

Mockups Part 4. (How to: software approach) top

In this approach use software to create your mockups instead of hand drawing them.

If you're on a PC I recommend Balsamiq.

If you're on a Mac I recommend Sketch or Balsamiq.

As described in part 3, start with an empty rectangle and add elements based on the function of the screen.

Here are examples of screens for Bechant I created using Balsamiq.

02-create-new-account

07-left-hand-nav

09-how-to-guide

I added each image to Invision and created this interactive prototype.

Once you have a prototype you are happy with, you are ready for the development stage.

If you'd like additional detail on creating mockups check out my post on building a prototype.

>>>>>>>

Development Part 1. (Getting started) top

Development is writing the code that will make your application work. It includes "QA" (quality assurance) testing and launching your application to a live (production) environment.

Clear communication and a detailed development plan will save time and ensure the development team builds the product you are envisioning.

If you prefer to learn to code and build the first version on your own, dig into this post for a sense of what that entails.

I recommend exposing yourself to web programming basics so that development isn't a black box. By basics I suggest learning HTML, CSS and JavaScript.

Codecademy courses are excellent for beginners. Start with these two:

If you prefer books start with these:

Having familiarity with web technologies will elevate your confidence and increase your empathy when working with the development team.

>>>>>>>

Development Part 2. (Tech stack 101) top

Your technology ("tech") stack are the components that comprise your app. Like the engine, tires, and body frame components of a car, each serves a specific function.

For a web application start with a domain name and a host.

The domain name is the link to your site. For example Bechant.com or ForwardShapes.com. You will need to find and register a domain using a solution such as Google Domains.

You will also need a host. A host is a server (aka computer) that "hosts" the code for your app. When someone navigates to your domain (such as Bechant.com), the host sends back the app code to your web browser. Your web browser interprets the code and displays the contents of the app.

There are hundreds of companies that provide hosting services. Things to consider when selecting one:

  • Supported technologies
    • For example, if your app is built using Microsoft's .NET technology you need to find a host whose server supports this technology (different hosts support different technologies such .NET, Python, NodeJS, etc.).
  • Reliability
    • Also known as "uptime" - you don't want to be worried about your app being unavailable because the host is having server problems. This wont be an issue if you pick a popular host.
  • Price
    • A reliable host can cost $10-$15 a month.
  • Support
  • Security

Here are some popular and well known hosts: Heroku, Bluehost, Microsoft Azure, Amazon Web Services (AWS).

>>>>>>>

Development Part 3. (Tech stack 201) top

A basic web application has three components: a domain, a host that stores the app code, and a database for storing user data.

Your tech stack will be determined by your budget, time frame and application needs. Furthermore, you must determine what your team will build in-house versus using a 3rd party solution. This decision depends on several factors including time, cost, and how much flexibility/customization the 3rd party solution offers.

Let's go through the tech stack for Bechant.

Domain registrar: Google Domains.

Hosting and Database: Firebase.

Firebase is a mobile and web application development tool. All the code that creates what you see on Bechant is hosted (stored) on Firebase.

Firebase includes our database. This database stores the usernames and passwords of our users. It also stores user uploaded files.

Before beginning development we decided that we would not spend time building our own database solution. Our core product feature is the Kindle highlights email. The database is an accessory that just needs "to work" without much customization. Therefore we decided to use a packaged database solution instead of building our own.

Email Service: Mailgun.

Mailgun is a tool that allows you to send customized emails in bulk. All Bechant emails that contain Kindle Highlights are sent by Mailgun.

Instead of building our own email sending tool from scratch, we were compelled by the reliability, pricing and ease of use of Mailgun. After creating an account and adding a few lines of code, we were able to start sending emails to users.

Additional hosting: Heroku.

Bechant sends users three emails per week with their Kindle highlights.

For this to happen a Node.js script on Heroku is scheduled to run Monday, Wednesday and Friday at 6:30 AM EST. This script communicates with Firebase and retrieves user emails and Kindle Highlights. It then creates an email for each user and sends the data to Mailgun, which then sends one email to each user.

Server logging: Papertrail.

This service provides activity logs of our servers. This is primarily for the development team so that they can troubleshoot any issues (such as users not receiving emails) that may arise.

Web traffic data: Google Analytics.

Used to collect anonymous data regarding how many users are visiting Bechant and the pages they are viewing (including time spent on specific pages).

Visual look of Bechant: Material-UI.

This is a user interface (UI) framework that provides pre-made components for creating user interfaces. For example the buttons you see on Bechant are created by Material-UI. We just customized the color.

Material-UI makes our app "responsive". This means the app will automatically resize depending on the size of the device. For example if you're viewing Bechant on an iPhone or iPad, all visual components will "respond" and shift to accommodate the different screen sizes. This allows us to have one codebase that supports any device and screen size.

>>>>>>>

Development Part 4. (The User Story) top

In a perfect world you send the development team a link to your mockups and they produce a bug free product that works exactly as you envisioned.

Reality is much more complicated.

As a developer writes code they may come across "ambiguous product situations". They are not sure how the product should behave.

For example say your application allows the user to upload a profile picture. What if the user tries to upload an Excel Spreadsheet file? What if the file is 1 kilobyte or 100 megabytes? How should the application behave? Should it display an error message? What does the error message say? What buttons are in the error message? Should you even have buttons? Are we sure we need an error message?

Ambiguous product situations are disruptive. Think of a developer as being on a Maker's Schedule.

There's another way of using time that's common among people who make things, like programmers and writers. They generally prefer to use time in units of half a day at least. You can't write or program well in units of an hour. That's barely enough time to get started.

When you're operating on the maker's schedule, meetings are a disaster. A single meeting can blow a whole afternoon, by breaking it into two pieces each too small to do anything hard in.

Two things disrupt a developer: meetings and ambiguous product situations. Instead of focusing on writing code the developer is thinking about what they should be building.

Strive to optimize a developer's time so that they can focus on building. Minimize ambiguous product situations.

The User Story is a tool to overcome ambiguous product situations.

A User Story defines how a feature works. It explains WHAT should be built so that a developer can focus on the HOW.

The how is referred to as "implementation details". It's specific to the development tasks and code strategy. Exclude implementation details from your User Story.

A User Story should focus on a specific feature. Split a large feature into multiple User Stories. This makes the work manageable for the developer and the QA tester.

Here is a User Story template:

Story Title: My Story

Description: As a user I'd like to be able to do something.

Preconditions

1.

2.

Postconditions

1.

2.

Here is a User Story I wrote for Bechant:

Story Title: Highlights Collection page displays uploaded files

As a user I'd like to see a list of all files I have uploaded.

Preconditions

1. User is logged in and navigates to bechant.com/username

2. User has uploaded at least 1 file

Postconditions

1. User presented with "Highlights Collection" page (see mockup)

2. Table contains rows containing names of uploaded XML file(s)

2a. Exclude .XML extension from file name

2b. If long file name, extend name to second line (do not cut off file name or add ellipsis)

2c. Each row is numbered (first row number = 01)

3. Table should display all files that user has uploaded

The Story Title encapsulates what the story is about.

The Description is a sentence or two that describe the purpose of the story. It can be written from the perspective of the user.

Start a Description with one of the following:

  • As a user I'd like to...
  • The purpose of this story is to...

The Preconditions set the scene for your story.

What situation is the user in? Did they just click a button that brought them to a specific page? Did they upload a non ".JPEG" file that is 100 megabytes for their avatar?

Set the scene.

The Postconditions outline how the feature should behave.

They are bullet points and don't have to be complete sentences.

They are testable. They will be a checklist of everything to test when you are reviewing the feature. Once all Postconditions pass testing the feature is ready for release to production.

They are broad, yet specific. For example this Postcondition gives the developer a specific goal to reach:

Results appear in under 1 second

Postconditions provide clarity on how a feature should work. What is clarity? It's enough detail so that if you were the developer, you would know what needs to be built.

Be explicit in your Postconditions. Eliminate ambiguity. The more thorough your Postconditions, the more likely the feature will be built to your vision. Overly broad Postconditions leave room for interpretation and more points of failure.

If you have over 10 Postconditions (not counting sub-conditions), consider splitting them into multiple User Stories.

Here is another User Story from Bechant:

Story Title: Delete a file

As a user I'd like to be able to delete any file that I have uploaded to Bechant.

Preconditions
1. User opens Highlights Collection
2. User clicks on checkbox next to a file

Postconditions
1. Display action menu at the top of table (use Material-UI `app bar`)
1a. Color of App Bar should be: `rgb(97, 100, 137)`
2. App bar has `X` icon to dismiss the selection (clicking the X closes the app bar and un-selects the checked item in the table) - use Material UI close asset (https://material.io/icons/#ic_close)
3. Add link to `DELETE` (see Design-Inspiration)
4. Tapping on `DELETE` generates Material-UI `Dialog` element
4a. Use `Simple Dialog`
4b. Dialog Header text: `Delete file(s)`
4c. Dialog Body text: `This will permanently delete your file(s).`
4d. Dialog Buttons: [Cancel] & [Delete]
5. If user taps [Delete] permanently delete the files from Google Storage
6. Highlights Collection table should automatically refresh and no longer list the deleted file

Here is this story on our development board:

07-Trello2

If you're new to User Stories start by writing several drafts for one feature.

Share these drafts with your development team. Collect feedback and revise the User Story until it's deemed optimal by the team. Your goal is to find the writing style that results in a clear and useful User Story for your team. This exercise will also help you discover how much detail the team needs in the User Stories.

Remember the reason for the User Story: to avoid ambiguous product situations.

If your User Story satisfies this condition, it's good to go!

>>>>>>>

Development Part 5. (Essential features for launch) top

Recall the Reid Hoffman quote mentioned in Mindset Part 1:

If you are not embarrassed by the first version of your product, you’ve launched too late.

Put together a list of "must have" features for launch. This list can include features such as:

  • User login
  • Password reset
  • Share data with Twitter

Your list will be determined by what you deem essential for launching the MVP version of your product. You will likely need less features than you think.

Here is the list of User Stories I deemed essential for the first version of Bechant:

  1. User can create an account
  2. User can log in and log out
  3. User can reset password
  4. User can upload one or more highlight files as XML, CSV, or HTML
  5. Email users 3 digests containing Kindle Highlights per week
  6. Highlights Collection page displays users' uploaded files
  7. Highlights Collection empty state
  8. About, How To Guide, Contact, Privacy Policy, and Terms of Services pages
  9. Bechant.com is responsive and supports mobile devices
  10. Highlights Collection Footers to indicate email status

If I wanted to launch even faster, I could have cut the list to the following:

  1. User can create an account (I would manually create accounts for users and email them their username and password)
  2. User can log in and log out
  3. User can reset password (Users can email me and I will reset their passwords)
  4. User can upload one or more highlight file as a XML, CSV, or HTML
  5. Email users 3 digests containing Kindle Highlights per week
  6. Highlights Collection page displays users' uploaded files
  7. Highlights Collection empty state
  8. About, How To Guide, Contact, Privacy Policy and Terms of Services pages
  9. Bechant.com is responsive and supports mobile devices
  10. Highlights Collection Footers to indicate email status

When considering cutting features, adopt the mindset to "Do Things That Don't Scale".

Do something manually until it reaches a breaking point that a programmatic solution could fix.

For example manually resetting user passwords does not scale. I couldn't do it manually if Bechant had thousands of users. However I currently don't have the "problem" of having thousands of users that need to reset their passwords. So why build a feature that solves a problem that I currently don't have?

Solve the problem when it actually is a problem. Often the future problem you're concerned about solving now so "you're ready for it" won't manifest.

Throughout the development process continue to re-evaluate essential versus non-essential product features.

Re-evaluate your Postconditions and cut them as well.

This will simplify your product and allow you to launch quicker.

>>>>>>>

Development Part 6. (Project management) top

At this stage you should have a complete set of essential User Stories and mockups. After development completes these Use Stories, your product will be ready for launch.

There is a system for tracking and managing the development process. It provides full transparency to the team as to what work is pending, in progress, and complete.

The system is a development board like this:

09-Trello3

This development board is created on Trello.

Each card is a User Story. Each card has a:

  • Title (Story Title)
  • Description (Story description, preconditions, postconditions)
  • Attachments (Mockups)
  • Comments (For discussions and updates around this User Story)

10-Trello4

The "status" of each card is based on the list (column) it's in. Your development board should have these five lists:

  1. For Launch
  2. In Development
  3. Development Complete
  4. Closed
  5. Backlog

For Launch is the "to do" list. On day one of development this list will contain all cards that need to be completed so that the product can be launched. It's the "must have" User Stories list.

Once a developer begins working on a card, they should move it to the In Development list. If a developer is writing any code for a card, that card should be in the In Development list.

Once a developer finishes writing code for a card, they move the card to the Development Complete list. This means the card is ready for testing.

After testing there are one of two outcomes. If the card does not pass testing, changes to the code need to be made. Thus the card should be moved back to the In Development list.

If the card passes testing, it is ready to be released to production. This means development work on this card is complete and it can be moved to the Closed list.

During the development process new feature ideas will surface. This can include development optimizations to your Closed User Stories, or new ideas for features to add. These ideas should be added to the Backlog list.

The Backlog list is a collection of all future "to dos". Development does not begin work on any card in the Backlog until it's moved to the For Launch list. Cards in the Backlog do not need to be fully written User Stories with pre and postconditions and mockups. They can be placeholders containing ideas or tasks to be done in the future.

You should have a compelling reason for moving a card from the Backlog to the For Launch list.

For example during the development process of Bechant we were going to support only XML Kindle Highlight files. But new information surfaced during the development process. We realized we should also support HTML and CSV files. Thus support for these file types became a card (User Story) that was moved from the Backlog to the For Launch list.

Be disciplined about which cards you move from the Backlog to For Launch. Your goal is to launch as quickly as possible. Thus consider the risk of delaying launch versus the added value this additional feature will bring.

If the value outweighs the risk, move the card to the For Launch list.

>>>>>>>

Development Part 7. (Testing aka QA aka UAT) top

When a User Story reaches the Development Complete stage, it's ready for testing. This is referred to as Quality Assurance (QA) or User Acceptance Testing (UAT).

It's essentially testing the User Story and how it performs with the application. Once the story passes testing, it can be released to production (to real users).

There isn't a "right way" to perform testing. Here is one approach.

Say we are testing the story:

As a user I'd like to be able to delete any file that I have uploaded to Bechant.

Start by performing the Preconditions. Set the stage.

1. User opens Highlights Collection
2. User clicks on checkbox next to a file

Now test each Postcondition:

1. Display action menu at the top of table (use Material-UI `app bar`)
1a. Color of App Bar should be: `rgb(97, 100, 137)`
2. App bar has `X` icon to dismiss the selection (clicking the X closes the app bar and un-selects the checked item in the table) - use Material UI close asset (https://material.io/icons/#ic_close)
3. Add link to `DELETE` (see Design-Inspiration)
4. Tapping on `DELETE` generates Material-UI `Dialog` element
4a. Use `Simple Dialog`
4b. Dialog Header text: `Delete file(s)`
4c. Dialog Body text: `This will permanently delete your file(s).`
4d. Dialog Buttons: [Cancel] & [Delete]
5. If user taps [Delete] permanently delete the files from Google Storage
6. Highlights Collection table should automatically refresh and no longer list the deleted file

Each Postcondition should either Pass or Fail.

If a Postcondition fails, decide if it's a "showstopper" failure or if it's a "fix later" failure.

For example say Postcondition #6 failed. After deleting a file the user has to manually refresh the browser in order for the file to disappear from the page. You must decide if this failure warrants sending the story back to In Development or if it can be Backlogged and fixed at a later date.

You should do some exploratory testing.

Try to "break" the application with edge cases. For example what if I refresh my web browser the moment after clicking the Delete button? Am I able to simultaneously click both the Cancel and Delete buttons?

See what happens when you perform actions that don't align with how this feature should be used. There is a difference between how you expect a user to use a feature versus how they actually use it. These are "edge cases". Try to recreate certain edge cases and see how your application performs.

>>>>>>>

Development Part 8. (Release to production) top

Once you complete testing of a User Story and have deemed it a Pass, the card can be moved to the Closed list.

The User Story is ready to be released to production. This involves sending a copy of the code from the "development branch" to the "production branch".

The development branch is the sandbox/staging environment where new code is written for your application. It's only accessible to the internal team. Real users cannot access it.

Once a User Story passes testing, it's ready to be sent to the "production branch". This is the branch that has code that runs when real users access your application.

After a User Story is released to production, you should perform some light "sanity" testing in order to confirm that the feature is behaving as expected on the live app.

If all works as expected remember to congratulate your team on another successful release!

>>>>>>>

Launch top

Congratulations - you are among the few that not only had an idea, but built it.

You wanted this product to exist in the world and now it does.

For your first set of users I recommend friends and family. They will be much more forgiving to the unforeseen glitches that come with a first version. Plus their feedback may lead to valuable enhancements that will improve the experience for future users.

So how do you get users?

If only I or someone had the "right" answer...

It's a combination of timing, luck, market-product fit, and more luck.

You built a product for a certain type of person. A certain profile. Where do people that meet this profile hang out? What do they read? What are their habits? Your challenge is to figure all of that out and to place your product there.

Jason Calacanis summed it up in two words:

Be everywhere.

There is no right way to do it. There is just your way. This post is part of my marketing strategy for Bechant. My strategy is to have you discover Bechant through a post that may provide you with more value than the product I'm promoting.

As a favor please share this post or Bechant with someone who may dig it.

Remember you're building a product because you believe in it's value. You believe that it's needed.

Share it with the world.

Good luck!

>>>>>>>

Contact Me top

A big thank you for reading this post. I sincerely hope it was helpful!

Did reading this post help you build your product? Tell me about it!

Did I miss something that you wished was covered?

General feedback?

Send me a note at andrei@forwardshapes.com

Contents

  1. Introduction
  2. Discovery & applying
  3. Four years worth of projects
  4. State testing & instructional approaches
  5. It's your decision
  6. Preparation for college
  7. Things HTH does differently
  8. The goal of school
  9. Further reading

1. Introduction (contents)

I recently watched the documentary film "Most Likely to Succeed". It's being hailed as:

The best film ever done on the topic of school - both its past and its future.

I watched with great interest because not only do I work for an education technology company, but I attended and graduated (2001-2005) from High Tech High (HTH), the school featured in the film.

The film starts with an abridged history of grade school in the United States. It then presents a bleak future where machines replace the majority of blue collar jobs, making our current K-12 education model obsolete. The majority of the film focuses on HTH, a charter school that has radically reimagined what a modern high school can be. It values projects over tests, discussions over lectures, and presentations of learning over final exams.

The future of education is a highly debated topic. People of all professions have written books, blog posts, and tweet storms with the intent of getting us to reimagine our education system. Through all that noise we have HTH, a tangible working model of a modern school. With it's doors first opening in the year 2000, it has had 15 years to refine its product: a modern high school.As I watched the film I kept thinking about how each incoming freshmen class benefits from the collective experience of the classes that came before. 15 years of experimenting and soliciting feedback from students has resulted in a fine-tuned model where 98% of the students in the last graduating class were accepted into college.

One of HTH's biggest advantages is it's adaptability. Like a startup, HTH has the ability to experiment, build upon what works, and get rid of what doesn't. For example, during my first two years HTH had a great room. A large open room with computers that anyone could use for school work. Great room time was given during class time to work on projects. It turns out high school kids are pretty bad at managing free time so Great room time, although good in theory, was taken away. It's an example of the feedback loop that exists at HTH. Someone had a "what if we did this" idea, tried it, collected feedback, and made modifications.

Another example is how HTH flipped the order in which science classes are taken. At a typical high school freshmen take Biology, sophomores take Chemistry, and juniors/seniors take Physics. At HTH, freshmen take Physics & Engineering, sophomores take Chemistry, juniors take Biotech, and seniors can take Environmental Science or Advanced Physics. Why the different order? The founders of HTH felt that each subject builds on the next one, and that this order made more sense than the traditional high school order.

Experiment. Collect feedback. Adjust. The school's malleability is one of its biggest advantages. There is no way a traditional high school can experiment with education the way HTH can. If a traditional high school is like the taxi industry, HTH is Uber.

My goal with this post is to share my experience of being part of HTH's third graduating class. How attending HTH impacted my future and what traditional schools can learn from HTH. I'm very happy to have had the opportunity to attend HTH. It helped shape the person I am today and prepared me for success in college and beyond. Hopefully after reading this post you'll understand why.

And finally I really encourage you to watch "Most Likely to Succeed" because it provides a touching depiction of how transformative and forward-thinking a modern high school can be.


2. Discovery & applying (contents)

My dad discovered HTH through a local newspaper article. It was advertised as a different kind of high school with an emphasis on project based learning. With funding from the Jacobs family (founders of Qualcomm) and the Bill and Melinda Gates foundation, my dad was intrigued.

He asked if I'd be interested in applying and I said yes. Part of the reason was the school's emphasis on technology (I was a tech nerd already so this had great appeal), and I did not want to go to my local high school. It was overcrowded and other issues that created a school environment I did not want to be part of.

The application process was straightforward. Phase 1 was a paper application that included short essay questions like why I wanted to go to HTH and describe a project I was proud of. Phase 2 was an interview that took place on campus over the summer. It was a great opportunity to visit and get a feel for the school. HTH looks like a modern tech company office instead of a high school. It has a lot of open space and the classrooms are modern and inviting.

I was interviewed by a 9th grade math teacher. We covered all the standard interview questions. I told him about myself, my strengths, weaknesses, and why HTH should accept me. This was my first "real-world" interview. HTH was already giving me practical experience and I hadn't been accepted yet. We also talked about my comfort level of going to a school that lacked traditional high school components such as sports teams and AP classes (we didn't have PE my freshmen year because we didn't have the facilities for it).

Today HTH no longer conducts interviews as part of the application process. I cannot recall if my interview was required or optional, but it was very informal. It gave me a chance to ask questions about HTH, visit the school, and for the teacher to meet the student behind the application. It's not much different from a college application process (for example some universities offer an optional interview with an admissions counselor). Overall I felt good after my interview, and the experience solidified my desire to attend the school.

Phase 3 was the lottery. A randomized process that selected a group of about 100 students that became the class of 2005. I remember the day I received my acceptance letter in the mail. Just like a college acceptance letter I had no idea if I would or would not get in. I tore apart the letter and remember feeling tremendous joy and excitement for having been accepted.

That acceptance letter veered my life into a new direction.


3. Four years worth of projects (contents)

When I started at HTH I anticipated spending a lot of time working on projects. What I did not expect was the variety of projects I'd work on. Here are some that stood out:

Freshmen year

Sophomore year

  • Entered the San Diego Science Fair with the Eucalyptus tree project I did through my Biotechnology class.
  • Came up with a business plan and marketing material for a non-profit organization to stand up against gangs.
  • Wrote a mini-novel.
  • Wrote my first resume.

Junior year

  • Marketing internship at Randall Lamb, a mechanical engineering firm.
  • Wrote, directed, and performed in an original play.
  • Created a San Diego public park brochure. Visited the park with my class and my group served as park guides.

Senior year

Throughout my four years I worked on group projects. Individual projects. Artistic/creative projects. And technical projects. Each one had challenges, ups and downs, and valuable takeaways. Each project helped me develop important intangible skills that I wouldn't have developed just reading a textbook.

For example The Ancient Olympics film helped foster my leadership skills. As the leader of my team it was my duty to ensure we released a good product on time. Giving 4 freshmen a camera and multiple class periods to work on a project can have mixed results. I was able to bring our team together and we produced a very entertaining film.

My entrance to the San Diego Science Fair gave me the opportunity to present to the scientific community in a tradeshow like setting. It also exposed me to the world of scientific research and biotechnology. And even though I did not develop a passion for these fields, I gained valuable experience and had fun competing in the Science Fair.

My junior year internship at Randall Lamb gave me first-hand experience on working in the "real-world". It increased my confidence and I got a chance to network with working professionals. My senior year I got to teach a music theory class. I had multiple responsibilities including marketing my course to get students to enroll. Coming up with lessons, homework assignments, projects, and exams.

For my English class I worked on a group project where we conducted a large study on the perception of AP versus standard high school classes. My group came up with the study, survey questions, and organized school visits where we observed and surveyed students in Math and English classes across 5 different schools in San Diego. To say this was a large scale project would be an understatement. It required creativity, accountability (we were four high school seniors that would leave campus un-chaperoned), patience (we were four type A personalities), and resilience.

"Most Likely to Succeed" has a great quote by Larry Rosenstock (HTH CEO) on the feeling students have regarding the family night showcase (an evening where students present their best projects):

I made this and everyone is coming to look at it.

When I worked hard on a project, I was excited to show it. To talk about what I made and what I learned. It's like Seth Godin likes to say, here, I made this. I didn't just learn a fact for a test. I made something that did not exist in the world.

By focusing on projects HTH is creating a culture of makers. Students who get excited about building stuff and are comfortable with failure. Not all projects are homeruns. Some don't come together at the right moment. But HTH's culture is built around trying, embracing (not fearing) failure, and trying again. HTH students are encouraged to be ambitious. To question the status-quo. Sound familiar? Through project-based learning HTH is fostering the same creative culture that is seen in many top Silicon Valley startups.


4. State testing & instructional approaches (contents)

A common criticism against HTH's project-based learning model is that students will not do well on standardized tests. This includes end of the year state tests and college entrance exams (SAT, ACT). I strongly disagree with this criticism. I consider myself an average standardized test taker. I don't struggle, but also don't breeze through them. And yet as my results show HTH equipped me with the knowledge to perform well on these tests:

Freshmen year (Spring 2002)

image_thumb15

Sophomore year (Spring 2003)

image_thumb16

Junior year (Spring 2004)

image_thumb17

Side note: I was curious on the drop in Math during my junior year. I'll blame part of it on a bad testing day, the other was my weakness in Geometry and Stats, which made up 50% of the test:

image_thumb19

Here is a cumulative chart:

image_thumb24

This chart uses "percentile ranks". It shows how I performed compared to a sample of students tested throughout the US. For example, a percentile rank of 50% in reading means I scored as well or better than 50% of students tested in the sample. The CA Reading List number indicates my reading level on a scale of 1-13.

Given HTH's focus on project-based learning, I still retained enough knowledge to be in the top 50% in every subject each year. 58% of the time I was in the top 20%. Could I have done this well or even better had I gone to a traditional high school? I certainly could have. But it would have been at the expense of all the practical, real-world skills I developed at HTH.

How is HTH able to deviate from a traditional textbook based curriculum and still have students score in the top 50%?

I recently read "Readicide: How Schools Are Killing Reading and What You Can Do About It" by Kelly Gallagher. Gallagher argues that schools do not need to teach "to the test" in order for students to do well on standardized tests. He references a study by Judith A. Langer (author, professor, and literacy researcher):

Langer found that schools exhibit three distinct instructional approaches, patterns she has named (1) separated, (2) simulated, and (3) integrated. Separated instruction is the direct instruction of isolated skills, often used to “cover” curriculum. Simulated instruction “involves the application of these concepts and rules within a targeted unit of reading, writing, or oral language” (Langer 2002, 13). This might include, for example, exercises that are often found in packaged teaching materials. Integrated instruction “takes place when students are expected to use their skills and knowledge within the embedded context of a large and purposeful activity,” such as writing a research paper or editing the school newspaper (Langer 2002, 14)

In short, effective schools did not rely heavily on any given approach, often blending all three types of instruction.

Langer’s study, and the many others cited in this chapter, leads to an inescapable conclusion: if students are taught to read and write well, they will do fine on mandated reading tests. But if they are only taught to be test-takers, they will never learn to read and write well. A terrible price is paid when schools value the development of test-takers more than they value the development of readers.

I have two takeaways from this. First is the value of blending three types of instructional approaches. Second is if students have a solid foundation, they will do fine on standardized tests.

HTH is a blended instructional environment. Most of my classes had a daily lecture that covered a specific curriculum topic. People unfamiliar with the school imagine a textbook free environment where students are working on projects and then reflecting on how they feel about them. The latter certainly happens, but it's not what HTH is solely about. It doesn't happen at the expense of learning. Like a traditional school HTH has tests, mid-terms, final exams, and grades. Some classes (like Math) used textbooks to supplement learning. I had a GPA at the end of every semester.

If you were to walk into a HTH lecture (not knowing anything about the school), you'd think you were in a normal high school (well maybe not quite normal, but kind of). You'd see a teacher lecturing, a white board, and students taking notes. The separated instructional approach Langer described is utilized at HTH. This approach ensured that I gained foundational knowledge (algebra, world war 2, cells, etc.) high school is meant to deliver. It was the reason for my success on the standardized tests I shared above.

Instruction also included a simulated approach. In a Math or Science class this meant doing exercises from textbooks (gasp, textbooks?! Yes, it did make sense to practice with exercises from a textbook in Math class, so we used them). We also had mini-projects on specific curriculum topics, such as writing a one page reflection on a current event topic for Humanities, or investigating a Biotechnology topic through a small team activity. Again this is not far off from what you would see at a traditional high school.

And HTH certainly utilizes an integrated instructional approach. The output of this approach are the projects I highlighted in the previous section of this post. This is the approach that makes HTH standout from other schools. It empowers students to be bold, curious, and to dream big. It creates an environment where it is OK to fail as long as you learned something.

A question often posed to a startup company is what are they best in the world at? The integrated instructional approach is what HTH is best in the world at. I touched on this earlier, but as of 2015 HTH has had 15 years of practice. 15 years of iterating and refining the model to stay current and effective. To experiment and do more of the things that work and less of those that don't.

You may be curious of the percentage breakdown of the three instructional approaches at HTH. My experience was that it changed every week. Some weeks the split was even, 1/3 separated, 1/3 simulated, and 1/3 integrated. Other weeks could be 50% integrated and 50% separated. We weren't restricted to a fixed distribution of approaches. This kept things interesting because each week brought a new learning experience. I couldn't fall into a rhythm that would allow me to mindlessly flow through school, because the instructional approach could drastically change from one week to the next.


5. It's your decision (contents)

During the film viewers are taken inside Marc Aguirre's 9th grade humanities class. It's the first day of school and Marc assigns students a basic task: arrange the tables and chairs based on the drawing on the board. He leaves the room. The following scene is a classroom of kids looking around in bewilderment. You can see them thinking, did he really just leave? Should I speak up? I can't believe he didn't give us step-by-step instructions. What do I do?!

Marc sees the students struggling and steps in. They ask what they should do. You can't blame them, their entire school career has been built on the idea that teachers are gatekeepers. Teachers tell you what to do. They show you the door, open it, hold your hand, and walk you through it. HTH is different. Teachers show you the door, but it's up to the student to open and walk through it. Marc provides some guidance, but ends with three life-changing words:

It's your decision.

These three words encompass what HTH is about. Empowerment. Accountability. Taking risks and being comfortable with the outcome. Transforming students into independent thinkers.

With this exercise and those three words Marc created a "real-world" learning moment. A moment where students practice and learn skills that don't come from a textbook. Skills like creativity, independent thinking, collaboration, and presentation skills. These moments also help develop "intangibles" like confidence, comfort with uncertainty, openness to other perspectives, and leadership.

Although arranging classroom furniture may seem like a trivial task, for those freshmen the exercise began their transformation into independent, confident, and creative students. Remember that most students are coming from traditional school environments. Environments where teachers provide step-by-step directions and don't leave the classroom. Environments where passing the test is of highest importance.

A student will participate in many "real-world" learning moments throughout their four years at HTH. These moments make HTH special. My list of moments included being a leader in countless group projects. Presenting projects in front of my class (or even the school in a few cases). Debating for and against creationism vs. evolution with my classmates. Even small things like setting up our desks to be facing each other, and discussing current events or an article we all read. These moments got me comfortable with listening and interacting with my classmates. To hear and appreciate opposing views. To practice communicating ideas. To build my confidence as a leader.

It's been widely accepted that the jobs of tomorrow will require a different set of skills than those taught at a traditional school. This point was emphasized at the start of the documentary. Anything that can be automated or outsourced to a machine, will be. This leaves a job market where those who are comfortable with uncertainty, with failure, have a willingness to experiment and take risks, will succeed. Those who get really good at taking tests and are dependent on step-by-step instructions from teachers will struggle.

HTH is built on the vision of project-based learning. A vision of producing independent thinkers and global citizens. It achieves this by giving students four years worth of real-world learning moments. And it all starts with three words: it's your decision.


6. Preparation for college (contents)

HTH has impressive statistics when it comes to student college acceptance. Over 90% of my graduating class were accepted to a university. Our acceptance list included top schools like: Stanford, UCLA, UC Berkeley, UCSD, and USC.

I attended and graduated from Chapman University, a mid-sized private liberal arts school in Orange County California. I selected the school for two primary reasons: their business program and an academic scholarship I received. For me the transition from HTH to Chapman was seamless. The increased college workload was uncomfortable at first, but it wasn't overwhelming. I adapted and was even able to successfully complete 19 units my second semester of freshmen year.

The skills I picked up at HTH fit nicely into a college classroom. For example at HTH I developed a comfort with speaking up, and I carried this over to Chapman. Whether it's a question or a differing perspective from what the instructor is presenting, I had no reservation to speak my mind. I would also be a frequent attendee of professor's office hours. Having grown accustomed to constant interaction with my teachers at HTH, I sought the same at Chapman. Getting to know my professors served me well throughout college. I not only built strong professional relationships (for things like mentorship and job recommendations) but it also made for a rewarding classroom experience. Professors knew me on a first-name basis and had a vested interest in my success in their class.

If you were to walk into a college freshmen class I believe you'd see a clear difference between a HTH and traditional high-school student. The reason being a difference in educational models. A traditional high-school tends to have a "one-way" communication model. This is especially true in some AP classes. There is so much content to cover in a short amount of time, that the teacher has no time to waste. The goal is to push as much content to students as possible, so they can score high on the AP exam. The idea being that this "trains" students for college workloads, because they will need to process even more content in a shorter amount of time.

HTH has a more fluid and organic model. Communication is "two-way", where it's often back and fourth between instructor and students. It's natural and it flows. It keeps students engaged and an expectation of this is how education should be develops. It's difficult to go back to the one-way model once you've been exposed to the two-way model. The classes I most enjoyed at Chapman were based on the two-way model (and naturally the one-way model classes were my least favorite). I felt as though I had a bit of an advantage in these classes because they were so prominent at HTH. They were an extension of the teaching model I had gotten used to.

Not all members of my graduating class had such a seamless transition to college. Two of my friends attended UC Berkeley and pursued science degrees. At first they were overwhelmed and felt underprepared. While I was in a business classroom of 30-40 students, they were in a 500+ student auditorium listening to a one-way Organic Chemistry lecture. It was like an AP class on steroids. Having not been trained to manage the onslaught of content their grades suffered that first year. But things got better. They adapted to the course load and their grades improved.

They told me that HTH did not prepare them for the first two years of a Science undergraduate degree program. However they did feel HTH gave them an advantage in the latter two years of the program, because the coursework became more practical (e.g. lab work) and less textbook memorization. HTH students enter college with legitimate lab experience (thanks to the Biotechnology lab on campus), and some gained additional experience through their internship. Even though my two friends did not have the same book smarts compared to AP students, they had tangible lab experience that many of their peers did not have.

So did HTH prepare me for college? It did. Do I feel I missed out not having AP classes? I do not. Is this perspective shared by all HTH graduates? It's not. But I believe that attending HTH will not put you at a disadvantage when compared to a traditional high school student. I believe you are at an advantage. The increased workload, one-way lectures, exams, you'll be able to figure those out. It's the intangible skills you'll develop at HTH that will give you an advantage over your peers and make the overall college experience much richer.


7. Things HTH does differently (contents)

In Southern California schools are zoned. This means every zip code has a public high school that serves students living there. If you are unhappy with your designated high school, your only option is to move to a zip code that is covered by the high school you'd like to attend. HTH is a charter school. This means HTH is both state and privately funded. It also means a student can live in any zip code in San Diego and still attend the school. I knew some students who had over hour long commutes (one-way) to get to school. Accepting students from all across San Diego created a diverse (demographically and socioeconomically) student body. It gave me the opportunity to meet and friend people I would have not met otherwise.

When you walk into HTH you don't feel that you've entered a high school. The school is devoid of lockers, bungalows, or other things found in many Southern California schools. The school is one building and feels as though you've evented the office of a top silicon valley startup (a la Facebook). Student projects and artwork are proudly displayed throughout the entire school. Some classes are open fishbowls, while others are more traditional. Every classroom has at least one window (some windows may only face the inner hallways, but the majority have an outside facing window). This may seem like a minor detail, but compared to other schools that have depressing windowless classrooms, HTH creates a comfortable and inspiring learning environment for students.

HTH students give a lot of presentations. I remember in 8th grade I had to give a presentation about my family for Spanish class. It lasted several minutes and I was terrified. At the end of the presentation my friend told me that my hands shook the entire time. It wasn't because I had to give a presentation in Spanish, it was because I had to give a presentation in front of people. By the end of my freshmen year at HTH my hands no longer shook when I gave presentations. I had done so many of them that I started getting used to them. I'd still get nervous, but I had so much practice that my confidence increased after each one.

The student to teacher dynamic is noticeably different from a traditional high school. I recall only a few cases where I had a typical teacher to student relationship. In most cases I was on a first-name basis with my teachers and administrators. I felt that they had a genuine interest in my success as a student. They viewed us as being on a journey together. It wasn't like a conveyer belt model where a teacher gets a group of students, feeds them a bunch of information, sends them to the next grade, gets a new group, and does it all over again. It was about back-and-fourth conversation. About challenging us to not only master the material, but to work on projects so that we grow as students and individuals.

At the end of every trimester/semester we received report cards with our grades. Each teacher would write what we covered in class and a personalized message with things the student did well and areas for improvement. Here is an example from my freshmen year:

image_thumb28

With such transparency I looked at my teachers as mentors. I felt comfortable approaching them if I was struggling with something in class. I felt comfortable challenging them if I had a differing perspective (I got more comfortable speaking up my junior and senior years). HTH teachers made me feel comfortable with the person I was, and challenged me to constantly improve as a student.

HTH does not segment students across classes. There are no honors or AP classes. Everyone takes the same class. Teachers have the flexibility to segment the class as they see fit. For example in my senior year math class, our teacher gave us the option to either take Finance or Calculus. She divided the class in a non-disruptive way. While one group was getting a lecture, the other group worked on exercises or projects.

I was warned before I enrolled at HTH that if high school sports were important to me, HTH would not be a good fit. I was active outside of school so this was not a big deal for me. And I know today things are different (I recently received an invite to attend the HTH's women's volleyball game). But sports were not a priority at HTH when I was a student there.

All students are required to do an internship their junior year. This is huge. Some college graduates don't even have internship experience. And there I was, a junior in high school getting legitimate work experience. My internship at Randall Lamb took place twice a week (half-days), and lasted a semester. That's quite a bit of foregone instructional time, but as my state testing scores indicate it had no adverse impact on my education.

My internship, like all at HTH was randomly assigned. But I got to pick the department for my internship (I chose Marketing). I was paired with a mentor and she assigned various projects for me to work on. At the end of the internship we had a "demo evening" at school. All interns setup a booth (think trade show) and shared what they worked on at their internship. This is an open to the public event so our audience included parents, classmates, friends, and business professionals from the community.

A group of interns were selected to share a story from their internship with all attendees. After opening remarks from Gary Jacobs (the schools co-founder) I got to share my story with the community. Here is the video of my booth and presentation. As I watch the video I'm reminded how much I transformed as a speaker and presenter at HTH. Earlier I talked about my hand shaking experience as an 8th grader presenting in front of my Spanish class. Thanks to experiences like this one, HTH helped me replace those nerves with confidence.


8. The goal of school (contents)

During my freshmen year I had a classmate (I'll call him Joe) in my physics class. Joe fit the stereotype of skater/punk dude who wasn't excited about school. He would turn in his homework late (or just not do it), wouldn't answer questions when called upon, and was most likely to be called out by the teacher for talking during a lecture. I'm sure most of us remember a student like Joe from high school.

An interesting thing happened in that physics class. Our teacher introduced us to programming in Flash . Our project was to take the principals we were learning in class, and create a fully functioning video game using Flash. Our only constraint was we had to apply physics concepts we were learning into the game. The project was open ended and the game could be as elaborate as we wanted.

Guess who produced the most elaborate and epic game in the class? Joe.

The lectures, homework, exams, these things didn't inspire Joe. I shared other classes with him (Math, English, Humanities) and the same attitude carried across them. But something about building this game struck a nerve and inspired him. He could use his innate creativity, and apply his technical prowess (turns out he was learning the physics concepts) to make something he dreamed up.

Not only was he building something tangible (instead of doing throwaway worksheet homework exercises), he was building something he wanted to exist. While most of us worked in pairs, Joe worked solo. While most of us were at lunch, Joe was working on his game. Before class, after class, Joe was building. He was making the game more elaborate with more levels and better graphics. My partner and I were good students. We did well on exams and turned in our homework on time. Our game at most reached 20% of the "impressiveness" that Joe's game reached. Before the game I'd describe Joe as lazy, disruptive, and not a good student. After the game I changed my adjectives to hard-working, talented, and inspiring,

I share this story because I believe it's a perfect example that supports my theory on the goal of school: to expose kids to as many subjects/topics/concepts as possible and give them an opportunity to apply them. The aphorism "you don't know what you don't know" sums up the problem schools can solve. By exposing kids to a wide variety of subjects and content, we not only develop well-rounded students, but we give them a chance to discover passions they may not have known they had.

Tim Ferriss, a world-famous author and startup investor has an excellent podcast where he interviews top-performers in their respective fields. One of the questions he asks most guests is: when you hear the word successful, who is the first person that comes to mind? For me, it's anyone who has discovered their passion. A person who has found that one thing they must get better at (sport, instrument, dance, etc.) or create (book, song, company, etc.). And when they are working on it, nothing else matters. It's like finding the book you can't put down. You can't wait to get to the next page. Money and success becomes a byproduct. Even if you get neither, you are still satisfied with what it is you are working on, because it's your passion.

In order for kids to discover their passions, they need to be exposed to a wide-range of topics, and given the opportunity to apply them. Just like Joe's discovery of building games in Flash in 9th grade physics. If not during school, when will kids have such an opportunity? School is a low-stakes environment. It's an ideal place to experiment. What's the worst that can happen? Your project didn't work but you learned a ton. You don't have a mortgage or a family to support. All you have is a limited amount of time to just try stuff. HTH fosters such an environment so students can build games. Write and act in a play. Be part of teams. Film movies. Do internships. Work with circuits. Work with plants. Find their passions.

So should all high schools get rid of textbooks, school bells, and model themselves after HTH? I'm a realist and I know this can't happen. But I believe all schools in the US can learn and apply some of the principals that make HTH a great school. For example putting a greater emphasis on student projects over test scores is a great first step. Empowering students to drive classroom discussions and giving them more opportunities to practice being leaders and independent thinkers. Giving kids more opportunities to apply the things they are learning in creative ways. Remember the three words: it's your decision. It starts with teachers empowering their students, and getting their administrators to welcome such approaches to education.

Today our education system is based on an assembly line formula. It definitely scaled, and worked for a certain period. And yet so many teachers strive to go beyond the assembly line formula. They do things in their classrooms that do not scale. They go above and beyond what their job descriptions entail so their students can succeed. They motivate and inspire students, push them to look beyond a test score. HTH is a school filled with such teachers. It's about doing things that are difficult to standardize and scale. The focus is on students and what they learn from the projects they work on, not their test scores. To borrow from the documentary, education is about people, it should be organic, not robotic. Students are not machines, and the assembly line formula is no longer viable in the 21st century. Students need to be inspired, challenged, and driven in ways beyond a GPA or a score on a test.

Many have debated and fantasized about what a school of the future could be like. Gone would be the assembly line formula. It would be replaced by projects, independent thinking, and development of skills for jobs in the 21st century. This is what the future may hold if we rethought and redid our educational system. And yet 15 years ago a charter school opened it's doors in San Diego California. With a bold vision it deviated from the standard public education model. And with every graduating class it adds validation that their model is working. As a proud graduate I can tell you that the future of school is already here, it's called High Tech High.


9. Further reading (contents)

Seth Godin (author, entrepreneur, marketer, thought-leader) wrote a manifesto "Stop Stealing Dreams" in 2012. His intent was to answer one question: what is school for? It's inspiring and a great read. I encourage you to check it out! I found many of my experiences at HTH fell in line with Seth's ideas and vision for the future of education.

Kobe is selfish. Kobe took too much money. Kobe isn't a leader. Superstars don't want to come to LA because they don't want to play with Kobe. These are the never-ending criticisms in the NBA world against Kobe Bryant.

Many of these criticisms resurfaced in Baxter Holmes's recent article on ESPN: Lakers From The Outside: The Kobe issue. I've been hearing and reading these Kobe criticisms since the Lakers resigned him for two-years and I've had enough.

I'd like to present an alternative (albeit biased) perspective with the goal of debunking the various criticisms surrounding Kobe, his leadership style, and his impact on the future of the franchise.

Disclaimer 1: This isn't an attack on Baxter. He's a great follow on Twitter and I really enjoyed his appearance on the Lowe Post. My problem was with the criticisms raised by the 24 anonymous league insiders that were interviewed for Baxter's article.

Disclaimer 2: I'm an NBA enthusiast. If I see a tweet that reads "Curry heat check", I drop everything I'm doing and turn on the TV. I get excited when the Wizards play the Suns because of Bledsoe vs Wall. Some of my favorite players include Paul Millsap, Kawhi Leonard, Al Jefferson, Kyle Korver, and Russell Westbrook. But at the top of the list is Kobe Bryant. And because I'm from LA, the Lakers are my favorite team. So tweets like this from infamous "Laker Hater" Arash Markazi really annoy me. [1] You may not like Kobe, but you cannot deny his greatness. He has reached the pinnacle of his trade. How many of us can say the same in our respective fields? It's much easier to criticize, but I urge you to take a step back and see what you can learn.

Disclaimer 3: I spoke to zero NBA insiders about this topic. This is just my analysis and opinion based on a slew of content I've consumed on Kobe, the Lakers, and the NBA.


Criticism 1: Kobe wont accept a backseat to anyone, AKA Lakers can't get a marquee free agent, AKA superstars don't want to play with Kobe.

From Baxter's post:

Many insiders doubt Bryant will take a backseat to anyone, let alone young players. "That's why I wouldn't want him on the team," one executive said, "because I don't think he'd accept that role."

And let me throw in the now famous Nelly First Take debate:

Some people argue him as the top 3 player of all time, how do you not want to play with a top 3 player of all time?

OK, let's take a look at the last two years and see who would have had a chance to play with Kobe, but decided not to.

Big free agents 2015:

  1. LaMarcus Aldridge
  2. DeAndre Jordan
  3. Kevin Love
  4. Marc Gasol
  5. Jimmy Butler

2014:

  1. LeBron James
  2. Carmelo Anthony
  3. Chris Bosh
  4. Eric Bledsoe
  5. Dwayne Wade
  6. Dirk Nowitzki
  7. Tim Duncan

Looking at both lists, I'd argue the Lakers had a legitimate shot at signing Aldridge, Anthony, or Bosh (if you think the Lakers had a legitimate chance to sign Tim Duncan or LeBron James, stop reading). [2]

With Aldridge they botched up the first meeting but were given a second chance. The fact that the Lakers had just come off the worst season in franchise history, Kobe was injured, and LaMarcus still took the second meeting speaks volumes. The problem for Kobe and the Lakers was competing with arguably the best run organization in the NBA: the do-no-wrong San Antonio Spurs. LaMarcus is also from Texas. Did the Lakers really have a chance? If it was LeBron James on the Lakers instead of Kobe, would LaMarcus have signed with the Lakers instead? Debatable. But I'd argue he would have still picked the Spurs.

Carmelo came close. But playing with Kobe Bryant was not the reason he did not choose LA. Same thing with Chris Bosh. Ultimately these players picked opportunities that they felt were better suited for them. I have a hard time believing that their reasoning went something like: well, I could go to LA, but I would have to take a back seat to Kobe, so no, I won't go to LA. Both players ended up staying put. What does that say about the other teams they considered? So maybe Bosh didn't go to the Rockets because he didn't want to take a backseat to James Harden?

Kevin Durant had a famous quote last year on the topic of playing with Kobe:

I want to play with a winner every single night, especially somebody who wants to win that bad, who works that hard, who demands a lot, who raises up your level. I'd want to play with a guy like that every day. (His style) may make people uncomfortable, how he acts and just how he approaches the game, but I love that type of stuff.

Chris Paul was excited to play with Kobe. That was until David Stern nixed the trade. Think of how different the conversation would be about Kobe if Stern didn't give in to Dan Gilbert's travesty letter and did not veto the Chris Paul trade. [3]

-

Let's transition to the US Men's Olympic Basketball. Specifically two teams.

Take a look at the 2004 team. And then the 2008.

One team has Kobe. And that team is wearing gold medals.

Was Kobe the sole reason for the success of the 2008 team? He was not. But he was a damn important piece. I don't know how much I like the US's chances in the greatest Olympic basketball final ever if Kobe wasn't playing.

I think the players on that team would agree. How many players dropped out of the 2008 team when they found out Kobe was on the team? How many were grateful to be playing with him? Even take a "backseat" to him. I'd argue all of them.

I took a look at the average assists per game (2008 Olympics) for some of the players in the photo above:

  1. Chris Paul: 4.1
  2. LeBron James: 3.8
  3. Jason Kidd: 2.0
  4. Dwyane Wade: 1.9
  5. Carmelo Anthony: 0.4
  6. Chris Bosh: 0.3

Where do you think Kobe falls? Based on the criticism you would think he averaged around -0.7 assists.

He had 2.1.

Sure, he isn't the willing passer that LeBron James is. But he certainly isn't in the extreme of not willing to take a backseat to anybody.

To wrap this criticism up I'd like to make the point that Kobe is pragmatic and he is probably smarter than you. He will do what makes sense to win. Sure he has his 24 second moments [4] that sometimes don't end well.

But he also has the ones that do.

And my personal favorite:


Criticism 2: Kobe isn't a leader, mentor, good teammate, an asshole...

I urge you to watch this BET Kobe unplugged interview. If this doesn't change your perspective on Kobe, I don't know what will. [5]

At 18:45 in the video Jemele Hill flat-out asks Kobe if he is an asshole. Kobe responds:

...teammates I've had in the past, all our guys, (Ronnie Turiaf, Shannon Brown, Lamar Odom, Derek Fisher) if you ask them they will say no, he is not an asshole. But to the other guys, who show up to practice an hour later, you know them, they are easily identifiable. Those guys will say yeah, he's an asshole...

You know who else was considered an asshole? Steve Jobs. Bill Gates. Elon Musk. These guys have made people cry. But they have also pushed people to create the best work of their careers and products that have changed the world.

This is a fascinating topic. How hard do you push to retrieve excellence? [6] Steve Jobs had a famous quote about A players wanting to work with other A players. But if an A player is pushing a B, C or D player to care/behave on an A players level, well that B, C, or D player is going to feel the A player is an asshole.

On the topic of mentorship. Consider the last few years. Kobe was a mentor to Wesley Johnson (who he envisioned being the Pippen to his Michael), Jeremy Lin, Darius Morris, Devin Ebanks, Trevor Ariza, Shannon Brown, Sasha Vujacic, and Jordan Farmar. That is just the younger players. It has been well documented how much vets like Derek Fisher, Steve Blake, Lamar Odom, Pau Gasol, and Metta World Peace have picked up from Bryant. Even players from competing teams credit Kobe with being a mentor. Kobe is a student of the game. He feels it is his duty to pass along the knowledge he has acquired to the next generation of players.

-

Check out this example from the documentary "Road to Redemption" about the 2008 Olympic team. Jerry Colangelo, the team's Managing Director recalls a moment from the first practice:

The very first play of the very first scrimmage there is a loose ball and there is Kobe Bryant diving on the floor. That set the tone.

Kobe's style isn't for everybody.

This moment from the first Laker practice scrimmage of the 2015 season sums him up. While Kobe's man brings the ball up the floor, Kobe surveys the scene and yells at Lou Williams:

Press up Lou, get up there Lou!

Think about this for a moment. This. is. a. practice. scrimmage. [7] The ball hasn't even crossed half-court. And Kobe is instructing a 10 year vet, not a rookie, a 10 year vet, to press up. Kobe closes out his man, who then makes a bad pass because he didn't have an escape because Lou Williams pressed up. Like a master chess player Kobe was thinking several moves ahead.

Like Steve Jobs who was famous for demanding perfection for the inside and outside components of Apple products - Kobe has a maniacal drive for excellence. In the book "Steve Jobs" by Walter Isaacson, Steve had this vision for the Macintosh:

I want it to be as beautiful as possible, even if it's inside the box. A great carpenter isn't going to use lousy wood for the back of a cabinet, even though nobody's going to see it.

In terms of an 82 game season that scrimmage is meaningless. Yet Kobe set a tone that on his team, every possession matters, every possession is an opportunity to get better.

At some point each of us needs to decide how hard to push ourselves and others to achieve excellence. Some people may look at that scrimmage moment and think Kobe needs to ease off. It's just one play in practice. Relax. These are the same people that would call Kobe an asshole. Think about Kobe's intentions in that moment. He isn't trying to show up Lou Williams or embarrass him. He is being a leader. He is setting a tone. He is instilling a habit of excellence and kindling a competitive fire.

Kobe will push hard. And you know who he respects? The teammates that push back. I vividly remember a game from last season. Halloween night at Staples Center and the Clippers were in town. Kobe had been mentoring and pushing Jeremy Lin hard up to that point in the season. There was a moment in the first half where Jeremy took the ball across court, and Kobe ran up to him expecting to get the ball. I smiled as I saw Jeremy waive him off. He was stepping up: I got this Kobe, let me set the offense.

Kobe respects confidence. If he knows you are confident, he will trust you. He will get you the ball. But you have to show him. You have to earn it.

In his documentary Muse, Kobe talks about his mentality for the 2009 NBA season after loosing to the Celtics in the 2008 finals:

I overcompensated for how I drove my teammates. I was thinking maybe I was too hard on them, so throughout the course of the year I didn't challenge them enough. It was just not being as gregarious, put my arm around you even when you fuck up, you're doing great, you're doing great. That's just not me. If I'm going to go down, I'm going to go down leading my way. This team is going to have my personality, my grit, my fight, my will, my competitive spirit. So when we step on that basketball court you aren't just facing me, my competitive fire, but you are facing 12 of those.

This is Kobe. This is his way of leading. There is no award for participation in Kobe's world. No award for showing up. At a town hall with Bill Clinton Kobe lamented at the disservice we do to our kids by giving out participation awards. He firmly believes that the spirit of competition is something healthy and fun. And that there will be a winner and a loser.

Kobe has five NBA championships. Are you going to argue that he is not a leader? You do not get to five championships by not being a leader. His style may make you uncomfortable. It may make you resent him. It may even expose you. And if it does, you probably wont last long as his teammate or coach.


Criticism 3: Kobe took too much money which hindered the Lakers from signing a max player.

It seems that the commonly held belief is the contract negotiation between Mitch, Jim, and Kobe went something like this: [8]

Mitch: Mr. Bryant, words cannot express how grateful we are for your...

Jim: Yeah yeah, so here is the deal Kobe. I promised the organization that we will be contending for a championship in the next two years or else I'll step down from my position. I was just kidding when I said it but looks like I'm being held to it by my sister.

Kobe: Mhhm...

Jim: I wont be stepping down.

Kobe: Mhhm...

Mitch: Mr. Bryant, what I think Jim is trying to say is that there comes a time when...

Jim: We need you to take a drastic pay cut. Mitch has a plan.

Kobe: What's the plan?

Mitch: Well, with all due respect, we haven't seen you play since your injury and...

Jim: We need you to take the veterans minimum.

Mitch: This would give us enough room to possibly sign 2 superstars and 2 key role players.

Kobe: No. I won't take less than 2 years, $48.5 million.

Mitch & Jim: :O

Mitch:But, but Mr. Bryant, that won't give us the flexibility to...

Kobe:I don't want to hear it. I want to use up all of our cap space and sabotage any possible chance of us winning a championship because we can't sign any free agents.

-

I don't think the discussion went quite like that.

As mentioned earlier Kobe is very pragmatic. And Mitch has a proven track-record of having a plan A, B, and C. Kobe trusts him. Therefore I think the negotiation went something like this:

Mitch: Kobe, we have a plan.

Jim: We want you to be a Laker for life.

Mitch: We'd like to offer you a 2 year, $48.5 million contract.

Kobe: Are you sure? Won't that hinder us from being able to acquire free agents?

Mitch: We have run the number extensively. Based on the available free agents, and our various calculations, we know that we can offer you this contract and still be able to sign key free agents to support you.

Jim: We stand by this offer. I made a promise that we will be contending for the title in the next few years, and this offer does not hamper that promise.

Kobe: Are you sure? I'll take less if needed.

Jim:It's not necessary. This contract is also a reflection of how grateful the Laker organization is for your past service.

Kobe: Where do I sign? #Laker4Life

Btw lakers have max cap space and then some #mitchissharp #bussfamsharp #lakers

— Kobe Bryant (@kobebryant) November 27, 2013


Criticism 4: Lakers need to get rid of Kobe by whatever means necessary

This is a really brilliant idea (insert face palm).

From Baxter's article:

I can't believe players are saying, 'I can't wait to play with Kobe Bryant,'" one executive said. "They want to play with Anthony Davis, they may want to play with Stephen Curry, they may want to play with Kevin Durant, and maybe LeBron can entice people because he's the best player in the world. But Kobe can't bring anybody there.

Davis, Curry, and Durant are MVP-caliber players in the prime of their careers. [9] But you know who those guys would want to play with? Kobe Bryant.

You know why the Staples Center is sold out when the Lakers are playing?

Kobe Bryant.

You know why the road crowds chant MVP and sell out arenas when the Lakers are in town?

Kobe Bryant.

This guy is one of the most beloved active players in professional sports, and your recommendation is to get rid of him?

He only played 35 games last season, but still had the third best selling jersey during the season.

And we have to put an end to this notion that the Lakers are somehow better off when Kobe isn't playing. The numbers don't support this.

Last season was the worst in franchise history with the team winning 21 games. Kobe played in 35 games over the season. Coming back from traumatic injuries he didn't look 100% in some of those games. And yet out of the 21 games the Lakers won, 10 of those were when Kobe was playing. The numbers don't sway my point in one direction or another, but out of the games the Lakers won last season, 50% were won when Kobe was playing. The "Lakers are better off with Kobe" group drive the point like 80% or more of the games the Lakers win are when Kobe is off the floor.

And from a practical perspective, Kobe is still drawing double teams. If he trusts you he will get you the ball. He draws a lot of attention and this gives the other guys on the floor to knock down shots. [10]

-

This is Kobe's 20th NBA season with the Lakers. The longest any NBA player has been with one team. Add in all the playoff games and you may have two more seasons. Point being is only one other active NBA player has the experience and resume that Kobe has (Tim Duncan).

The Lakers are placing a bet on their young talent. Would you rather the young guns be mentored by vets who haven't reached a conference final, or one of the greatest Lakers of all time?

One thing that gets overlooked is Kobe's focus, confidence, and mental toughness:

The dude doesn't flinch:

Out of all of Kobe's basketball talents: footwork, jump shot, defense, spacing, knowledge of the game, his mental toughness is his greatest asset.

One of my favorite parts of the NBA is watching the playoffs when elite defensive players get in the heads of superstars. Nobody does this better than Tony Allen. Ask Kevin Durant, Steph Curry and Klay Thompson. And yet hear Tony Allen send some very high praise toward Kobe.

Now wouldn't you want the young talent on your team to soak up as much knowledge on mental toughness as they can? Because when it comes to the playoffs, there will always be a Tony Allen who will find a way to get in their heads. And yet if they have the ability to focus, control their emotions, and let the game flow naturally, they may find themselves reaching a peak shared only by NBA champions.

As much as he may be just a regular what you see is what you get guy. [11] When Kobe steps on the basketball court the transformation into the Black Mamba takes place. Say what you like about his mannerisms and personality on the court, but as Kobe eloquently stated:

Friends can come and go, but banners hang forever.

-

Thanks for the inspiration, memories, and teachings Kobe. I can't wait to see what you do this season!


Notes

[1] Arash, I'll work on a 24 seconds of Clippers gif from their 2015 playoff series with the Rockets. (I'm sorry Clipper fans, I was mad that they knocked out the Spurs and then disintegrated in the next round, Magic Johnson's tweet summed it up. But I'll admit, for those 3 games everything went right for Houston, and everything went wrong for the Clippers). (Back)

[2] Kevin Love was a 50/50. I believe he feels he has some unfinished business in Cleveland. Plus, he just got his first taste of the playoffs and why would he want to come to the West when he pretty much has a straight shot to the finals in the East. This wasn't about not wanting to play with Kobe and wanting to play with LeBron instead (the latter relationship has had some well documented turmoil). It was about the place he feels he has the best chance to win now. (Back)

[3] But hey, it's not a travesty that the Cavs get three (not one, not two, three) first overall picks in the last five drafts AND get LeBron to come home. (Yes, I'm very bitter about Gilbert's letter because the Lakers got screwed big time for playing by the rules). (Back)

[4] For the second bucket, how SICK was that no look bounce pass by Nash. Perfectly executed. (Back)

[5] OK, so realistically unless you are a big Kobe fan, you are not going to watch a 45 minute fireside chat with him. But this interview not only shines a light on who Kobe is off the basketball court, but it shows that he is a very introspective and reflective individual. This is one of those interviews that even if you are not a basketball/Laker/Kobe fan, you can still take a lot away from because he shares insights that can be applied to any profession. (Back)

[6] Shouldn't be a surprise that Kobe can relate to J.K. Simmons's character in Whiplash. (Back)

[7] We talkin' about practice. (No NBA related article is complete without this clip). (Back)

[8] More accurately it was probably between some lawyer, Mitch, Jim, and Kobe's agent, but to make this more fun I'm going with Kobe, Mitch, and Jim. (Back)

[9] The scary thing is Anthony Davis hasn't even hit his prime yet. He is just getting started. (Back)

[10] This is why Bryant held Derek Fisher in such high regard. Derek had the uncanny ability to come through with a big shot when needed. (Back)

[11] He described himself this way in the BET interview. (Back)