In today’s fast-paced world, for organizations to remain competitive, agility has become inevitable for faster implementation of software and updates. So, there is no surprise why ‘Agile methodology’ has become a buzz word in the software development world. As a product manager, there is no way you can overlook Agile development, in the current scenario where you have to respond quickly to customer needs.
Why Agile Product Development?
Being more efficient and delivering what customers really want is what the agile development approach assures you. Switching to Agile product development and rapid releases let you explore, experiment with, and test your product features faster. Agile product development is a more collaborative development process that lets you run an efficient high output team.
The agile methodology, in fact, gained popularity owing to the predicaments with the frustrating and tedious long development cycles of the traditional waterfall model. This traditional system lacked flexibility and was not competent in meeting the needs of fast-changing business needs. The ability to be agile, adapting quickly and responding fast to the ever-changing dynamic demands is imperative to modern software development and delivery and agile methodology promise all these.
Unlocking Agility with Agile Product Development and Rapid Releases?
Agile development emphasizes rapid building and frequent delivery of software with continual user involvement. With agile development methodologies, development focuses on short iterations in which modules of the complex product are developed, and each iteration produces a ready to ship the product which is usable by the end-user. This incremental and iterative approach of agile with rapid release cycles allows you to learn from the real-world usage and use the feedback from customers to improve the product.
The approach of rapid releases with incremental features also minimizes the risk involved as you are performing small experiments that can be market-tested and measured early and often during the entire project.
There are many agile methodologies like Kanban, Scrum, Lean software development, etc. All of these follow the same philosophy of incremental and iterative development that can adapt to change.
How agile development and rapid release help deploy a better product faster?
A good product is what satisfies the customers. As a product manager, your decisions should always be customer-driven. But sadly customer needs and desires change, often rapidly- could be due to many reasons like new technologies and platforms evolve ever now and then these days, new competitors may have entered the market with improved offerings, and so on. Ironically, with regard to customer needs, change is the only constant.
We must learn what customers really want, not what they say they want, not what we think they should want. We must discover whether we are on a path that will lead to growing a sustainable business.
That’s where an agile approach becomes your best bet to develop better products that satisfy your customer’s needs.
Two key aspects of agile product management are- release a product incrementally and take an experimental approach.
- Release incrementally and more often: Releasing products incrementally implies releasing a subset of the features of the product in every iteration or release and release more often (rapidly). Rapid releases are the best way to create products that simply deliver the actual features your users need the most. Wondering how? Well, releasing smaller increments more often enables you to reduce the feedback cycle with customers, which enables you to learn quickly and react to customer needs.
Thus, in a rapid release environment, you and your team are constantly forced to get your product with feature ideas into the real world, and this gives you an opportunity to gather feedback from the real world and deliver what matters to your customers most based on their feedback and leave the nice to have features stay in the backlog.
- Taking an experimental approach to releasing- One of the biggest challenges in product development is knowing what customers really need. The worst part being, there is no hard-fast rule to find a perfect solution for their problems as people often don’t know what they want, struggling to say what they want and often change their minds. So, as a product manager, you need to go beyond asking the customers their requirements to identify what they really want. A modern approach to this is by adopting an exploratory lifecycle for product development and creating Minimum Viable Products (MVPs).
The exploratory life cycle for product development and release and Minimum Viable Products (MVP)
This approach of the exploratory lifecycle is a proven tactic that can really help you release better products that actually meet customer needs. It is based on the Lean startup principle proposed by Eric Ries in his best-seller.
The fundamental of this principle is the Build-Measure-Learn feedback loop.
This approach minimizes upfront investment in building complex solutions, in favor of smaller experiments, rolled out progressively, that can be market-tested and measured early and often by releasing to actual customers. Thus, the approach gives you and development teams the opportunity to optimize the solution based on feedback from actual usage, as the solution is being developed itself, thus enabling you to deliver what is truly required.
Now, let’s take a look at how the entire life cycle works.
- Explore on what your customer wants- You probably would have to do some brainstorming sessions within the team and come up with product ideas or features that your customers need.
- Build a little, the Minimum Viable Product- A minimum viable product is a version of your product created with the least effort possible and that can be used to test your hypothesis. MVPs are closer to prototypes but are a real running version of your end product with minimum features that you want to be tested. They help you find the features that customers are actually interested in. Your goal here is to build and make something available very quickly so that you can test how it works and how it is received by your customers.
- Deploy your MVP- When your MVP is ready it can be deployed to an environment where you can test how people interact with your product. You can opt to deploy your MVP to a subset of your actual users, like an alpha or beta release, so that you can observe how interested they are with your solution and how they interact with it.
- Observe and Measure- By testing each MVP, you need to identify what aspects of it really interest users, if any. For this, you may have to measure various factors like for example, see how often a screen or page is accessed, how often your users invoke a functionality, which leads to more sales, and so on, in fact, whatever is important to you. This allows you to understand how well the new functionality is received by your users. Functionalities that are well-received tell that your existing strategy is successful and you may continue with it and go ahead with more functionality. But, if your functionality wasn’t well-received you should choose to pivot and look in another direction and come up with new strategies.
- Productize MVPs- After several iterations of building MVPs, and identifying functionality that will be successful, you can release your minimal product.
MVP vs MMF vs MMR/MMP
There are more minimal product terms apart from minimal viable product and in fact, there is a lot of confusion in the use of these terms as they are quite similar. Very often, people say MVP when they are really talking about a Minimal Marketable Feature (MMF), a Minimal Marketable Product (MMP) or even a Minimal Marketable Release (MMR). So, let’s take a look at these terms as well.
Minimal Marketable Feature(MMF)- A minimal set of functions that brings value to the users and organization delivering it. A MMF becomes a part of MMR or MMP.
Minimal Marketable Product (MMP)/ Minimal Marketable Release (MMR)- The terms MMR and MMP are often used interchangeably. Successful products are released incrementally to the market and each release is called an MMR. A minimum marketable release is the release of your product with the smallest feature set that addresses the current needs of your customers. The first deployment of a minimal marketable release(MMR) is often called the Minimal Marketable Product (MMP).
The figure below shows the relationship between MVP, MMF, MMR, and MMP.
Adopting the exploratory lifecycle and the progressive roll-out approach, wherein you release the same product in smaller forms, in staged intervals to user groups let you break up the “big bang” release into smaller chunks and benefit from the learning after each release to improve your final product. This approach solves a lot of challenges you may encounter during rapid releases with benefits like Minimal risks,
easier to control, focus on code quality, and readiness to deploy ensuring it is properly lined up to deliver rapidly.
Role of a Product Manager in agile development and Rapid Releases
As a product manager, you have a strategic key role in an agile development environment. You should be focused on the long term vision for the product, and keep observing trends in the market, identifying opportunities that can be supported by the product, and ensure the product meets the needs of the customers. You would need to work with customers and the company leadership to define the product direction and creating the product road map that communicates the product direction to all stakeholders.
In an agile environment, your role as a product manager is to make sure you are doing your job and communicate effectively to the development teams on what is to be built next. In addition, as a product manager, you should also involve in tactical activities related to the product in marketing, sales and product support.
In some organizations, it is not uncommon that product managers to take on the role of Product Owner as well. In fact, a product manager role overlaps with product owner role most f the time. However, a Product owner is the one who works closely with the delivery teams to ensure they build the right functionality in a timely manner. A product owner is the one who transforms the ideas and visions of a product manager to detailed requirements and works with development teams to clarify user stories, specifications and manages the backlog.
As a product manager/product owner, you have a key role to play in agile development. With some intentional planning and shift in focus to agile product development using the right strategies, you can easily adapt to progressive rollouts of MMRs and benefit from the rapid releases.