When it comes to software development projects, agility should be focused on delivering business value in increments, and not developing software in cycles. While software development is a major aspect, it’s not the end goal of our projects.
Too often when following agile development, the team is uncertain or unclear of what to build that will actually deliver the value set out for at project inception.
Then, what happens is the team starts coding before understanding what really needs to be built, which is a very expensive way to validate that the solution meets customer and business needs. If there is no feedback until the end of a big project, it might be too late or costly to adjust. Instead, it is prudent to get as much feedback as possible, as early in the project as possible.
As Eric Ries, author of Lean Startup, puts it, don’t we all want to “avoid building products that nobody wants?” Recent Standish Group research shows that 20% of Features are used regularly and 50% of Features are hardly ever or never used. According to the study, the gray area is the 30% of Features and functions that get used sometimes or infrequently. All of these Features and functions that are never or barely used are causing higher costs, lower value, and longer cycle times, resulting in lower customer satisfaction. Focusing on the 20% of the Features that give you 80% of the value will maximize the investment in software development and improve overall user satisfaction.
To focus on the 20% of Features that give the most value, you need to validate early. So instead of coding and then getting feedback from stakeholders, validation should be upfront in the project and follow Lean best practices, meaning performed with as little waste as possible. The Lean concept of Minimum Viable Product (MVP) is perfect for cost-effective product validation. The MVP is that version of a new product or service which allows a team to collect the maximum amount of learning and feedback with the least amount of effort required. MVPs help the project team to identify and focus on the issues and features that are important to customers before developing a fully working solution.
According to Eric Ries in his presentation on the “Minimal Viable Product,” there are several useful techniques for creating a MVP so that the team can prioritize and eliminate the Features and functions that provide little or no value to customers:
- Smoke Testing—Determine whether users would actually pay for a product or service before developing it by creating landing pages where users can pre-order. Then, use Adwords to attract users to your site. A smoke test is a tried and true marketing technique that measures customer interest in the product or service.
- Search Engine Marketing (SEM)—SEM is a Google innovation in which the advertiser decides how much a user’s click on an advertisement is worth. After setting the amount per day you’re willing to spend, sit back and watch the search engine bring visitors to your website. SEM is a great technique for startups and small businesses who don’t have much of a budget for marketing. Over time, through website optimization (i.e., tweaking landing pages, split-testing the payment system, etc.), those visitors will convert into customers.
- In-product Split-Testing—Create hypotheses about an existing product or service and test your ideas out to determine whether your hypotheses about what customers really want are correct. Split Testing can be used to test out large and small changes, and it’s a good way to get regular feedback and avoid building something nobody wants.
- Paper Prototypes—Draw a basic prototype on paper of how an application interface should work, and walk customers through what it will be like and how it will solve their pain points. Paper prototypes are good for identifying usability issues in software that hasn’t been built yet, meaning the team isn’t wasting time and money developing something that doesn’t work.
- Customer Discovery/Validation—First, discover what customers need and want through various stakeholder engagement methods, such as personas, scenarios, and stakeholder needs. Then, create a repeatable sales roadmap and corroborate your business model with Customer Validation. Validate that you are offering a product that customers want to buy through the process you’ve devised to sell it. When Customer Validation is successful, continue on the roadmap as planned. When it isn’t successful, return to Discovery activities to determine what customers will pay for. Customer Discovery and Validation should be a no-brainer on every product and service, but often gets left out or done poorly, resulting in unsuccessful projects.
- Removing Features—Remove unnecessary Features and focus on the single value proposition that outweighs all others. This is a good technique for new product development. When early users adopt your solution because of how awesomely you executed that value proposition, you’ll have the chance to add those Features and wow them again later. Removing Features can also be a useful technique for existing products and services when certain Features do nothing for user engagement or revenue.
The benefits of using this approach are quickly evident when the organization starts to receive value early in the project cycle. Using code to validate ideas is very expensive, but there are cheap methods available. Better, more cost-effective validation practices will eliminate working on Features that provide little or no value.