Preface
The lean start-up methodology has become a well-known term in the start-up land. There are many books covering this (and related methodologies) such as The Lean Startup (Eric ries), Running Lean (Ash Maurya), The start-up owner manual (Steve Blank), and The Four steps to the epiphany (Steve Blank).
The lean start-up methodology is, among other things, about reducing waste by gathering feedback earlier. It makes no sense to develop a brilliant app for six months or longer only to find out later that nobody is interested in it.
Your start-up, or even an existing app, needs multiple but short iterations to find out what works and what does not. That raises questions such as: Does your app actually solve a problem worth solving it? And how does the lean start-up methodology come into this?
All the books are currently focused on business-oriented members of your start-up or company. However, a pragmatic approach for the technical-oriented members of a company, with a mobile first strategy, is missing in particular. Theory is cool but a practical approach could help developers to move faster.
This book tries to fill that gap. It explains the elements of the Lean Start Up methodology and elaborates on research and on implementation. In particular, the focus is on things that need to be done from a technical point of view. That makes this book a down-to-earth guide on how to apply the lean start-up methodology to real Android and iOS development. As such, it comes without any mumbo-jumbo. If you want real action and if you want to develop an app that people need and really want to use, then this guide is for you.
What this book covers
Chapter 1, Yes, There Is an App for That, contains some important questions to ask yourself, such as: Why are you building the app and for whom? The chapter explains how Lean startup can help.
Chapter 2, Lean Startup Primer, explains the business model canvas, what customer development is, and what a Minimum Viable Product (MVP) is.
Chapter 3, Challenges in Applying Lean to Building Mobile Apps, elaborates on the market place workflow and the discoverability of your app.
Chapter 4, An Agile Workflow in a Nutshell, talks about time-boxed programming, trusting on third-party solutions, and how you can make temporary shorts.
Chapter 5, A Pragmatic Approach, explains in a pragmatic way what an agile workflow, Kanban, and Scrum is and how you can implement it in your workflow.
Chapter 6, MVP is Always More Minimal Than You Think, investigates what features should go into a minimal viable product and how these features can help to prove your hypotheses.
Chapter 7, Minimal Viable Product Case Studies, contains some real-world examples of MVP implementations.
Chapter 8, Cloud Solutions for App Experiments, talks about your strategy for the backend of your app. What third-party services are available and do you need a backend developer at all?
Chapter 9, Native, Hybrid, or Cross-Platform, explains which platform (Android or iOS) to start with and what the possibilities are when you want to do both at once.
Chapter 10, There Is an API for That!, inspires you to combine existing data and services. It comes with an example combining movie information, maps and Uber integration. Finally, we will see how you can build an MVP and prove hypotheses using IFTT.
Chapter 11, Onboarding and Registration, talks about the onboarding and conversion of your users. It explains how you can lower the barrier and it comes with an Android example for signing up with Twitter or with a phone number.
Chapter 12, Do Things That Do Not Scale, instructs you to focus on proving hypotheses instead of focusing on automation. Try to find out what is working and what is not, with minimal amount of effort.
Chapter 13, Play Store and App Store Hacks, contains a first introduction to split testing and how you can apply it to the Play Store or App Store.
Chapter 14, A/B Testing Your App, tells you why split testing your app is important and how you can set up an A/B test for your app. It comes with an example using Android and the Firebase options Remote Config and Analytics.
Chapter 15, Growing Traction and Improving Retention, informs you what traction and retention is, why it matters and what you can do to gain more traction. It also discusses the importance of push notifications in order to increase retention (returning users).
Chapter 16, Scaling Strategies, inspires you to think about a scaling strategy. It may sound like a luxury problem, but if your app becomes a success your backend has to scale up. Cloud services have made this process a very easy one. Do not scale yet, but make your solution scalable.
Chapter 17, Monetization and Pricing Strategy, talks about the many monetization options for your app. If, for example, you choose for in-app purchases, you also need a good pricing strategy.
Chapter 18, ContinuousDeployment, discusses a Git workflow and CI/CD tools, such as TeamCity and Jenkins. If you have a good testing strategy these tools can help you delivery often and fast.
Chapter 19, Building an Unfair Advantage, makes you think on how to build a 'moat' that makes your business defensible from new upstarts.
Chapter 20, The Flyng Case Study, talks about a case study of an existing social media app.
Appendix, Reading List and Web References, covers a list of a must-read books and websites worth visiting.
What you need for this book
In the first place, this book is to inspire technical-oriented cofounders of start-ups and existing business technical leaders seeking to integrate lead into their development operations. In addition, there are some Android and iOS code samples that we discuss to explain some of the concepts. Although the concept is more important than the code, you can try the sample for yourself. Where applicable, you can find a link to the Github repository, containing the code.
For the Android examples, you need to have Android Studio 3 (or above) and the Android SDKs installed on your computer. Android Studio is available as a free download for Windows, OSX, and other operating systems. The Android examples are written in Kotlin and Java.
The samples for iOS requires xCode 9 or above (xCode is available on OSX only and you need to have a paid Apple developer's account). The iOS examples are written in Swift 4.
Some examples require a (free) registration at Firebase, Facebook, Fabric, or other services.
Who this book is for
In particular, the audience of this book will be technical cofounders, developers, or CTO's working in a start-up environment. However, if you are a CTO, Development Director, or developer of an existing software company, then this is for you too. Lean, when applied well, helps start-ups and existing copanies equally.
Conventions
In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning.
All Android and iOS examples and descriptions are based on Android Studio, xCode and various third party services, running on a OSX machine.
Console input is shown as:
$ gem install cocoapods
A block of code is set as follows:
func refresh (sender: AnyObject!) { ... let cngQuery = client.queryDataset("wwmu-gmzc") cngQuery.orderAscending("title").get { res in switch res { case .Dataset (let data): self.data = data ... } } Data (XML, JSON or otherwise) is shown as: <key>UberClientID</key> <string>your uber client id</string> <key>UberCallbackURI</key> <string></string> <key>LSApplicationQueriesSchemes</key> <array> <string>uber</string> </array>
Where you need to apply your own client ID, API key or API secret it, for example, reads as: your client_id
within the code or the data.
New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: "Clicking the Next
button moves you to the next screen."
Note
Warnings or important notes appear in a box like this.
Note
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of.
To send us general feedback, simply e-mail [email protected]
, and mention the book's title in the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors
.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Downloading the example code
You can download the example code files for this book from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files emailed directly to you. You can download the code files by following these steps:
- Log in or register to our website using your email address and password.
- Hover the mouse pointer on the
SUPPORT
tab at the top. - Click on
Code Downloads & Errata
. - Enter the name of the book in the
Search
box. - Select the book for which you're looking to download the code files.
- Choose from the drop-down menu where you purchased this book from.
- Click on
Code Download
.
Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:
- WinRAR / 7-Zip for Windows
- Zipeg / iZip / UnRarX for Mac
- 7-Zip / PeaZip for Linux
The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Lean–Mobile–App–Development. We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
Downloading the color images of this book
We also provide you with a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from http://www.packtpub.com/sites/default/files/downloads/LeanMobileAppDevelopment_ColorImages.pdf.
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title.
To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata
section.
Piracy
Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at [email protected]
with a link to the suspected pirated material.
We appreciate your help in protecting our authors and our ability to bring you valuable content.
Questions
If you have a problem with any aspect of this book, you can contact us at [email protected]
, and we will do our best to address the problem.