Transformed – Personal Reflection Part #3: Product Discovery
In part #1, I shared my personal reflections on the principles of product teams. In part #2, I discussed my thoughts on the principles of product strategy. In part #3, I will share my insights on the principles of product discovery.
I believe that product discovery is often the weakest area in many product teams because they lack the proper mechanisms to consistently present their ideas to real users and customers early and frequently. Based on decades of data, it clearly shows that the majority of solutions built in IT model (generally 70 to 90 percent) end up not delivering the necessary business results.
Product Model Principles
I listed 15 principles where I have strong examples to demonstrate real-world experience. This is not an exhausting list of principles, if you wish to know more, please check out Marty Cagan's book. I will post 5 articles to cover all 15 principles and my personal reflections.
Product teams
#1: Principle: Empowered with Problems to Solve
#2: Principle: Outcomes over Output
#3: Principle: Sense of Ownership
#4: Principle: Collaboration
Product strategy
#5: Principle: Focus
#6: Principle: Transparency
#7: Principle: Placing Bets
Product Discovery
#8: Principle: Assess Product Risks
#9: Principle: Test Ideas Responsibly
Product Delivery
#10: Principle: Small, Frequent, Uncoupled Releases
#11: Principle: Deployment Infrastructure
Product Culture
#12: Principle: Principles over Process
#13: Principle: Trust over Control
#14: Principle: Innovation over Predictability
#15: Principle: The company cares about what the leader cares about
#8: Product Discovery Principle: Assess Product Risks
As an engineering executive, I am deeply involved in the selection, evaluation, and approval of tools. Despite the common understanding that DevOps challenges are driven by people (50%), process (40%), and technology/tool (10%), we often overlook that deciding on technology and tools primarily involves people and process. Here are a few critical considerations:
These are organizational questions that need to be addressed. However, the most crucial questions often overlooked are whether the new tool is valuable, usable, feasible, viable, and ethical for us to use. This consideration isn't just about the product we are building; it's also about the tools we are buying. Whether the tool is part of the product ("cookie") or the product development process ("cookie machine"), its implementation has significant implications. Even if it is just part of the cookie machine, the way the tool is integrated greatly impacts people and processes, more so than technology.
Case Study in a Tool's Evaluation
Here's an example from my organization. I've removed some sensitive data, but the overall message remains unchanged. This email was sent when the tool was ready for legal approval.
What I realized, even with top-notch engineering principals I recruited from leading high-tech companies, is that brilliant technologists often lack a framework to assess risks effectively. This is where Cagan’s Product Discovery questions become so profound and simple to use.
Here was my email:
“Thank you for your dedication and hard work on this tool evaluation. However, I had my observation as we discussed today.
I always appreciate Jeff Bezos’s thinking in making decisions: He’s always thinking three years out and only makes a few good decisions a day. Bezos only makes a few decisions a day. 'As a senior executive, what do you really get paid to do? You get paid to make a small number of high-quality decisions,' he said.
As far as the decision goes for XYZ, I asked the following questions that need to be asked, and evaluated so we know we have done our homework with confidence.
#1: Viability. Will XYZ still be around in 2 years? What if they go out of business, and what is the impact on us? Given this vendor has only SaaS version.
For example: What impressed investors the most were two facts about Facebook’s early growth.
Here is the data on XYZ:
We have to answer this question with a backup plan or a roll-forward plan. It is too risky not to have an answer.
#2: Meeting with Vendor is a must-have.
For all products we evaluate, we must meet with vendors and key stakeholders to ask questions and understand their future plans. These meetings expose a lot of information that shapes our confidence, trust, and perception. None of us have met with this vendor. For the most well-established vendors, we still scheduled 7-8 technical deep dive sessions with their technical architects and engineers.
#3: SaaS vendor must-ask questions: data center location, DR details, SOC compliance, etc. XYZ is based in Europe, what about the GDPR requirements.
#4: QA team should lead this initiative:
Ideally, the QA team should lead this initiative as it is test related. The QA team is a more natural party to lead this, even though you can be the strategist behind the scenes. The QA team can engage with current users and development leaders to systematically gather their operational data, requirements, and training needs. When working with vendors, we also need to consider services and support needs, including training. Vendors are often better equipped to provide basic training at scale. I don't think this has been discussed yet.
Recommended by LinkedIn
#5: Do they have any community presence in GitHub for XYZ?
Community is one of the most important aspects in today’s software work. A well-run community demonstrates strong leadership in vision, mission, and strategy. Here is what I typically do when evaluating open-source tools.
Evaluation criteria for DevOps Tools:
With those concerns, I don’t recommend moving forward at this point with legal and procurement till we have more confidence and supporting data.”
In the end, we collectively agreed that this tool wasn't suitable for us even though it was valuable, usable and feasible with validation from a PoC, but it is not viable, as a result, we decided to cancel the procurement process.
This became a valuable learning moment for everyone involved. I particularly valued Cagan's straightforward yet impactful Product Discovery questions that brought us all together. This is a cheat sheet I use every day.
#9: Product Discovery Principle: Test Ideas Responsibly
Two-year-long containerization project
As I mentioned previously, when the architecture group or CTO office has unchecked power, and transformation is driven purely by technology and tools within a project-centric model, it inevitably leads to negative outcomes. These include losing market opportunities, allowing competitors to gain market share, business setbacks, and the departure of top talent.
Years ago, I worked for a top-tier software product organization that led the market with its outstanding products. Our annual offsite celebrations were a testament to our success, with high morale, generous gifts, and fantastic dinners.
However, when containerization became a hot trend, the Architecture Group mandated that all product teams transition to containerized environments. This painful two-year process was fraught with technological challenges, and by the end, our containerized products were barely functional. In the fast-paced software industry, two years is a significant amount of time to not focus on customer outcomes and innovation. Our customers became dissatisfied, and our competitors capitalized on our prolonged period of technological transformation.
Meanwhile, as we were grappling with containerization, the shift to cloud computing began. We faced new decisions about which cloud provider to adopt. This added another layer of complexity, preventing product teams from delivering customer outcomes that aligned with our business goals.
The aftermath was dire. The organization underwent numerous reorgs, including changes at the BU CEO level, but these changes did not address the core issues. If the principles in this book had been available then, they could have saved our business. In today's consumer-centric world, technology and architecture-focused transformation alone is insufficient. Customers don't care about the tools you use; they care about how your solution solves their problems. Every day, we must focus on finding solutions that address customer problems while also benefiting our business.
Test ideas responsibly. While containerization is an industry trend, we must prioritize solving customer problems even as we adopt new technologies. Every new technology, despite its promising benefits, comes with its own set of challenges. Often, a technology's biggest strengths can also be its biggest weaknesses. If we focus only on the strengths and ignore the weaknesses, the consequences can be severe.
GitOps Model
Nearly three years ago, one of my major customers approached us for assistance in deploying a GitOps model. The sponsors were the company’s Platform Engineering VP and the Chief Architect of the Global Architecture Group. Having read some books and attended industry presentations, they were convinced that GitOps model was the silver bullet that could solve their problems and deliver business results.
What is GitOps?
GitOps is a way of implementing Continuous Deployment for cloud native applications. It focuses on a developer-centric experience when operating infrastructure, by using tools developers are already familiar with, such as Git, Infrastructure as Code, and Continuous Integration. The core idea of GitOps is having a Git repository that contains declarative descriptions of the infrastructure currently desired in the target environment and an automated process to make the environment match the described state in the repository. If you want to deploy a new application or update an existing one, you only need to update the repository — an automated process handles everything else. In general, this solution benefits organizations that want the advantages of deploying applications and infrastructure as code, with an audit trail of every change. The solution is especially suitable for highly regulated industries like insurance, banking, and finance.
At the time, our group showcased the GitOps community work in Azure Kubernetes Service (AKS) architecture using Flux as the GitOps operator and controller, Open Policy Agent (OPA) Gatekeeper to enforce policies with a validating admission webhook, and Syncier Security Tower as a GitOps control kit that provides an overview of all AKS clusters and helps manage policies.
During our initial conversation, it became clear that while they aspired to implement GitOps, they weren't ready for such an advanced approach. Their DevOps processes were in disarray: they still had manual build handovers, lacked true Continuous Integration, and had a dysfunctional organizational structure where different teams used disparate processes and tools, making integration manual and cumbersome. They relied on a monolithic system to run their primary business, making automation nearly impossible. Additionally, people were leaving the organization due to the old technology and lack of learning opportunities, so leadership hoped to introduce new technology to excite the team and curb attrition.
We proposed a value stream assessment (free of charge) to gain a comprehensive understanding of their current cultural, organizational, technological, and architectural practices. They invited key leaders from various functions, and what started as a one-hour planned session expanded into 5-6 two-hour sessions, including the final readout. We identified their major challenges, which included:
1) Very waterfall process using SAFe
2) Very limited product discovery effort as mostly decided by architecture team and stakeholders.
3) Requirement management has no single tool and single process; some organizations still use spreadsheet.
4) Monolith systems
5) Huge technical debts
6) Don’t want to release due to Tax session
7) No Continuous Integration
8) No Continuous Delivery and Self Services
9) Weak on Functional and Non-functional testing
10) Security test is at the end of Lifecyle
11) Limited measurement on outcome
12) No full-stack, engineers, security and operations are separate.
In the context of GitOps, we recommended that they at least implement true CI and CD practices within a full-stack model before attempting GitOps. Without these foundations, GitOps would merely be a tool exercise with no real benefits. The customers were very reasonable and logical. After this assessment, two of their engineering leaders acknowledged that their initial belief that GitOps could solve their product delivery problem was naive. Consequently, they agreed to engage in a comprehensive DevOps learning journey to understand best practices, purchasing our DevOps Dojo services. As far as I know, three years later, they have not yet adopted the GitOps model. However, they have made significant progress in fundamental DevOps practices, setting a solid foundation before moving forward.
Like any medicine, while it might solve one problem, it could also have side effects. According to my doctor, anyone who is absolutely certain about something lacks humility; we don't truly understand anything until we use a scientific approach to validate or invalidate our hypothesis.
This chart outlines the basic concepts of GitOps. During our experiments, we encountered some interesting challenges:
Addressing these challenges is crucial for successful GitOps implementation, balancing the benefits with the practical difficulties in both operational and development contexts.
In summary, it is crucial to test ideas responsibly, especially when dealing with new technologies and unproven architectures. Blindly promoting concepts that look good on paper can be dangerous. Architects cannot accurately judge the long-term viability of any architecture until it has been successfully designed, implemented, upgraded, and adapted to inevitable changes. Even then, the architecture must prove resilient under unusual circumstances to be considered truly robust.
Product Delivery Principles
In part #4, I will share my personal reflections on the principles of product delivery.
#10: Principle: Small, Frequent, Uncoupled Releases
#11: Principle: Deployment Infrastructure
Experience life to the fullest
6moRafael Silva thanks for repost it. The article is updated today with an additional gitOps example. Successful transformation is hard to pull off, and it requires tackling the toughest issues and being empathic to listen to different opinions, but often the people involved really don't want to hear it. 😏
Solutions Architect at AVANADE
6mogreat insights!