The Cloud Native Computing Foundation® (CNCF®), which builds sustainable ecosystems for cloud native software, announced the graduation of Argo, which will join other graduated projects such as Kubernetes, Prometheus, and Envoy.
Product roadmaps are a mandatory requirement if one aims to develop a good product. A good product roadmap contains all the important dates, timelines, milestones, and strategic information to help build a product. It can also be interpreted as a GPS for stakeholders, product owners, product managers and the agile team in the course of development and deployment.
While building anything digital, including developing digital content, the makers of the roadmap should incorporate some amount of flexibility into the product roadmap. Especially while working in an agile framework, it is compulsory to have a feedback loop incorporated into the development process. In this blog, I discuss the fundamental differences between agile roadmaps and traditional roadmaps and why agile roadmap is the way to go.
The difference between traditional and agile roadmaps:
■ "This is what we have to build": A team of executives and managers work together for months creating a detailed and documented product roadmap. That detailed document is based on some research and contains all the information which is transferred to the development department. The development team goes through the document and builds whatever was asked and there is no back and forth in the process. The information flows in one direction.
■ Nuclear decision making: Only a few people had the ability to have any kind of say on the roadmap and consequently the product plan. The upper management, stakeholders, directors, and anyone higher up were only allowed to have a say.
■ Static document: Roadmaps which were built in the traditional way did not change at all. Once the product roadmap had all the necessary information and directions for the development team, it was not edited, ever. The reason for this is not that it was perfect, it was so because there were no integrated review cycles. After the initial market research was done, no additional feedback was received during development. Since there is no new information, no change is needed.
■ Releases: When the development starts, no iteration or "version" of the product is seen or checked by the individuals higher up. They(or the intended users) get to see them when the product or software has been released. Based on how that release is received by their target audience, a newer roadmap is planned for the next release.
■ Why it used to work: When traditional or waterfall methods were in operation, not a lot of individuals had computers. Also, getting reviews and feedback was a tedious process because it had to be done manually to some extent. Not a lot of players existed in the field of software development due to which the demands in the market stayed similar for a long time.
■ Collective decision making: All the members in the cross-functional agile team have a say on what needs to be done next. The prioritization of tasks and the decision on which user story to work on is done together. It is not the responsibility of one person or a group of selected individuals to make strategic and tactical decisions.
■ Dynamic: A roadmap that is made with the principles of agile keeps on evolving and changing with time. The reason is simple. New information and discoveries are always being made and it affects the priorities. Although the vision and strategic goal of the organization or company remains the same, an agile roadmap does not. In many cases, an agile roadmap is not the same as it was at the conception.
■ Sprints: Instead of releases, agile teams work in sprints. In each sprint, a few user stories are taken into consideration and are completed. Upon completion, that iteration of the product/software/content is sent out for feedback which directs the next sprints. Sprints can last from weeks to months with more preference given to shorter time frames because it leads to more review cycles and usability and user acceptance can be easily measured. Agile also delivers the product in multiple iterations which makes it more preferable because there is less risk involved.
■ Why agile is the way to go: Presently, the internet has become a common commodity. Almost all of the information that we get, we get directly or indirectly from the internet. The trends, demands, and availability are volatile and frequent review cycles or market research have to be done to stay ahead of the curve. Moreover, there are a lot of competitors under any vertical which makes it more challenging to stick to a long term, static product roadmap. A roadmap needs to have the ability to incorporate new changes based on new information and agile provides just that. Finally, agile encourages asking questions and avoids concentration of power with a few individuals which helps all the team members work together.
Traditional roadmaps have outlived their utility since quite some time. Presently, in the age of information, it is crucial to have a plan at hand which can help you pivot if necessary. If a team is developing a product with a static roadmap but before their release the requirements have changed, it will be a significant loss. There needs to be a dynamic product roadmap which can help the development team make good data-driven decisions.
An agile roadmap is capable of incorporating new demands and requirements of the customers and stakeholders. Also the direction of the development can be changed based on new information obtained from market research. In the next part, we will discuss how to create a proper agile product roadmap, what are the key elements to focus on and what information it should convey.