![Page 2: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/2.jpg)
Who This Presentation is For
• You want to build a startup software company
![Page 3: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/3.jpg)
Who This Presentation is For
• You want to build a startup software company
• You’re not a software engineer
![Page 4: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/4.jpg)
Who This Presentation is For
• You want to build a startup software company
• You’re not a software engineer
• You’ve never worked at a tech company before
![Page 5: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/5.jpg)
Who This Presentation is For
• You want to build a startup software company
• You’re not a software engineer
• You’ve never worked at a tech company before
• You believe “perfect” is the enemy of “good”
![Page 6: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/6.jpg)
Why Learn to Be a Product Manager (PM)?
• If you're not an engineer, then you're everything else
![Page 7: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/7.jpg)
Why Learn to Be a Product Manager (PM)?
• If you're not an engineer, then you're everything else
• You need to know how to build the whole company • At first, you're a PM
• Then, you're sales (or “Biz Dev” if you want to sound cool)
• If lucky, you get to be an exec (culture, long-term plans, M&A, etc)
![Page 8: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/8.jpg)
Why Listen to Me?
• No sacred cows: I just want to get shit done
@rustysf
![Page 9: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/9.jpg)
Why Listen to Me?
• No sacred cows: I just want to get shit done
• No allegiances: I don't debate the finer points • Not interested in the “perfect” PM style, methodology, tool, etc.
@rustysf
![Page 10: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/10.jpg)
Why Listen to Me?
• No sacred cows: I just want to get shit done
• No allegiances: I don't debate the finer points • Not interested in the “perfect” PM style, methodology, tool, etc.
• My opinion: • Your success doesn't hinge on “perfect” product management
• Pick the most widely recognized, get organized and move on
@rustysf
![Page 12: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/12.jpg)
Product Management = Non-Technical Building
• Software companies don't start needing sales or culture
![Page 13: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/13.jpg)
Product Management = Non-Technical Building
• Software companies don't start needing sales or culture • They start needing a good software product
• Everything else comes after that
![Page 14: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/14.jpg)
Product Management = Non-Technical Building
• Software companies don't start needing sales or culture • They start needing a good software product
• Everything else comes after that
• Software engineers build software
![Page 15: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/15.jpg)
Product Management = Non-Technical Building
• Software companies don't start needing sales or culture • They start needing a good software product
• Everything else comes after that
• Software engineers build software • You're not a software engineer
![Page 16: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/16.jpg)
Product Management = Non-Technical Building
• Software companies don't start needing sales or culture • They start needing a good software product
• Everything else comes after that
• Software engineers build software • You're not a software engineer
• You're only useful if you can help engineers build reasonably scalable code as fast as possible
![Page 17: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/17.jpg)
What a PM Does
• Make the decisions about a product that determine if it succeeds
![Page 18: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/18.jpg)
What a PM Does
• Make the decisions about a product that determine if it succeeds • What to build & when it needs to be built
![Page 19: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/19.jpg)
What a PM Does
• Make the decisions about a product that determine if it succeeds • What to build & when it needs to be built
• Taking responsibility for what to include and what to leave out
![Page 20: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/20.jpg)
What a PM Does
• Make the decisions about a product that determine if it succeeds • What to build & when it needs to be built
• Taking responsibility for what to include and what to leave out
• Approving progress as it happens
![Page 21: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/21.jpg)
What a PM Does
• Make the decisions about a product that determine if it succeeds • What to build & when it needs to be built
• Taking responsibility for what to include and what to leave out
• Approving progress as it happens
• Any admin on the project:
• Setting up accounts, signing up for tools
• Removing “blockers” (things big & small that prevent engineers from continuing to build)
• Anything engineers don’t want to (or can’t) do
![Page 22: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/22.jpg)
What a PM Does Not Do
• PMs DO NOT code
![Page 23: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/23.jpg)
What a PM Does Not Do
• PMs DO NOT code • It's great to be technical, or to learn coding in order to
communicate, but don't try to commit code
![Page 24: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/24.jpg)
What a PM Does Not Do
• PMs DO NOT code • It's great to be technical, or to learn coding in order to
communicate, but don't try to commit code
• PMs DO NOT decide how a product is built
![Page 25: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/25.jpg)
What a PM Does Not Do
• PMs DO NOT code • It's great to be technical, or to learn coding in order to
communicate, but don't try to commit code
• PMs DO NOT decide how a product is built • When/Why is not How
• Engineers choose language, coding tools, libraries, etc (excepting choices that affect business aspects of the product, such as IP rights or functionality)
![Page 26: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/26.jpg)
Side Note On Choosing What to Build
• This is where you can help as a “business guy” (or gal)
![Page 27: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/27.jpg)
Side Note On Choosing What to Build
• This is where you can help as a “business guy” (or gal) • Talk to everyone who is relevant to your product
• Talk to every potential customer. Take detailed notes on what they want.
• If you're really good, sell a product before it's built
![Page 28: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/28.jpg)
Side Note On Choosing What to Build
• This is where you can help as a “business guy” (or gal) • Talk to everyone who is relevant to your product
• Talk to every potential customer. Take detailed notes on what they want.
• If you're really good, sell a product before it's built
• DO NOT: read books, guess, or ask your friends and family what they want
![Page 29: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/29.jpg)
Side Note On Choosing What to Build
• This is where you can help as a “business guy” (or gal) • Talk to everyone who is relevant to your product
• Talk to every potential customer. Take detailed notes on what they want.
• If you're really good, sell a product before it's built
• DO NOT: read books, guess, or ask your friends and family what they want
• Once you know what to build, refer to this presentation to get it built
![Page 31: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/31.jpg)
Being a PM is Difficult
• Becoming an “A-level” PM takes years of experience, mistakes and mentors
![Page 32: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/32.jpg)
Being a PM is Difficult
• Becoming an “A-level” PM takes years of experience, mistakes and mentors
• This presentation will help you look like a “B”
![Page 33: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/33.jpg)
Being a PM is Difficult
• Becoming an “A-level” PM takes years of experience, mistakes and mentors
• This presentation will help you look like a “B” • Repeat: a few slides can't make you an “A”
• That's OK: you don't need to be an “A” PM to be an effective non-technical founder
![Page 34: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/34.jpg)
Being a PM is Difficult
• Becoming an “A-level” PM takes years of experience, mistakes and mentors
• This presentation will help you look like a “B” • Repeat: a few slides can't make you an “A”
• That's OK: you don't need to be an “A” PM to be an effective non-technical founder
But you can't be a “C”
![Page 35: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/35.jpg)
Product Methodologies (“How to Build”)
• Almost as many as there are coding languages • Waterfall/BDUF
• Agile/Scrum
• Extreme/kanban
![Page 36: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/36.jpg)
Product Methodologies (“How to Build”)
!
SKIP IT:
You can cover 80%+ of engineers you'll work with by understanding a scrum-based agile format
![Page 37: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/37.jpg)
Agile? Agile what?
• “Agile” is a philosophy/methodology that boils down to: • Break up the project into discrete deliverables
![Page 38: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/38.jpg)
Agile? Agile what?
• “Agile” is a philosophy/methodology that boils down to: • Break up the project into discrete deliverables
• Communicate constantly
![Page 39: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/39.jpg)
Agile? Agile what?
• “Agile” is a philosophy/methodology that boils down to: • Break up the project into discrete deliverables
• Communicate constantly
• Focus on product goals, not features
![Page 40: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/40.jpg)
Agile? Agile what?
• “Agile” is a philosophy/methodology that boils down to: • Break up the project into discrete deliverables
• Communicate constantly
• Focus on product goals, not features
• It’s the opposite of: • Creating lengthy, detailed product specifications before getting
started
![Page 41: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/41.jpg)
Agile? Agile what?
• “Agile” is a philosophy/methodology that boils down to: • Break up the project into discrete deliverables
• Communicate constantly
• Focus on product goals, not features
• It’s the opposite of: • Creating lengthy, detailed product specifications before getting
started
• Locking engineers into inflexible final product requirements before knowing what bugs/issues will arise
![Page 42: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/42.jpg)
And Scrum is…?
• A set of procedures that are considered agile
![Page 43: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/43.jpg)
And Scrum is…?
• A set of procedures that are considered agile
• No one actually implements them the same (AFAICT)
![Page 44: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/44.jpg)
And Scrum is…?
• A set of procedures that are considered agile
• No one actually implements them the same (AFAICT)
• For your purposes, just know about: • Stories
• Sprints (and the rules regarding these)
• Retrospectives
![Page 46: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/46.jpg)
Step 1: Stories
• “Stories” are the way you should think about product features
![Page 47: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/47.jpg)
Step 1: Stories
• “Stories” are the way you should think about product features • Think in terms of the user: what goals does the user have with respect
to each feature?
![Page 48: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/48.jpg)
Step 1: Stories
• “Stories” are the way you should think about product features • Think in terms of the user: what goals does the user have with respect
to each feature?
• Goal is to think through every detail of the user’s experience before building
![Page 49: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/49.jpg)
A Basic Example of User Stories
• To sign into your software: • Story 1: User can register for an account
![Page 50: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/50.jpg)
A Basic Example of User Stories
• To sign into your software: • Story 1: User can register for an account
• Task: user must enter full name, email and a password [include final designs for what this page looks like]
![Page 51: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/51.jpg)
A Basic Example of User Stories
• To sign into your software: • Story 1: User can register for an account
• Task: user must enter full name, email and a password [include final designs for what this page looks like]
• Task: forms must validate that the email address is valid
![Page 52: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/52.jpg)
A Basic Example of User Stories
• To sign into your software: • Story 1: User can register for an account
• Task: user must enter full name, email and a password [include final designs for what this page looks like]
• Task: forms must validate that the email address is valid
• Task: after registering, user is taken to their Account Profile page [include destination link]
![Page 53: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/53.jpg)
A Basic Example of User Stories
• To sign into your software: • Story 1: User can register for an account
• Task: user must enter full name, email and a password [include final designs for what this page looks like]
• Task: forms must validate that the email address is valid
• Task: after registering, user is taken to their Account Profile page [include destination link]
• Story 2: User can sign into their account
![Page 54: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/54.jpg)
A Basic Example of User Stories
• To sign into your software: • Story 1: User can register for an account
• Task: user must enter full name, email and a password [include final designs for what this page looks like]
• Task: forms must validate that the email address is valid
• Task: after registering, user is taken to their Account Profile page [include destination link]
• Story 2: User can sign into their account
• Task: user enters email address and password [include design for page]
![Page 55: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/55.jpg)
A Basic Example of User Stories
• To sign into your software: • Story 1: User can register for an account
• Task: user must enter full name, email and a password [include final designs for what this page looks like]
• Task: forms must validate that the email address is valid
• Task: after registering, user is taken to their Account Profile page [include destination link]
• Story 2: User can sign into their account
• Task: user enters email address and password [include design for page]
• Task: user can click “Forgot Password” to get an email with a link to reset their password [include design & copy for email]
![Page 56: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/56.jpg)
Add Each Story to PivotalTracker.com
• 80%+ of engineers will be familiar with it, just use it
![Page 57: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/57.jpg)
Add Each Story to PivotalTracker.com
• 80%+ of engineers will be familiar with it, just use it
• Story writing guidelines: • Each story should relate to a single, discrete feature
![Page 58: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/58.jpg)
Add Each Story to PivotalTracker.com
• 80%+ of engineers will be familiar with it, just use it
• Story writing guidelines: • Each story should relate to a single, discrete feature
• Try to think of every question your engineer will have:
• Always include needed design assets (PSDs, images, screenshots, whatever you have)
![Page 59: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/59.jpg)
Add Each Story to PivotalTracker.com
• 80%+ of engineers will be familiar with it, just use it
• Story writing guidelines: • Each story should relate to a single, discrete feature
• Try to think of every question your engineer will have:
• Always include needed design assets (PSDs, images, screenshots, whatever you have)
• Use the “tasks” section to create checklists for the engineers to double-check before submitting
![Page 60: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/60.jpg)
Add Each Story to PivotalTracker.com
• 80%+ of engineers will be familiar with it, just use it
• Story writing guidelines: • Each story should relate to a single, discrete feature
• Try to think of every question your engineer will have:
• Always include needed design assets (PSDs, images, screenshots, whatever you have)
• Use the “tasks” section to create checklists for the engineers to double-check before submitting
DO NOT assume that your vision for the product is clear to your engineering team.
![Page 61: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/61.jpg)
Step 2: Organize & Track Your Backlog
• The “backlog” in Pivotal Tracker is the to-do list for the entire project
![Page 62: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/62.jpg)
Step 2: Organize & Track Your Backlog
• The “backlog” in Pivotal Tracker is the to-do list for the entire project
• Always keep stories ordered by priority: • Stories that aren't dependent on any others are the highest
priority (e.g., login requires sign up, so build sign up first)
• Engineer will start at the top and work her way down
![Page 63: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/63.jpg)
Keep it Simple for Your Team
• Pivotal Tracker is a reference point for the project; no need to get fancy • Ignore the point system; not necessary for tiny teams
• Keep all files, notes, comments, etc. in each story so that the history is in one place
![Page 64: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/64.jpg)
Keep it Simple for Your Team
• Pivotal Tracker is a reference point for the project; no need to get fancy • Ignore the point system; not necessary for tiny teams
• Keep all files, notes, comments, etc. in each story so that the history is in one place
• Simple = always available, always responsive • Respond to any changes in the story within 1 hour
• Continually follow & update the status of each story until it is Accepted
![Page 65: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/65.jpg)
What Pivotal Tracker Story “States” Should Mean
Unstarted No one has begun work
Started Someone has started work
Finished Needs code review (if only 1 engineer, skip this step)
Delivered PM must review and test the feature
Accept Story is completed in full, all requirements are met and have been double-checked
Reject Story not completed as requested (always leave notes when Rejecting)
![Page 66: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/66.jpg)
Step 3: Group Stories Into “Sprints”
• A “sprint” is a protected period of time for pre-determined work on specific tasks
![Page 67: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/67.jpg)
Step 3: Group Stories Into “Sprints”
• A “sprint” is a protected period of time for pre-determined work on specific tasks • One week sprint = plan on Monday, finish on Friday
• Once the sprint plan has been agreed to, it cannot be changed (this is why the sprint should only last one week)
![Page 68: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/68.jpg)
Step 3: Group Stories Into “Sprints”
• Sprints are organized around three crucial meetings: • Start with a “sprint planner” on Monday
![Page 69: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/69.jpg)
Step 3: Group Stories Into “Sprints”
• Sprints are organized around three crucial meetings: • Start with a “sprint planner” on Monday
• Conduct daily standups to check in every morning
![Page 70: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/70.jpg)
Step 3: Group Stories Into “Sprints”
• Sprints are organized around three crucial meetings: • Start with a “sprint planner” on Monday
• Conduct daily standups to check in every morning
• Conclude with a “sprint review” on Friday EOD
![Page 71: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/71.jpg)
Sprint Planner
• Meet & decide what will get done in the sprint
![Page 72: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/72.jpg)
Sprint Planner
• Meet & decide what will get done in the sprint • Show up with all stories prioritized ahead of time
![Page 73: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/73.jpg)
Sprint Planner
• Meet & decide what will get done in the sprint • Show up with all stories prioritized ahead of time
• Read each story with the engineer, starting with the highest priority
• Make sure the engineer knows what the story means and has everything she needs to complete it
![Page 74: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/74.jpg)
Sprint Planner
• Meet & decide what will get done in the sprint • Show up with all stories prioritized ahead of time
• Read each story with the engineer, starting with the highest priority
• Make sure the engineer knows what the story means and has everything she needs to complete it
• Add all stories to be completed during a sprint to the “CURRENT” column in Pivotal • This will be your to-do list for the week: if all stories get done, you
& your team were productive
![Page 75: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/75.jpg)
Each Day During the Sprint, PMs must:
• Conduct daily “standups” • Each morning, everyone must meet and answer aloud:
• What did you do yesterday?
• What are you doing today?
• Are you blocked from further work by anything?
![Page 76: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/76.jpg)
Each Day During the Sprint, PMs must:
• Conduct daily “standups” • Each morning, everyone must meet and answer aloud:
• What did you do yesterday?
• What are you doing today?
• Are you blocked from further work by anything?
• Standups should be fast (15 mins max)
![Page 77: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/77.jpg)
Each Day During the Sprint, PMs must:
• Conduct daily “standups” • Each morning, everyone must meet and answer aloud:
• What did you do yesterday?
• What are you doing today?
• Are you blocked from further work by anything?
• Standups should be fast (15 mins max)
• Over-communicate: share everything, clear anything preventing progress (“blockers”)
![Page 78: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/78.jpg)
Each Day During the Sprint, PMs must:
• Assist, answer questions, and “groom” Pivotal Tracker: • Test the latest version of the product
![Page 79: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/79.jpg)
Each Day During the Sprint, PMs must:
• Assist, answer questions, and “groom” Pivotal Tracker: • Test the latest version of the product
• Report all bugs in Pivotal Tracker
![Page 80: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/80.jpg)
Each Day During the Sprint, PMs must:
• Assist, answer questions, and “groom” Pivotal Tracker: • Test the latest version of the product
• Report all bugs in Pivotal Tracker
• Accept/Reject any story within one hour after it is delivered
![Page 81: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/81.jpg)
Each Day During the Sprint, PMs must:
• Assist, answer questions, and “groom” Pivotal Tracker: • Test the latest version of the product
• Report all bugs in Pivotal Tracker
• Accept/Reject any story within one hour after it is delivered
• Get any needed resources: answers from partners, additional designs, tools or libraries, passwords, etc.
![Page 82: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/82.jpg)
Mid-Sprint DON’Ts:
• DO NOT skip stand ups • You can’t afford to be that busy
![Page 83: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/83.jpg)
Mid-Sprint DON’Ts:
• DO NOT skip stand ups • You can’t afford to be that busy
• DO NOT change priorities or add tasks • The point of a sprint is to agree on the deliverable and allow the
engineer to focus
![Page 84: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/84.jpg)
Mid-Sprint DON’Ts:
• DO NOT skip stand ups • You can’t afford to be that busy
• DO NOT change priorities or add tasks • The point of a sprint is to agree on the deliverable and allow the
engineer to focus
• DO NOT find out your engineer needs something that’s not in the story • All design assets (buttons, colors, fonts, screenshots, etc.) should
be attached to the story before the sprint begins
![Page 85: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/85.jpg)
Sprint Review
• What got done? What didn't? Is the project on pace?
![Page 86: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/86.jpg)
Sprint Review
• What got done? What didn't? Is the project on pace?
• Keep it casual • Friday end of day, 30 minutes max
• Often done over beers, should be fun
![Page 87: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/87.jpg)
Sprint Review
• What got done? What didn't? Is the project on pace?
• Keep it casual • Friday end of day, 30 minutes max
• Often done over beers, should be fun
• Take notes for next sprint • Organize your backlog over the weekend based on what did/
didn’t get done
• Improve your organization (you will miss things at first; that’s OK)
![Page 88: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/88.jpg)
Step 4: Assess Progress via Retrospectives
• “Retros” are meetings that give your team a chance to air out any issues happening with respect to the project • “PM is pissing me off”
• “My desk is uncomfortable”
• “I think we’ve taken on too much,” etc.
![Page 89: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/89.jpg)
Step 4: Assess Progress via Retrospectives
• “Retros” are meetings that give your team a chance to air out any issues happening with respect to the project • “PM is pissing me off”
• “My desk is uncomfortable”
• “I think we’ve taken on too much,” etc.
• Do these once every two weeks at the end of the sprint
![Page 90: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/90.jpg)
You’ll Know You Need a Retro If:
• Your project is behind
![Page 91: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/91.jpg)
You’ll Know You Need a Retro If:
• Your project is behind
• Your team is aggressive / passive aggressive
![Page 92: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/92.jpg)
You’ll Know You Need a Retro If:
• Your project is behind
• Your team is aggressive / passive aggressive
• You’re not sure what the project goals are anymore
![Page 93: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/93.jpg)
You’ll Know You Need a Retro If:
• Your project is behind
• Your team is aggressive / passive aggressive
• You’re not sure what the project goals are anymore
!
IMPORTANT: DO NOT SKIP RETROS!
![Page 94: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/94.jpg)
Format for Retros
• Take a “team temperature” on a scale of 1-10 (10 is best): “how are we doing as a team?” • Everyone on the team writes down their rating
• Review any outliers (if 2 folks are a 9 and 1 is a 6, ask the 6 why?)
• Try to come up with action items if needed
![Page 95: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/95.jpg)
Format for Retros
• Take an individual temp • Each person writes down, on a scale of 1-10, how they think
they're doing individually
• Review any outliers here as well, make action items
![Page 96: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/96.jpg)
Format for Retros
• Happy/sad/meh • Using a whiteboard or Excel sheet, make columns with headers of
:), :| and :(
• Have the team write bullet points beneath each: what is making you smile, frown or think “meh”?
• Can be anything, from “I had great coffee” to “office is too loud”
• Review each entry, make action items
![Page 97: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/97.jpg)
Format for Retros
• Wrapup • Turn any action items into stories (if it's an engineering task) or to
PM to-do lists (if it's anything else)
• Review the action items periodically to make sure they’re being resolved
![Page 98: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/98.jpg)
Retros Are Crucial!
• Retros can feel silly, but they’re important: • Shouldn’t take more than an hour
• Should leave the team feeling like they’re all on the same page
![Page 100: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/100.jpg)
Building is Hard
• That’s why PMs are necessary
![Page 101: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/101.jpg)
Building is Hard
• That’s why PMs are necessary
• As a non-engineer, your sole job at first is to organize & manage progress
![Page 102: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/102.jpg)
Being a PM Makes Everyone’s Life Easier
• Smart people have figured out some basic but important procedures: agile/scrum
![Page 103: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/103.jpg)
Being a PM Makes Everyone’s Life Easier
• Smart people have figured out some basic but important procedures: agile/scrum
• Following them is simple once you get used to it: • Stories & a tool to keep track of them (Pivotal Tracker)
• Sprints (planners, standups, reviews)
• Retrospectives
![Page 104: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/104.jpg)
Be Organized & Communicate
• Amazingly simple things often undermine startups • Projects slow down when team members don't talk
• Breakdowns in communication lead to confusion, wasted time, frustration & ultimately business failure
![Page 105: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/105.jpg)
Be Organized & Communicate
• Amazingly simple things often undermine startups • Projects slow down when team members don't talk
• Breakdowns in communication lead to confusion, wasted time, frustration & ultimately business failure
• Don’t let this happen to you
![Page 106: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/106.jpg)
Be Organized & Communicate
• Amazingly simple things often undermine startups • Projects slow down when team members don't talk
• Breakdowns in communication lead to confusion, wasted time, frustration & ultimately business failure
• Don’t let this happen to you
Anyone who is detailed, thoughtful and has great taste for quality products can build awesome software
![Page 107: How to Build Software If You Can't Write Code](https://reader035.vdocuments.us/reader035/viewer/2022081802/53fca43b8d7f72384b8b4829/html5/thumbnails/107.jpg)
Thanks for reading! I’m happy to answer any questions:
@rustysf (russwallace.com)
Please share on Twitter, LinkedIn, etc!
image credit: http://jimbenton.com/