Two recurring mantras in Toyota’s lean manufacturing, Eric Ries’ The Lean Startup, and the principles of Agile software development are: 1) eliminate unnecessary work, and 2) engage the customer throughout the production process. Together, these principles can be easily and effectively applied to mobile app production resulting in a development approach I call lean mobile.
How can your company trim waste and keep customers engaged throughout the mobile app development process? One answer is Continuous Delivery. Give the customer frequent app builds with small increments of new features. Continuous Delivery is the first step in Eric Ries’ Build-Measure-Learn production cycle that generally leads to a highly mature and productive result.
Deliver small increments of new features frequently, instead of delivering bigger collections of features at longer intervals. Focus the development team on a particular feature and get it right before moving on to something else. Toyota’s lean manufacturing process suggests limits to the amount of work in progress at any given time. The narrow focus helps teams avoid wasting effort on features that may go unfinished and unused at the conclusion of a development iteration.
The Agilists suggest that as soon as a development iteration is finished, the incremental feature should be released since it may prove useful and bring additional value to the customer. Ries refers to the delivery of a small, incremental feature as a minimal viable product, or MVP, and recommends that the development team collect feedback and data on the delivery from the customer. Feedback may come in many forms: bugs, new ideas, qualitative reviews, or usage telemetry. The collection of qualitative and quantitative responses is the central step to the Build-Measure-Learn cycle of Ries’ Lean Startup approach.
If the customer/user does not respond well to a feature, kill it. Phrases like “fail fast” and “pivot” describe a lean team’s reaction to building a new feature, measuring a customer’s response, and learning from those results. The intelligence gathered from measuring a user’s response to the incremental build helps teams learn what users value most. Empirical decisions can then be made regarding which features should be pursued, and which should be abandoned. If your customer does not find value in the implementation of a feature, abandon the work and move on to something that may be more impactful. The sooner the decision is made to change the direction of the development team, the less effort is wasted on building a feature—or an app—that will not be used. The more frequently builds are delivered, the more efficient and lean the development process will be.
Another reason to deliver frequent increments of new functionality is to keep the customer engaged and interested. In contrast to the old way of developing software—in which customers get involved early then check out until a final deliverable is ready—the Agile and lean approaches require the customer to participate throughout the development process. Specifically, customers and users are asked for frequent feedback. The more they feel their voice is being heard and their needs are being met, the more integral they will feel in the development process. If feedback is ignored, or if the features are missing the mark, a customer’s attention and enthusiasm for the product may drift elsewhere.
Through the continuous delivery of valuable software, mobile app development teams can: 1) avoid wasting time building features and apps that will go unused, and 2) maintain their customer’s interest and enthusiasm throughout the development process. By embracing these core principles of the Lean Manufacturing, Lean Start-Up and Agile approaches, development teams can fully realize the benefits of lean mobile.