Lean Product Design in Practice
Lean product design is a software development process for creating innovative new products. It enables businesses to get their product to market fast, validate it frequently with users, and continuously respond to feedback. The process involves interweaving lightweight design and user research throughout an agile development process, rather than relying on most of the product design and research to be done up front.
In LPD, product managers, designers and developers co-create a holistic and usable product from day one. To start, a clear vision of the unique differentiating value of your product is required, which allows the team to create as few as one single core feature to take to market and test. Through continuous iterations of user research, collaborative design and development, the product can evolve in response to feedback from today’s market. The moment that users are willing to buy the current latest version of the product, it will have proven demand and be ready to take to market. Given the pace of innovation and change in so many industries, having a product that meets the needs of users today - not 6 months or 1 year ago - can be key to success.
Lean process: Doing LPD on your team
A small team can start doing lean product development by working with cross functional roles in a very lean process. Here are some of the ways our new teams work at Thoughtworks when building an MVP (minimum viable product) for a new product:
- Small, collaborative teams. This allows everyone on the team to have shared context, and make decisions quickly in response to changes in design or technology as issues are encountered.
- Cross-functional pairing. Various roles will pull each other into conversations and decisions as needed, meaning processes are fast and responsive. The traditional story lifecycle from analysis to design and then development is much more fluid and non-linear.
- Sketch-to-code. This is a great technique for moving fast and minimizing waste when your product is evolving and changing rapidly from week to week. Designers and developers pair on creating the interface through sketching, coding, and iterate until they have built a solution that was both fast to implement and has a good level of usability.
- Design wall. Displaying all the latest product sketches or wireframes together on a large wall space acts as a visual information radiator to communicate the latest holistic product vision as features emerge and evolve. It allows teams to see what is coming down the pipeline next and how all the pieces fit together.
- User research and testing. New products evolve in response to many input factors, but a hugely important one is user feedback. Taking the current version of the product out into the field or into a lab frequently to get user feedback is critical for picking up on hits and misses and quickly adapting.
Lean tools: Being lean across multiple teams
If you have multiple teams or separate groups for design and development, it can slow down the lean process a lot. To keep moving fast and responding to change efficiently, we use design and development tools at Thoughtworks such as:
- Flat UI. This is not just a fashion trend - it allows developers to make style and design changes quickly and easily in the code without requiring a designer to slice visual assets and upload them.
- Icon Font. Spending some time to create SVG icons and include them as a CSS font is well worth it. Changing the size or color of any icons becomes a very fast process - again, no waiting on sliced visual assets!
- Style Tiles. Rather than creating a visual ‘comp’ for every single screen of a website or app, designers instead create tiles or boards to show the design for common UI elements and interaction patterns across the product. Then new features only require minimalistic sketches or wireframes because the visual style is known.
- Live Style Guide. This is a live (or local) webpage that shows the current web app’s style elements, which allows developers to see what has already been implemented or what needs to be added. This helps prevent the codebase from having 10 slightly different blue buttons, and the pain that accompanies changing them all!
- Style Gem. If you have more than one ruby web app, you call pull the shared design styles into a ruby gem to be used on multiple products. This allows consistent look and feel across multiple products that can be easily changed in one place.
Lean mindset: Using LPD in your entire organization
If you want an organization that has multiple products and office locations to be lean, it requires adopting ‘lean thinking’ earlier up the decision making chain. This is to prevent work on wasteful product ideas as early as possible before development. Scaling LPD to an entire organization can mean making changes to team structure, culture and processes such as:
- Embedded UX designers. If design is operating in a silo then the development process is slowed down. Having a designer on hand for the team to consult with, suggest implementation alternatives to, and to observe what the live changes really look like firsthand makes for faster coding (in cycle time) and better design.
- Goal-oriented teams. When teams have a clear goal they are empowered explore, test ideas quickly, and respond to feedback. This allows them to pivot away from unsuccessful ideas earlier and find more valuable solutions for users faster.
- Lean thinking. Using lean thinking in your entire approach to product strategy - not just at the level of features or tasks - minimizes unnecessary work early on. Test ideas early, before you even start design or development. If you need to show something in order to validate your ideas, use paper prototyping or mock interactive prototypes.
- A scientific approach. Spending time upfront to define the problem and take a scientific approach to validating whether or not solutions are effective at solving them will ensure that teams are building the ‘right’ features. This saves enormous waste in coding, testing, maintenance and product research.
- Trust, humility and courage. Working in a lean way is challenging within a large organization and requires ongoing effort. As a product owner, you need to trust that the lean product design process will lead to a successful product even if you do not have line of sight to it early on. You need humility to recognize that any product ideas from you, your team or your organization might not be the right ideas to meet the users’ needs. And both of these things take courage to do.
Lean product design has different challenges depending on the size and expertise of your team or organization. But done well, it will lead to an innovative and high value product that is fast to market.
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.