Modern Product Culture


Product culture and mindset is one of the most important shifts enterprise companies need to go through. Project mindset has several flaws and yet we still follow it and thats need to change.  Project culture makes us focus on the wrong outcome like Dates, Escope, Feature, Cost instead of value and User Obsession. Since 2014 I follow Allan kelly work and read his books and saw several of his videos. I also exchange some emails with him back on the days. I was amazed how makes sense to back into 2014. Even almost 5 years passed and companies still don't get it. There are other movements that push to the same direction as NoEstimates, Beyond BudgetOKRs, Modern AgileLeanStartUp. All these movements / Books have great synergy and they basically make you thing software development in a completely different way.


Discovery The Missing Discipline

Build a product requires discovery, we need to feature wat the user want if we can make that a business. Discovery is super hard and PMF(product-market-fit) is something 80% of the founders fail todo. If you might think, this is impossible, well for sure it's not easy. However, we don't have many options besides inherit a monopoly, finding oil in our backyard, winning on the loto. Projects create an extreme simplification of the problem. Just build software and users will come, you will be successful. We know thats not true however we still blindly build a feature like there is no tomorrow without evidence of real value on the business investment. Skipping discovery is not the solution.

Why discovery is so hard? Well because build products that don't suck its super hard. Involves business knowledge, Ux, Technology great execution. It's like winning a football world cup, where you invest the game and convince people to go to the stadium that doesn't exist, not an easy task at all. The right mindset is assuming that we don't have the answers and we need to discover it.

Customer Obsession & Experiments

Customer Obsession(the amazon way) it's the only way. It's impossible to build great products without understanding the problem(the problem that your product solves) with perfect match to the user. Sometimes companies know the users very well but they don't know how to turn that into a business. Saying the word "business" does not make you capable of creating the business, that is another super hard thing which requires specific domain knowledge and extremely hard work. Since customer obsession is not enought we need to introduce new practices called Experiments. Experiments are not new at all, they are in the heart of Agile, Lean and Lean Startup.

An experiment is an MVP. The reason why I don't like to use the word MVP it's because MVP got attached to the wrong ideas. Experiment means, let's test some assumptions and see what happens, we might need several other experiments, sounds like science right? Well, it should be because of thats the only way.

Hold on, If my awesome BA or UX tell me they have the answer? Or even better if we adopt SAFE or any other extreme complicated scaled agile solution? Well looks like, in that case, you will have lots of waste and little benefit, also you will be focusing on the wrong thing like PROCESS and therefore you should be focusing on understanding the user and the market.  That sounds very scary, but this is the REALITY, there is no easy answer.

Dual Track Agile

Dual-track agile it's not a silver bullet. However, it promotes some good practices like making sure discovery happens. I worked with engineers so long with so many companies that I can tell you 100% for sure when you have discovery and delivery on the same *Sprint* you end up not doing proper discovery because delivery eats discovery for breakfast.

Doing discovery does not mean you will succeed. However, putting a stop in other bad practices like being 100% spec driven, just worried about dates, not paying technical debts and HOPE everything is gonna be ok. Like Google said in SRE books several times: "Hope is not a Strategy". Discovery does not make you an expert in your user from the day to the might, discovery doesn't allow you to understand modern architecture from day to night, discovery doesn't make you obsessed with the user from day to night, however if done properly the discovery track enforce some good mindsets on you and as outcome you tend to have less waste and more benefit.

In a nutshell, discovery is a learning process where you discard bad things before you throw to developers and where you double down on great outcomes and focus on faster delivery for your users.

The New Mindsets

In order to work with companies, we need to learn new skills and totally new mindsets. The underrated mindsets that you must learn are:

  • Anti-Fragility: Famous DevOps Concept - mistakes are fine: In an agile word(Fail Fast). 
  • Learn Effectively: In lean world(avoid waste and maximize ownership).
  • Learn how to deal with Complexity: Stop thinking about simple linear systems.
  • Leadership, not Requirements: Modern PO|BA|BO|PM need to lead not throw specs. 


The Deck

Here is a deck with more on this subject.



cheers,
Diego Pacheco

Popular posts from this blog

Kafka Streams with Java 15

Rust and Java Interoperability

HMAC in Java