SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
jasongrandelli@gmail.com

@jasongrandelli
Who am I? Why should you care?
Mobile Engineer @ URBN inc
Builder of native iOS apps. Both customer facing and
enterprise
Previously at Bluecadet Interactive
Design background, writing code for 8 years
What we’ll discuss & what we won’t
Planning & designing a mobile app
App Development Workflow
Methodology
Development Life Cycle
Testing
Continuous Integration
Deployment
Not getting into design or code specifics
All with an iOS slant
Planning & Design
Experts Required
App UX & UI are very different web
Not all mobile created equal. iOS & Android require
respective experts
Understanding platform UX & UI conventions makes
your engineers lives easier
Lean on your engineers.
They are by default platform experts
They can help your UX & UI staff create a well
crafted, platform appropriate app
Methodology
agile (with a lower case ‘a’)
Bare minimum daily(ish) stand ups, sprint planning,
demo
2 week sprints
Plan to release after each sprint
Plan features so they can be completed in a sprint
Even if this means breaking up the work into smaller
chunks
Tools: depends on how hardcore you are
Jira, Trello, Basecamp (from hardcore to laid back)
Sample Schedule
Week 1
Tue: Sprint Planning
Wed: Sprint starts
Week 2
Thur: Sprint Grooming
Week 3
Mon: Sprint Demo. Release candidate distributed to
larger testing group
Tue: next Sprint Planning
Rinse & Repeat
Submit to App Store
Always hold for developer release
Development Life Cycle (Version Control)
Source/Version Control is a must!
3 base branches (master, beta, dev)
Pull requests for major work (multiple files changed)
Pull requests should be reviewed (when possible)
Commit and push often. Nothing is too little to commit
Make commits as small and inclusive as possible.
Avoid commits with multiple functionality changes
Commit messages should be as concise and descriptive
as possible
Development Life Cycle (Sample)
Branch off dev. Name branch after feature ticket
Feature complete, pull request into dev
Reviewing dev accepts, merges into dev
Sprint complete. Merge into beta.
Release candidate built from beta
Release candidate has a bug
Branch off beta, fix the bug, merge the branch into
beta and dev
Release candidate approved. Merge into master
Prep for App Store submission on master
Submit to App Store from master
Testing & Quality Control (Robots)
1st Line of Defense: Unit Tests
Great for model level code (data) & data modification
code
2nd Line of Defense: Automated UI Testing
Test user interactions and typical user flows
Robots are great at testing happy path
Not so good at edge cases
If you're spending more than 1/3 of your time writing
test cases, you're doing it wrong.
Testing & Quality Control (Humans)
Last Line of Defense: Humans
Never release code without actual humans testing it
Someone other than yourself
What to test?
New features/code (duh)
Regressions (everything)
Just because because you think new code doesn’t
effect some old code doesn’t mean you’re right
Never release with out full regression testing
Testing & Quality Control (Strategy)
Testing starts with the developer. Be a good citizen.
Dev releases often so features can be tested
continuously, not just at the end of the sprint.
Writing testing scripts so you don’t miss anything
Ensure complete device and OS coverage
Every device the app will run on (iPhone 4s - 5s)
Every major AND minor OS release (6.0, 6.1, 7.0)
Continuous Integration (CI)
Constant releases based on Source Control commits
and a tool like Jenkins
Your CI tool should:
Pull newest code
Run unit tests
Build latest code
Run Automated UI Tests
Create a new build & submit to a software distribution
service (like TestFlight)
Compile release notes based on commit messages
Notify developers of pass/fail
App Deployment
Have a checklist
Release builds off Master
Before submission, test the upgrade process from
current production app to new version
Ensure all services are receiving and reporting the new
version
Final verification that all features and updates are in
fact there
Verify push notifications work correctly
Submit to the App Store & “Hold for Developer
Release”
Post Deployment
Monitor production crash reports
Compare against previous versions
Look for new and increasing crashes
Take reviews with a grain of salt (haters gonna hate)
Use crashes, reviews, and other feedback mechanism
to plan future sprints
Dogfood your app!
Tools
Source Control (Git)
Dev & Beta distribution (TestFlight)
Ticket tracking (Jira)
Crash reporting (Crittercism)
Analytics (Appboy/Localytics)
Communication (Appboy)
Extras
Get an Enterprise account (unlimited devices, no UDID
wrangling)
Apps are nothing without strong services
Don’t try to roll your own Push Service
Don’t try to support too many OS releases
Respond to user feedback
Get to WWDC and get your app/designs reviewed by an
Apple UX Specialist (invaluable)
Download and use every app you can find
Gestures are sexy, but don’t rely on them
Read the HIG (Human Interface Guidelines)
Resources
UI/UX
https://developer.apple.com/library/ios/documentation/
userexperience/conceptual/MobileHIG/index.html
http://pttrns.com
https://beautifulpixels.com
http://capptivate.co
http://inspired-ui.com
Version Control (git)
http://git-scm.com/book
http://nvie.com/posts/a-successful-git-branching-model/
Resources (cont.)
Misc
http://iosdevweekly.com
http://www.merowing.info/2014/02/ios-developer-tools/
http://nshipster.com
http://typicalprogrammer.com/how-to-developunmaintainable-software/
Questions?

