Comments by "Andrea Laforgia" (@andrealaforgia) on "Continuous Delivery"
channel.
-
11
-
8
-
8
-
7
-
5
-
4
-
4
-
4
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
>The question that everyone in business typically asks, and that mobbers tend to deprecate, is whether it’s enough better to justify the obviously high investment, along with the abandonment of just about all work done in parallel.
Business folks often wonder that indeed. I guess these problems arise when two very different areas intersect: technical practices and people management.
My answer to that is that it would be easier to understand if "everyone in business" stopped thinking of humans as machines. Making humans work in isolation produces a worse result than having them work as a group.
We've known that since the dawn of time. Humans are social animals who achieve exceptional results by collaborating (whether it's chasing a mammoth or coding a new feature). Besides, there is no point in creating teams only to make team members work in silos. What's the point of making me build a spaghetti and marshmallow tower with my colleagues if then you want me to play in my little corner, with my headset on?
In no other field, we'll be able to find teams that don't collaborate synchronously to solve a current problem (football teams, military platoons, surgical equipes).
The business folks should therefore stop equating mobbing/pairing with typing.
Working together means thinking more clearly, sharing knowledge, achieving consensus, creating better quality, getting higher job satisfaction, avoiding wasteful activities of synchronization and rework (which often happens with post-development code reviews) and ultimately saving time.
2
-
2
-
2
-
2
-
>(a) One HAS some other Engineer(s)* available to pair/mob
This is the premise of working in a team, isn't it? There is a widespread idea that a team is a set of individuals working independently and only occasionally catching up. I've heard many times the argument "helping the junior members of the team slows down the senior ones who cannot complete their work". That's completely wrong. There's no "my work", "your work", there's the "team's work", so get the members of your team pair up and mob cause THAT is the premise of teamwork. If that condition is not currently achievable, work hard to achieve it.
My thoughts about (1) and (2): It's another work culture problem. If you have a super slow local build, that's a big problem. You need to address that. As a developer, you must be able to commit to trunk with confidence. The trunk build is not where you verify your local changes, so any developer who does that needs a good slap on their wrists. Any company that allows gaming the system that way has a big cultural problem that needs addressing.
I am not going to comment any of your remaining points, because none of them really contradicts what Dave proposes or creates scenarios where what Dave proposes is inapplicable. Those are not an indication of situations where PRs are a better solution. They only show situations where CI and CD are either not being implemented properly or using a completely flawed toolchain. The fact that PRs, in those specific contexts, might come more handy because CI and CD are done badly, is not a merit of PRs. Sorry, but you missed the point.
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
Can you clarify how Git Flow would ever help companies to manage risk of change in codebases with poor test coverage?
Cause if test coverage is poor, no branching strategy helps there.
With regard to "one-size-fits-all": no one ever stated that. In every case, however, where GitFlow is used, then Continuous Integration can be used, because CI would provide a logical segregation of features that is equivalent to the physical one offered by GitFlow.
Sure, every organization has different approaches to risk, and yet so many use the same techniques to manage it: feature branching, GitFlow, PRs.
In virtually every comment from GitFlow fans I've heard "it's not a silver bullet", "it doesn't always work", "in the real world it does not work that way" and yet no real argument was offered to rebut what Dave talks about in his video.
What are the contexts where CD is not applicable? (not provoking, just curious)
1