Marcelo Chiaradia @Marce_Chiaradia
Nuremberg, Germany Joined February 2021-
Tweets233
-
Followers37
-
Following178
-
Likes478
Refactoring isn’t optional. I hear teams talk about "refactoring sprints" or treating it as a luxury. That’s completely backwards. 1/6
It's interesting how people insist on writing tests after the implementation to lock down the implementation, and then complain that writing tests locks down the implementation, making it hard to change.
I discussed this in the book Clean Architecture. Business rules are divided into two species. Entities are pure business rules that don’t know what application they are executing in. Use cases are application specific business rules. Transactions are application specific and are mediated by the use cases. The entities, know nothing about transactions.
A user story (the user's story) provides value _only_ if it makes the user's work go better in the domain. Period. That doesn't mean you don't need to do overhead work occasionally, but that is _not_ value-add work, and if you spend too much time on it, you'll start losing customers. Delivering value is entirely about our customers getting _their_ work done. It is entirely about giving customers a reason to buy our product. Nobody will buy our product because the database is organized better. They buy our product because it helps them get _their_ work done. It's about making their lives easier. That's why Agile focuses on customer value: to assure that we're building something somebody will buy. So, vis-a-vis stories, if nobody will ever log in to the system to do whatever work the story describes, then that thing (I hesitate to call it a _user_ story) has no customer value. It's overhead. And as I said earlier, overhead work may be necessary, but it does NOT add customer value, so it needs to be managed carefully. Also, customer value is _direct_ customer value. The argument that refactoring the code provides value because changes are easier is fundamentally wrong. That's not to say that the overhead work of refactoring isn't both essential and mandatory, but it is not value-added work. It's necessary overhead. To be honest, much of this confusion comes from Jira, which calls its tickets "stories." A ticket is not a user story. A ticket describes your work, not your users'. Scrum is also at fault. Scrum talks about PBIs, not stories. A PBI is indeed any random bit of work, but to me, putting a non-story PBI onto the backlog is a dangerous practice that leads to delivering no real value at all for extended periods. Calling all PBIs "stories" is ignorant at worst and misguided at best.
This 👇 is exactly correct. "User Story" is not a code word for a developer task or some random bit of work. It is literally the user's story. It describes their work, not yours. It identifies domain-level problems that need to be solved. The entire point of using the user's story is to guarantee that we are continuously adding _user_ value to the system. Logging in is NOT a domain-level problem. It is not work (in the domain) that your user performs. Therefore, it is not a story. Your user logs in to do something else. That "something else" is the story. So, yes, if you need a login, you add it as an adjunct to implementing a real story. However, like everything else agile, you would NOT do that as a vast pull-out-the-stops, every-bell-and-whistle login system. You'd implement exactly enough that you can move the work forward. That might mean delegating the entire thing to Google or to httpd. You can then incrementally refine the login capability over time if another story requires it. If you have 10 users, you don't need much of a login. As you acquire more, adapt the system to accommodate.
@alexbunardzic @unclebobmartin @allenholub @jeremdow @AGYAN01 So you implement the login while also implementing the "View Orders" story?
When coding or designing, starting with a framework strikes me as putting the cart before the horse. Create the logical architecture first, then pick frameworks that help you realize that specific architecture. Even then, there's a significant risk of the framework introducing accidental complexity that can significantly increase build and maintenance time. You want exactly as much architecture/code as you need to get the work done. Frameworks often introduce complexity to support a general case that you do not have and often don't do something essential, which requires considerable extra complexity to work around.
To me, it's a sign of cultural dysfunction if a "junior" dev is forced to work alone in isolation, thereby requiring that their work be "checked" by some "senior." After-the-fact checking adds dependencies and delays and don't really work when compared to a culture of quality executed collaboratively. Just because PRs work in a zero-trust isolated-individual-worker open-source environment doesn't mean that it makes sense in any other context.
I chased a bug in a new feature yesterday. It's been a while since I had to fix a problem that escaped TDD. My tests were thorough, I thought, but my implementation had a flaw that I only saw in my manual UI testing. (It turned out to be a pre-optimization.) Finding the cause took a couple hours, a head clearing nap, and some experimentation. It's been months or longer since I had to chase a problem for more than a couple minutes. I make mistakes all the time while programming. They would be most easily counted in mistakes per minute. (In life I make mistakes too, that's a human thing.) The small steps of TDD, and its cause and effect feedback loop, usually put the mistakes in my face. In my 20 years before TDD, I had to find all the mistakes in a much longer and troublesome feedback loop. I call that Debug Later Programming. You write some code and debug it later. (You can read my comparison of TDD and DLP here: blog.wingman-sw.com/physics-of-tes…)
I keep hearing people talking bout not having vague requirements, but vague is at the heart of agility. You want things as vague as possible until the last responsible moment. The requirements NOT being vague is a huge red flag, and detailed up-front requirements lead to software that's riddled with bugs of the "nobody needs this" and "this isn't the right way to do it" variety.
TDD. Double. Entry. Bookkeeping. Say everything twice in such a way that the two cross check each other. Would you trust an accountant who smirked at that idea? If not, why would you hire a programmer who did?
I just cannot understand all the sturm und drang asociated with shoehorning stuff into a Sprint. All that estimation and other nonsense is a collossal waste of time. Just work on the most valuable (to the user) thing. When you're done with that, work on the next most-valuable thing. How hard is that?
– We don't write tests. – Why? – Because we don’t have time for it. – Why? – Because there is too much work and pressure. – Why? – Because we don’t move fast enough. – Why? – Because changing software has become difficult and risky. – Why? – Because we don’t write tests.
Replacing legacy systems is always a process of drawing a circle around what you're going to replace, then making the replacement better & better. At MO, we work hard to be able to draw small circles, giving us better risk management, building trust, & prioritizing value.
In his latest blog, @KentBeck delves into the nuances of replacing legacy systems. At Mechanical Orchard, our approach prioritizes smaller steps. More than just mitigating risk: it also ensures transparency and builds trust in large-scale projects.
Thinking about architecture: When you know that you will need to change something (but you don't know what), you will go about building in a different way. In other words, the thing you build will be different than it would have been if you weren't thinking about changes. 1/
People conditioned to tolerate spurious test failures ignore significant, real failures. If “some tests always fail,” are we sure it’s only the "bad ones"? Once we learn to ignore the tests, we have negated the value of having tests. buff.ly/30TytGw
I'm noticing on many projects that no one has the time to write tests. They feel pressured for time and refuse to spend even a minute writing tests. And yet, magically, everyone has unlimited time to waste in a debugger! Where is that free time all of a sudden coming from?
@alexbunardzic When it's the very first time it fails (you just wrote it), it's progress.
@alexbunardzic "Our programming problem has been transformed from “give me multi-currency” to “make this test work, and then make the rest of the tests work.” Much simpler. Much smaller scope for fear. We can make this test work."
@alexbunardzic "Failure is progress. Now we have a concrete measure of failure. That’s better than just vaguely knowing we are failing."
Tyrone Abela @MrTyroneAbela
1K Followers 2K Following Dad to 3 amazing kids 🧑🧒🧒Husband to an adorable wife 👩Investment Manager 📈💰Beach lover 🌊🏖☀️F45 Addict 🏎
Thomas Atkinson @Thomas_acko
193 Followers 2K Following Dip TA, CFTe, ADA2 Trading for over 10+ years, using technicals/ fundamentals & strong risk management.
Rob Myers 🍵 禅 �... @agilecoach
6K Followers 1K Following Sadly, this platform has become little more than a cesspool of MAGA ignorance & hatred. Meet me over on BlueSky: find the link in my profile.
Jaden Nitzsche-Herman... @HermannJad29596
16 Followers 371 Following
Pului @Pului1250632
16 Followers 737 Following
Ancyr @ancyrweb
12 Followers 44 Following Freelance Software Engineer & Architect | Follow me for more articles about System Design, Software Engineering, Distributed Systems, Compilers & Algorithms
Oma_UI and UX designe... @BlessingMi66791
904 Followers 2K Following UI/UX Designer helping startups turn complex ideas into simple, usable products Figma • Wireframes • Prototypes Open to opportunities
Dauslur @Dauslur9eBRHzV
6 Followers 277 Following
Күүкэлдэй М... @kuukeldei
1K Followers 1K Following Work: Software developer, Principal engineer. Music: Power metal, Electro & Chillout. Games: EVE online
Peacemaker @hirumaakik1186
118 Followers 7K Following
Luís Soares @lsoares
424 Followers 1K Following software developer 🖥️ 👍🏼 Lean, XP, TDD, pairing, DevOps, CI/CD, trunk-based dev., user-centric dev, domain-centric arch., Kotlin
PearlMorse @mML808oCW1555
71 Followers 7K Following
Brett L. Schuchert @schuchert
1K Followers 2K Following https://t.co/DQBEblaSXS --- Shake | Hum | Abide | GlideKyle Aretae @aretae
132 Followers 420 Following Applied Humilitant Epistemologist Author, Educator, Developer, CTO
Guillermo Santos @gsantosgo
657 Followers 2K Following Ingeniero de Tecnologías de la Información - Information Technology Engineer. Where there's a will, there's a way. UCC 1-308 Sin Perjuicio
Ella @greenella29
235 Followers 3K Following
Mufrid Krilic @mufridk
288 Followers 801 Following Domain-Driven Design Coach and senior software developer. Conference speaker. Enthusiastic First Lego League mentor @[email protected]
Lori @lori55montgomer
202 Followers 3K Following
Thibaud Desodt @tsimbalar
307 Followers 1K Following Software developer & craftsman - TDD enthousiast - perpetual learner - pun addict
Michele Sollecito @sollecitom
279 Followers 658 Following All-around software product improver and do-gooder. I make businesses more effective by focusing on systems thinking and people-centric approaches.
Alex Shamanskiy @herr_shamanskiy
18 Followers 81 Following geometry, simulations, computer graphics and stuff. MSU, @uni_kl, math. software engineer at @SimScale
Ono @Onorato_KH
142 Followers 266 Following 📍 Principal Engineer @ Microsoft | Ex-Apple | Ex-Intel 🚀 Helping engineers grow in tech & leadership 🎯 Coaching | Mentorship | Performance – DM me
Christian Hujer 🇪�... @christianhujer
3K Followers 5K Following Polyglot #XP #Agile #SoftwareCraft #TDD #Refactoring Coach CEO @nelkinda #OpenSource #RightToRepair ☮ #FreeIran 🇪🇺 In varietate concordia
DevTernity Conference @devternity
3K Followers 678 Following Turning developers into architects and engineering leaders since 2015. 📅 Upcoming conference: 7-8 Dec 2023. Online. GMT.
Mob Mentality Show @mob__mentality
4K Followers 5K Following Videocast by @ChristophLucian and Austin Chadwick // all things product development and #agile through a #MobProgramming perspective #モブプロ
Yegor Bugayenko @yegor256
14K Followers 453 Following CTO of https://t.co/a85MFEhzKD; founder of https://t.co/gPKQ7zO0Vi; co-organizer of @iccq_ru and https://t.co/fzudgYCN01.
Rob Myers 🍵 禅 �... @agilecoach
6K Followers 1K Following Sadly, this platform has become little more than a cesspool of MAGA ignorance & hatred. Meet me over on BlueSky: find the link in my profile.
fxevolution @fxevolution
39K Followers 581 Following Our free newsletter. Want in? 👉 https://t.co/LPrpn23XV1 ⚠️ DISCLAIMER: The information in these post is for educational purposes
DER SPIEGEL @derspiegel
3.0M Followers 339 Following Nachrichten, Analysen, Kommentare, Videos, Podcasts: Mehr als 500 SPIEGEL-Journalistinnen und Journalisten decken auf, setzen Themen und sorgen für Kontext.
heute.at @Heute_at
80K Followers 556 Following "Heute" ist die Nummer 1 in Wien & Österreichs erfolgreichste Gratis-Tageszeitung 🇦🇹
Emmanuel Valverde | �... @evrtrabajo
1K Followers 5K Following Working 👨💻 @ 🏡 | 🎗️ Cancer survivor 🦸♂️ | Crafter working @BavelVoxel, ex @codurance_es, ex @_nailted | co-organizer @murciaswcraft | #XP #DDD
EventStorming @eventstorming
2K Followers 105 Following The official twitter account for #EventStorming - Alberto Brandolini aka @ziobrando. Upcoming Events: https://t.co/7Hkg1W0zEt
Jan Giacomelli @jangiacomelli
5K Followers 1K Following Backend Lead @ren_systems Subscribe to the weekly newsletter: https://t.co/uTW7N930V1
Chris James bsky.app/... @quii
3K Followers 772 Following Engineering manager and tippy-tapper. he/him. Wrote learn go with tests https://t.co/yPxqMJtEMF…
Markus Söder @Markus_Soeder
551K Followers 260 Following Offizieller Twitter-Kanal von Markus Söder, Bayerischer Ministerpräsident und @csu-Vorsitzender
Ancyr @ancyrweb
12 Followers 44 Following Freelance Software Engineer & Architect | Follow me for more articles about System Design, Software Engineering, Distributed Systems, Compilers & Algorithms
Tim Kellner @TimKoffiziell
184K Followers 79 Following Ich bin 52 Jahre alt, Deutscher, und habe meinem Land als Soldat und Polizist gedient. Seit vielen Jahren Präsident des BGMC Germany. Deutschland immer zuerst!
Julian Reichelt @jreichelt
492K Followers 2K Following Achtung, Reichelt! | Die Stimme der Mehrheit | Die Revolution der Vernunft https://t.co/RGur5GHNnS
Alice Weidel @Alice_Weidel
1.3M Followers 646 Following Fraktionsvorsitzende der @AfDimBundestag | @AfD-Bundessprecherin
AfD @AfD
473K Followers 934 Following Unterstütze jetzt die #AfD! Teile unsere Inhalte oder unterstütze uns auf anderem Weg. Wie das geht, erfährst Du hier: https://t.co/k12hvME5Tc
Ralf Westphal @ralfw
2K Followers 77 Following Radical Object-Orientation for Clean Code Development. Theory of Constraints FTW. Critical thinking indispensable. Trainer, Author, Speaker, Consultant.
Julien Topçu - Offic... @JulienTopcu
5K Followers 594 Following VP Tech @SHODOioFR, @owasp member 🐝 - International Keynote Speaker 🎙️- Check the banner to follow me on other platforms
Scott Wlaschin @ScottWlaschin
11K Followers 2K Following I believe that solutions emerge from the judicious study of discernible reality. @ScottWlaschin on fosstodon and bsky
Kurrent @kurrent_io
5K Followers 663 Following The Kurrent event-native data platform feeds real-time, business-critical data with historical context in fine-grained streams from origination to destination
Jimmy Bogard is on Bl... @jbogard
43K Followers 2K Following Independent consultant. Creator of AutoMapper and MediatR. Originator of Vertical Slice Architecture. https://t.co/9O8heLDce1
EventModeling @EventModeling
6K Followers 5K Following Event Modeling describes systems for all roles in an organization: workflows, coupling & complexity for estimating, building, scaling, & maintaining.
Extinguished Engineer @ExtinguishedEng
2K Followers 771 Following PCF_LABEL_AWESOME Here for software stuff. Cursed with eternal optimism. I want to make it all better. Make Agile Great Again! Views are my own.
David Bernstein @ToBeAgile
2K Followers 1K Following Software developer and author of Beyond Legacy Code (https://t.co/zujBrHu8t6) and Prompt Engineering for Everyone (https://t.co/FmPoUByBol).
Adam Dymitruk @adymitruk
8K Followers 653 Following @EventModeling author, contributor to scaling #EventSourcing, CEO @AdaptechGroup, OS: @Kubuntu, #linux/#git nerd, YouTube https://t.co/eECLhujh63
Global Software Archi... @gsas_io
2K Followers 2K Following A summit that aims to attract and connect software architecture experts from all over the world. Organized by @apium_hub. 🗓️ OCT 13-15, 2025
Manuel Rivero @trikitrok
1K Followers 609 Following Not all those who wander are lost. he/him @[email protected]
Brian Goetz @BrianGoetz
67K Followers 210 Following Java Language Architect at Oracle. Author, Java Concurrency in Practice (https://t.co/ddAm2rKwpE). Also, cats.
Dr Jordan B Peterson @jordanbpeterson
6.2M Followers 2K Following Best-Selling Author | Clinical Psychologist | #1 Education Podcast | Co-founder of @petersonacademy | Order my new book "We Who Wrestle With God" here:
Jason Gorman @jasongo... @jasongorman
10K Followers 882 Following Of @codemanship. I train and mentor software developers. Placeholder account. You'll find me elsewhere. https://t.co/uMMrlEFTb7 https://t.co/d8MHFEgJad
Asturias Software Cra... @asturiaswcraft
179 Followers 21 Following {ASC} Community. Nuestra misión es generar un punto de encuentro para aprender y estar en comunidad. ✉️ Contacto: [email protected]
Fred George @fgeorge52
3K Followers 17 Following Still writing code after over 50 years, Fred still surfs on the bleeding edge. Never an inventor, Fred enjoys making the new ideas real and useful. Plus chaos!
The Quintessential Gr... @AlienTechGroup
177 Followers 892 Following The quintessential software delivery experts.
Luca Rossi ꩜ @lucaronin
11K Followers 535 Following 💧 Maker of @tolariamd • 📬 Author of https://t.co/mtplxYVm9C • I write weekly about shipping software with AI to 170K+ engineers.
Uwe Friedrichsen @ufried
3K Followers 118 Following Dot Connector. Cartographer of uncharted territory. Keeper of timeless wisdom. Translator between floors. Curious. Introvert. Works at @codecentricKyle Aretae @aretae
132 Followers 420 Following Applied Humilitant Epistemologist Author, Educator, Developer, CTO
David J Batten @battenworks
449 Followers 338 Following Software engineer and DevOps specialist, motocross/supercross fan, and billiard enthusiast.
Eric Elliott @ericelliott_
60K Followers 12K Following ✨Make some magic 🖤 In love 🔥 Manager, Adobe Firefly 🪄 Conjured SudoLang 📖 Author of books on AI, AIDD, JS, FP
Forrest Brazeal @forrestbrazeal
41K Followers 218 Following Purveyor of good tech things. prev. @google. PARADOX INC is out from Ballantine Jan 27! Preorder: https://t.co/c0zzUlbfS5
Mark Richards @markrichardssa
3K Followers 58 Following Hands-on Software Architect, published author, conference speaker, trainer, avid hiker, Follow me at @markrichardssa.bsky.social
Team Topologies @TeamTopologies
6K Followers 2K Following (ACCOUNT FROZEN) Organize teams and interactions for fast flow. | 🔗 https://t.co/urODyU2NC6 | 🦣 https://t.co/RPwiO2Gwcc
Matthew Skelton @matthewpskelton
9K Followers 4K Following CEO at Conflux | Exec Advisory | Operating Models | Capability Design | Co-author of 'Team Topologies' and '
Simon Brown @simonbrown
27K Followers 754 Following Creator of the C4 model for visualising software architecture and Structurizr | Author of “The C4 Model” (O’Reilly, released summer 2026)



