jasongrandelli@gmail.com

@jasongrandelli

Mais conteúdo relacionado

Último

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Último (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Destaque

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destaque (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Building Solid Mobile Workflows

  • 2. Who am I? Why should you care? Mobile Engineer @ URBN inc Builder of native iOS apps. Both customer facing and enterprise Previously at Bluecadet Interactive Design background, writing code for 8 years
  • 3. What we’ll discuss & what we won’t Planning & designing a mobile app App Development Workflow Methodology Development Life Cycle Testing Continuous Integration Deployment Not getting into design or code specifics All with an iOS slant
  • 4. Planning & Design Experts Required App UX & UI are very different web Not all mobile created equal. iOS & Android require respective experts Understanding platform UX & UI conventions makes your engineers lives easier Lean on your engineers. They are by default platform experts They can help your UX & UI staff create a well crafted, platform appropriate app
  • 5. Methodology agile (with a lower case ‘a’) Bare minimum daily(ish) stand ups, sprint planning, demo 2 week sprints Plan to release after each sprint Plan features so they can be completed in a sprint Even if this means breaking up the work into smaller chunks Tools: depends on how hardcore you are Jira, Trello, Basecamp (from hardcore to laid back)
  • 6. Sample Schedule Week 1 Tue: Sprint Planning Wed: Sprint starts Week 2 Thur: Sprint Grooming Week 3 Mon: Sprint Demo. Release candidate distributed to larger testing group Tue: next Sprint Planning Rinse & Repeat Submit to App Store Always hold for developer release
  • 7. Development Life Cycle (Version Control) Source/Version Control is a must! 3 base branches (master, beta, dev) Pull requests for major work (multiple files changed) Pull requests should be reviewed (when possible) Commit and push often. Nothing is too little to commit Make commits as small and inclusive as possible. Avoid commits with multiple functionality changes Commit messages should be as concise and descriptive as possible
  • 8. Development Life Cycle (Sample) Branch off dev. Name branch after feature ticket Feature complete, pull request into dev Reviewing dev accepts, merges into dev Sprint complete. Merge into beta. Release candidate built from beta Release candidate has a bug Branch off beta, fix the bug, merge the branch into beta and dev Release candidate approved. Merge into master Prep for App Store submission on master Submit to App Store from master
  • 9. Testing & Quality Control (Robots) 1st Line of Defense: Unit Tests Great for model level code (data) & data modification code 2nd Line of Defense: Automated UI Testing Test user interactions and typical user flows Robots are great at testing happy path Not so good at edge cases If you're spending more than 1/3 of your time writing test cases, you're doing it wrong.
  • 10. Testing & Quality Control (Humans) Last Line of Defense: Humans Never release code without actual humans testing it Someone other than yourself What to test? New features/code (duh) Regressions (everything) Just because because you think new code doesn’t effect some old code doesn’t mean you’re right Never release with out full regression testing
  • 11. Testing & Quality Control (Strategy) Testing starts with the developer. Be a good citizen. Dev releases often so features can be tested continuously, not just at the end of the sprint. Writing testing scripts so you don’t miss anything Ensure complete device and OS coverage Every device the app will run on (iPhone 4s - 5s) Every major AND minor OS release (6.0, 6.1, 7.0)
  • 12. Continuous Integration (CI) Constant releases based on Source Control commits and a tool like Jenkins Your CI tool should: Pull newest code Run unit tests Build latest code Run Automated UI Tests Create a new build & submit to a software distribution service (like TestFlight) Compile release notes based on commit messages Notify developers of pass/fail
  • 13. App Deployment Have a checklist Release builds off Master Before submission, test the upgrade process from current production app to new version Ensure all services are receiving and reporting the new version Final verification that all features and updates are in fact there Verify push notifications work correctly Submit to the App Store & “Hold for Developer Release”
  • 14. Post Deployment Monitor production crash reports Compare against previous versions Look for new and increasing crashes Take reviews with a grain of salt (haters gonna hate) Use crashes, reviews, and other feedback mechanism to plan future sprints Dogfood your app!
  • 15. Tools Source Control (Git) Dev & Beta distribution (TestFlight) Ticket tracking (Jira) Crash reporting (Crittercism) Analytics (Appboy/Localytics) Communication (Appboy)
  • 16. Extras Get an Enterprise account (unlimited devices, no UDID wrangling) Apps are nothing without strong services Don’t try to roll your own Push Service Don’t try to support too many OS releases Respond to user feedback Get to WWDC and get your app/designs reviewed by an Apple UX Specialist (invaluable) Download and use every app you can find Gestures are sexy, but don’t rely on them Read the HIG (Human Interface Guidelines)