Chief Imposter Officer, Engineer, shy, introvert, opinionated, sometimes speaker, reviews stuff of others
Oct 7, 2022 • 6 tweets • 5 min read
What is Exploratory Testing
we use information, both tacit and implicit, to inform our testing to uncover unknowns we are aware of (known unknowns) as well as the once we are not aware of (unknown unknowns)
During the trunk-based development support group session at #SoCraTes2022 naturally, the code review topic came by.
Some takes ...
First of all ...
Code reviews often don't catch problems they catch nitpicks. @SamirTalwar
Dec 6, 2021 • 14 tweets • 5 min read
X: Where do you get your amazing people at Netflix?
A Cockcroft: I get them from you.
It is not about hiring brilliant people.
It is about Netflix building an organisation, a management structure and leadership that enabled people to do their best and create outcomes effectively
The system is important!
If you hire good people into a bad system, you break the people.
> A bad system will beat a good person every time
>-- Deming
Another implication of Conway’s Law is that if we have managers deciding on teams, and deciding which services will be built, by which teams, we implicitly have managers deciding on the system architecture.
— @ruthmalan on Conway’s Law
web.archive.org/web/2018102200…
Conway’s Law also kicks in if we take an initial guess at the system decomposition allocate subsystems to teams, and sally forth–the team boundaries will tend to become boundaries within the system.
May 2, 2021 • 4 tweets • 1 min read
Conway's Law:
We can view a system as a linear graph.
Each node is a subsystem which communicates with other subsystems along the branches.
Each subsystem may contain a structure similarly portrayed.
"Interface" refers to the inter-subsystem communication path or branch.
The linear-graph notation is useful because it provides an abstraction that has the same form for the two entities we are considering:
the design organization
and the system it designs.
May 2, 2021 • 5 tweets • 1 min read
... organizations which design systems (in the broad sense used here) are constrained to produce designs which are copies of the communication structures of these organizations.
-- How Do Committees Invent?, Melvin Conway
(aka Conway's Law)
... we have found a criterion for the structuring of design organizations: a design effort should be organized according to the need for communication.
May 2, 2021 • 10 tweets • 2 min read
The structures of large systems tend to disintegrate during development, qualitatively more so than with small systems.
Why do large systems disintegrate?
-- How Do Committees Invent?, Melvin Conway
First, It is a natural temptation of the initial designer to delegate tasks when the apparent complexity of the system approaches his limits of comprehension. ... Either he struggles to reduce the system to comprehensibility and wins, or else he loses control of it.
May 2, 2021 • 7 tweets • 1 min read
... we have demonstrated that there is a very close relationship between the structure of a system and the structure of the organization which designed it.
— How Do Committees Invent?, Melvin Conway
This kind of a structure-preserving relationship between two sets of things is called a homomorphism.
— How Do Committees Invent?, Melvin Conway
May 2, 2021 • 4 tweets • 1 min read
... the very act of organizing a design team means that certain design decisions have already been made, explicitly or otherwise. ...
— How Do Committees Invent?, 6th par, Mel Conway
... Given any design team organization, there is a class of design alternatives which cannot be effectively pursued by such an organization because the necessary communication paths do not exist. ...
— How Do Committees Invent?, 6th par, Mel Conway
Nov 14, 2019 • 8 tweets • 2 min read
#ContinuousIntegration Pro-tip (of course I mean single branch):
Start adopting the expand-contract pattern.
Expand-contract is what blue-green deployments do.
You expand by installing a new version of the app, and then you contract by removing the old version.
Feb 14, 2019 • 14 tweets • 3 min read
You surely know this. Just to make sure we are all aligned.
An agile transformation without working on the foundations, i.e. instituting technical excellence and introducing #XP practices, is just a pure waste of time, energy and truckloads of money 💰.
Right?
When not working on the technical practices, you will just do agile. Not be agile.
In the end you are just introducing a new process on top of cruft bringing no improvement whatsoever to the end result.
You won't deliver better value sooner.
You won't have more engaged employees.
Apr 26, 2018 • 6 tweets • 2 min read
When IT is seen As A Cost Centre it will be incapable of revenue creation.
In this scenario an org has a standalone IT department with annual budget and plan. Focus will be on maximising resource utilisation by keeping people busy and minimising cost by outsourcing.
When IT is seen As A Business Differentiator it is a direct or indirect revenue creator.
In this scenario an org has its IT department integrated into its business vertical with rolling budget and plan. Focus will be on optimising flow of work and limiting work in progress.