1/ I'm doing some reflection on how #DDD can help you spot a Platform as a Product Team from @TeamTopologies wrongly applied
2/ Indeed, I think we created a Platform Team because the intention was to reduce cognitive load on teams on a specific part.
BUT, on the recent learnings, we think it might be a Bounded Context by itself, a Supporting Subdomain at least.
3/ This is one of the cases in which using different perspectives to the same problem space helps you find the best team composition.
4/ What helped us identify this scenario has been using Big Picture Event Storming to boost fast learnings about the tribe identifying new _business capabilities.
A missed knowledge about the domain we are working on, and an important one.
5/ What's interesting is that, at first, it seemed to be an effort to reduce cognitive load, it evolved into a supporting business capacity that shares trades of Platform as a Product AND a supporting bounded context. BOTH!
6/ More to be explained when I figure this out!
7/ As always, involving Business and doing some discovery together can help you on learning that sooner when the decision was made.
Yet, we learned about the Business Domain and we understood better the situation.
Identifying Bounded Context is still the challenge
8/ I have been able to identify that we were applying the Platform as Product approach because of Strategic M&M from @VaughnVernon and @tjaskula
In chapter 2 talks about business capabilities, focusing on _What_ business does
@VaughnVernon@tjaskula 9/ It triggered a thought of... we didn't explore beyond the Stream-Aligned Teams Bounded Contexts...
Are we reducing the cognitive load on them... or they are actually developing two different bounded contexts. One _Core_ and the other _Supportive_?
@VaughnVernon@tjaskula 10/ Damn right. Looks like the second team started with the hypothesis of reducing the cognitive load as Platform Team but the reality is that they are just handling the _Supportive Bounded Context_.
I don't know which TT type they are. But looks like they aren't Platform.
11/ My take is:
Platform Team to reduce cognitive load as part of a Bounded Context can hide a Supportive Bounded Context that should be addressed properly.
Here Stream-Aligned Team with Context Mapping can serve better.
Use each approach properly 😄
• • •
Missing some Tweet in this thread? You can try to
force a refresh
1/ I cannot stress enough the importance of junior people in the organization
I'm amazed by how much you learn when working with them. They really show where the organization/team can do better. It can be uncomfortable because they are sharing your weaknesses
2/ Don't think that they should know better to do the job, but why do we create a place where juniors cannot contribute or they have a hard time providing value? What can we do better to help them perform and learn faster?
3/ Juniors help Seniors find their weaknesses, more than seniors helping seniors. Since they show the areas to improve so easily!
- Why take that long to understand this code?
- Why is so hard to do a unit test?
- Why do they get lost in the code structure?
1/ "We expect that anything can happen and we are never prepared for anything"
This sentence resonated a lot with me
Regardless of the risk management, regardless of being adaptative, regardless of how prepared do you think you're, World keeps surprising you
2/ As a manager, your job is to make the teams, product, and business more resilient and adaptative to survive in several situations.
Yet, I never felt that we reached a level where we can say
"We're safe!"
It's not viable.
3/ You manage the areas that are more probable to happen and the impact is higher. Then, you just accept those situations that are outside that scope, to be handled as you can.
1/ We have been debating with some colleagues about the importance of learning about our decisions within the organization, and how the fast rotation of talent that's happening lately is affecting the decision-making outcomes quality.
2/ Here we had the supposition that the feedback cycle between a decision is made and understanding the consequences are long enough. We always thrive for fast feedback loops, yet we acknowledge that that's not always possible.
3/ It's not the same doing TDD within a unit test - feedback cycle of seconds-minutes vs a business decision and go-to-market strategy that can take months.
We are talking about the latter. Where those business learnings are most valuable for the organization
1/ When you start doing project development, you find yourself with tight deadlines, a lot of tradeoffs in quality, and money spend.
You start feeling that you might be doing something wrongly. You feel that you're not delivering business value
Thread 🧵
2/ You learn about Agile, and why deliver working software as soon as possible. You adopt Scrum, but with a project mindset. So, it's a fake Scrum. It's more like a 2 weeks waterfall.
Yet you adopt a very important ceremony important, the Retrospective.
3/ Based on Retrospectives, you start questioning yourself how are you working. Why can we deliver value to the customer? Why aren't we customer-focused?
We have been practicing #NoEstimates for 8 months. Here are some learnings 👇
We started in a legacy code in which the people that created that service left the company some months ago and we needed to deliver some critical features
No business knowledge, no technical knowledge, a mess ahead
Business: Will you be on time?
Me: No clue yet, give me 2 weeks
Should we go for all the work for 2 weeks, analyze the Job to be Done and come back with an estimation?
We had a very tight deadline, 1month and a half to deliver