🇫🇷Profiter d'un kata de code pour échanger avec le produit sur la nécessité de pratiquer un refactoring régulier. #Craft#Refactoring
https://t.co/yj9bOrBKhZ
I wanted to move out from X for quite some time now. But I didn't really know if I could find again the ones I liked to read somewhere else, and if yes where. So I made a list (50) and I checked. 62% of them are where the sky is blue and are active. Enough from me.
So, I moving out gradually from X. Tbh I don't know if I will be able to get what I used to liked on Twitter back in the days. But it will be much better than fake news, extrem polarization and insults for sure.
Find me at https://t.co/iouLtGHrbj if you want to stay connected.
You left engineering because you were tired of:
- PMs who don't understand system dependencies
- "Product people" who can't think in flows
- Leaders who demand random features
- Roadmaps built on hope
But what if product management was actually about systems?
"Thinking in Systems" blew my mind:
My first blog post since … forever 🙂
Unraveling CQRS, Event-Sourcing, and EDA - Part 1: CQRS
https://t.co/4swHDUKevO
Very basic, first in a series of 4 or 5.
RT appreciated!
#cqrs#eventdrivenarchitecture#eventsourcing
@scotthannen wrong, just flat out wrong.
'agile' has nothing special to do with software. It was an accident of history that these ideas were first formulated by programmers. But the ideas apply everywhere.
It's what the Heart of Agile is all about.
10 years now my main lecture topic.
I like this. Size is inherently linked to our expectations. The less we expect the less we need to do and assess.
One might ask "how can I be satisfied by this statement ?". We tend to forget the **continuously** part.
I’ve never seen any proof that having high WIP and highly parallelised task work has ever resulted in high throughput.
People assume it is true because that is why they did it.
Everything I’ve seen shows the opposite.
If developers say that user stories aren't detailed enough, we've already gone down the wrong path.
Users stories start with minimal detail. The specifics are added by developers as we collaborate with the business to understand the problems.
Welcome to day 1 of Q4.
Our work plan is even more aggressive than Q3.
So let's finish up the Q3 work ASAP and get cracking on Q4.
I know you can do it!
#NotMyAgile
Consider two tangential angles on software development.
1. There is the engineering side, which many focus on. Engineering primarily looks for exacting correctness, including estimates on how long. Of course, correctness is important, but it can cause friction to the nature of building software. Software is not the same as roads, highways, sewers, buildings, etc. And for that matter, architecture as traditionally defined is similarly an impedance to successful software construction.
2. The other angle is the science of software development, which branches at a right angle to engineering. Science includes experimentation, which means you don't know what's correct. If you read "Strategic Monoliths and Microservices," you know about the Cynefin Framework. In the Complex domain, there's no way to know what will work, or at least you can't be certain what will work *best*. Experimentation leads to being wrong much of the time, which is incompatible with engineering. Yet, being wrong is the path to being right, eventually. Businesses that operate outside of pure scientific areas can't tolerate being wrong. They punish it. But that also means that they can only copycat, not discover, and build breakthrough innovations, unless they learn to accept being wrong.
Note that technical debt was originally codified on the basis of knowing the software was wrong, but the team needed to borrow time to release sooner to receive user feedback sooner than they would if they took time to make the software correct before release. Yet, they couldn't remain in debt for long or all their time would be spent "paying interest" due to the model being wrong per their current understanding. That's much closer to scientific, not engineering.
So, a significant cultural shift must occur in companies that actually want to lead rather than follow. Companies that already lead have been in science mode for longer than they were leaders. They are also great engineers. They know when to wear a lab coat and when to use their slide rules.
Example: Study @nvidia's history.
Web programmers seem to have no idea just how fast computers have become. The vast majority of all SaaS apps ever made could easily run on a single, beefy beast. Main reason to add multiple machines is for redundancy, and even that is something you can put off for ages.