RX2 development report

During the last several weeks the Luxcore team has conducted numerous stress-tests and optimizations for our upcoming RX2 algorithm implementation. For complete transparency, below are the results…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Things I Learned About Agile Transformations While Cooking Risotto

Have you ever gone through an Agile transformation where the Development Teams were doing their part, but Product Management and the rest of the Business kept holding to their old ways? Many see Agile as just implementing and running Scrum ceremonies. Instead of the Business being part of the process, it stays outside as a separate entity.

The Business owns the Why, which it keeps mostly to itself. It also owns the What, which it hands over to the Dev. And the Dev owns the How, which it keeps mostly to itself. The interaction from the Business to the Dev is done through shopping lists full of feature requests.

What’s wrong with handing over shopping lists?

I’m one of those people walking down the supermarket aisle with a shopping list, and I get small moments of gratification each time that I tick an item off the list. I usually know where everything is, and things go quite smoothly but every now and then I get an unfamiliar item on the list. The other night I had “Arborio rice” which I couldn’t find, so I ended up getting another type of rice. I was pretty happy with myself until I got home.

“Why did you get a Basmati rice? I specifically asked for Arborio rice,” my partner exclaimed.
To which I replied, “What’s the matter? I couldn’t find that Berborio rice so I brought this one instead.”
“But I’m making a risotto tonight, and it’s called Arborio.”
“Can’t you make a risotto with Basmati rice? It is rice after all”.
I couldn’t be more wrong, and I got the “how can you be so dumb” look from my partner.
“No, Basmati has a strong taste, and it wouldn’t give the same creamy texture needed for risotto. If you want to eat risotto tonight, you better go back to the shops”.

Why are we happy to hand shopping lists to our development teams and then be surprised when we get a Biryani for dinner instead of a Risotto?

A shopping list simplifies the interaction and creates a clear gameplan. It lets you focus on the doing, your area of expertise which you were hired for without getting bogged down in unimportant details such as “What dish are we cooking tonight?”, “Who is going to eat it?” and “What would be their experience?”.

The thing is that in software development, not only do we give shopping lists to our development teams to fetch the ingredients, we also expect them to make the dish. This could work if we are producing something known and predictable, like a dish that has been done for years, such a … risotto. We can write down the required ingredients and the exact recipe, and with someone paying attention to details (unlike myself), and a skilled and experienced chef (again unlike myself), we should make a creamy and delicious risotto.

The problem is that there is nothing predictable in developing software and delivering products. It’s like trying to invent a new dish that has never been done before, and halfway through cooking, we change the ingredients, and we also need to figure out how to operate a brand new stove.

And yet many organizations are still happy to give shopping lists to their development teams with minimal business context and minimal business say. To make sure that the teams will deliver the right thing, the Business accompanies the list with an elaborate requirements document: “The dish must be creamy but not too thick.” “The grains shall be adequately smooth. Not too rough, but not too soft either.” The team will be cooking the dish according to the requirements, but oblivious to the fact that they’re actually making risotto.

And how will the development teams assess that they’re making the right dish? They will do so by testing what is known to them, which is the requirements document. They will come up with elaborate tests to verify that the dish is creamy and that the grains are acceptably smooth.

The Business people will look at the dish, and they won’t be happy with what they’re seeing which looks nothing like the risotto they had in mind. They will give the “how can you be some dumb” look to their development teams. Next, a blame game will start: Has the Business written the requirements precisely? Have the development teams interpreted and implemented them correctly?

In all this process, the Dev and Business would fail to do one crucial test. Anybody cooking knows that the ultimate test of a dish is… tasting. “Does it taste any good?” “Did I put enough salt?” “ Is it too spicy?”
Yet many organizations do not “taste” their products until it is released to the market. Then there is a big surprise when people don’t like the product or simply ignore it.

So how can we avoid this spiral road downhill?

Let’s break down the silos between Business and Development. For Agile to properly work, the Business and Dev need to work together as one cohesive team.

Development Teams can be very productive, but if they don’t work closely with the business, they’re not being effective. They just keep delivering features that nobody likes or wants.

In many Agile teams, I see what I call proxy Product Owners. They get shopping lists from the Business, and they need to constantly validate and ask for approval for any decision they make. Genuine Product Owners thoroughly understand the business, seek constant feedback from stakeholders and customers, and are empowered to make decisions.

Great Product Owners do not keep all the business context and decisions to themselves, but they share it with the team constantly. Otherwise, we haven’t really broken the silos. We just moved them to within the Agile team. Every member of the team should have empathy towards their target customers. They should understand how their own work contributes to achieving the customers’ and their organization’s goals.

Great Agile teams do not only test their product against acceptance criteria or any other form of requirements but they also “taste” their products. And they do it early and often. They build prototypes and MVPs, give them to their customers, and watch them use it. Then they use what they learned to adjust their products.

So, next time you’re making risotto, don’t just send your partner to the shops with a shopping list. Make a list together. Sit down with them, tell them who is coming for dinner, and what you’re planning to make. And most importantly, while cooking let them taste the risotto. I’m sure they’ll be very pleased with that.

Add a comment

Related posts:

Que nem uma manga verde

Acho que sou uma pessoa reflexiva. Às vezes me pego pensando demais e até ficando mal com as conclusões das minhas viagens (quando, se quer, encontro conclusões). Você já deve ter ouvido falar que é…

The Problem With Projecting

Bad communication and projection caused a problem in my marriage.

Choosing Coffee Bean and Tea Leaf Caffeine Content

Caffeine can come from various sources, but that doesn’t mean that you need to be limited to them. It is a substance that is naturally produced by many different plants as a form of defense…