Architecture Weekly #164 - 29th January 2024
Welcome to the new week! "How do you implement business workflows?". I'm being asked a lot about that. I tried to cover it in my articles, but many people still sought a more prescriptive way. That's why I liked so much the Workflow Pattern introduced by Yves Reynhout. I finally found time to get my hands dirty and try to implement it in TypeScript. I took the Group Checkout domain we modelled in the Implementing Distributed Processes webinar to implement it in TypeScript using the Workflow Pattern. I had much fun with it, transitioning my Saga and Process Managers sample into it, and I also learned new things about the mighty TypeScript types system. I've written my findings in my latest article: Speaking about webinars on the event-driven approach, don’t miss the recording of last week’s webinar about handling event versioning! The benefit of blogging, or other ways of learning in public, is getting feedback on your takes. Last week, I revived the topic from my older article about When Agile is not enough. I got a few nice links back. Let me go through it. What would happen if you wanted to buy a car and a salesman offered you a scooter? Unless you're a nineties Eurodance fan, that wouldn't work for you, aye? The famous pro-Agile drawing is a picture of how we should deliver software. And that's fine if we want to buy a vehicle, and maybe anything moving us from place A to B will be enough. But sometimes we need specific things. I think that fixation on the only way (incremental) is actually anti-agile. You are not always able to do it. If our go/no-go decisions depend on reaching a specific milestone, then delivering something subpar for the sake of iterations will be just a waste of time. It’s great that Henrik Kniberg, author of the drawing, did a follow-up: He wrote:
That’s also quite aligned with the take to replace MVP with RAT: What’s RAT? Riskiest Assumption Tests. Rik Higham wrote:
Indeed, the big risk is that what we built as MVP becomes a product. I don’t fully agree, that we should always decide to do spikes to throw it away. Some clients won’t just accept subpar products. But that’s a risk we should include in our viability considerations. Is our business model worth the risk of building the first version for a long time? Or maybe we should drop that idea. Of course, I intentionally wrote Agile with capital A. I'm a big fan of the Agile approach. In the points above, I'm referring more to dogmatic agility. I'm all for the quick feedback loop and delivering in smaller, manageable batches. But I'm seeing a lot of Agile Evangelists who are just repeating the mantra without giving people enough context. Then we're ending up doing the ceremony instead of really being agile. That also has an impact on our architecture. Pierre Pureur wrote about yet another acronym: MVA: He wrote:
And the acceptable quality is key here. There are many different understandings of what's "minimum viable" for different products, and we should embrace that. We should work with the clients and then shape the plan instead of focusing on the ceremony of incremental partial products. That’s also an essential part of modernising our systems. It’s not only about building new things. The process looks quite close when we’re starting the initiative to change legacy systems. We need to plan and shape the idea and make the first modernisation effort to get buy-in for it. How to tackle that? See more on the team aspects of it:
Still, as Mike Tyson said:
Enough about planning for today; let’s go to execution! What can be better than case studies? Midjourney is a GenAI tool for generating images. Well, I’m sure you know it. They’re using Discord as their UI to interact and instruct tools on what you’d like to get generated. That creates an intriguing challenge for Discord, as Midjourney's popularity caused them to handle over a million users on a single server. How did they deal with it? Read their coverage! What about deployment? Would you like to decrease your spending on the cloud by 100 000$? That’d surely mean that you first need to spend more than that, but that’s what Fathom Analytics did. Here’s the list of their savings per year:
Plus, some other small stuff. Read more in their article, it’s a nice assessment to consider also for your spending. Now data processing on the scale, Cloudfront provided the lessons learned from using Kafka. As always, from Cloudflare, it’s a practical and interesting coverage. Not many companies are handling processing on such a scale and performance requirements. See also a great coverage from Gwen Shapira on Serverless Databases. So tools like Aurora, Dynamo, etc. It’s worth knowing how they work before signing for them instead of the traditional approach Check also other links! Cheers! p.s. I invite you to join the paid version of Architecture Weekly. It already contains the exclusive Discord channel for subscribers (and my GitHub sponsors), monthly webinars, etc. It is a vibrant space for knowledge sharing. Don’t wait to be a part of it! p.s.2. Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, and putting pressure on your local government or companies. You can also support Ukraine by donating, e.g. to the Ukraine humanitarian organisation, Ambulances for Ukraine or Red Cross. Architecture
DevOpsDatabases
AI.NET
Node.jsProduct DesignManagement
IndustryYou're currently a free subscriber to Architecture Weekly. For the full experience, upgrade your subscription. |
Older messages
Webinar #16 - Simple patterns for events schema versioning
Friday, January 26, 2024
Watch now | Events schema versioning, or in other words, events evolution, is one of the first questions I get when explaining Event Sourcing. The topic may look scary, as how to evolve data that, by
Architecture Weekly #163 - 22nd January 2024
Monday, January 22, 2024
Today, we discussed the evolution. Not humankind but our data models and architecture. We found actionable guidance on how DDD techniques can help with that. We had a look at the Slack migration to
Architecture Weekly #162 - 15th January 2024
Monday, January 15, 2024
We started with getting back to Leslie Lamport's works, Cynefin and added Wardley Mapping to the game. We discussed how to and how to not think about our decisions and strategy. Also for product
Architecture Weekly #161 - 8th January 2024
Monday, January 8, 2024
Welcome to the new week! We started today with big words like Complexity and followed them with even smarter-sounding words like Cynefin and TLA+. We explained why those decision-making frameworks are
Architecture Weekly #160 - 1st January 2024
Monday, January 1, 2024
First day of the New Year, and the first edition! This time, we're reflecting on the state of our industry and starting with the Reuters report about Tesla's weak quality practices. We're
You Might Also Like
Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator
Friday, February 14, 2025
What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Defining Your Paranoia Level: Navigating Change Without the Overkill
Friday, February 14, 2025
We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy
5 ways AI can help with taxes 🪄
Friday, February 14, 2025
Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help
Recurring Automations + Secret Updates
Friday, February 14, 2025
Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
The First Provable AI-Proof Game: Introducing Butterfly Wings 4
Friday, February 14, 2025
Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%
GCP Newsletter #437
Friday, February 14, 2025
Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers
Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰
Friday, February 14, 2025
Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from
The Great Social Media Diaspora & Tapestry is here
Friday, February 14, 2025
Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great
Daily Coding Problem: Problem #1689 [Medium]
Friday, February 14, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,
📧 Stop Conflating CQRS and MediatR
Friday, February 14, 2025
Stop Conflating CQRS and MediatR Read on: my website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your