Your Team as a Distributed System • Andrew Harvey • YOW! 2019 - Part 1
Interesting. speech Andrew Harvey, who helped start-ups for a long time, Working inside Microsoft and now working as head of engineering at covidence.org, They make tools for reviewing scientific research. In this talk, Andrew talks about people and team management, but uses analogies from the world of distributed systems. (bulklitter reference toward fallacies of distributed computing, It has long been written by Peter Deutsch.). But the speech begins with a mention. Peter's principle: In a hierarchical system, every individual tends to rise to the level of his incompetence. And that this leads to the fact that the promotion of good engineers to managers can lead to the emergence of bad managers and the disappearance of good engineers:) The author hypothesizes that this happens because people do not throw away stack traces in case of errors - often people have silent error, performance decreases further, segfault occurs and they leave the company. And then the author draws a bridge from people to distributed systems.
It all starts with a reference to neuroscience and the fact that the human brain is already a distributed system. By the way, in 1981 American neuropsychologist Roger Sperry won the Nobel Prize for his discoveries concerning the functional specialization of the cerebral hemispheres. And in fact, he just cut people's callosum that connected the hemisphere. He tried to treat epilepsy with it and mutilated everything else. The topic of the brain is of course interesting, but then in this presentation the author moves on to the teams. (I've done it before. compilation ). But first he talks about the basic characteristics of a distributed system.
- Multiple processes
- Inter-process communications
- Disjoint addresss space
- Collective goal
All these characteristics are true for the team, which means you can see how the above-mentioned ones work for the team. fallacies of distributed computing
1. The network is reliable - here the author says that not everything said / sent will be heard / received:) Therefore, it is necessary to design communications to make sure that the necessary messages are received. (Be more TCP than UDP). 2. Latency is zero - Instant messages are often less instantaneous. So we need to design communications so that they're asynchronous and we don't suffer from waiting for synchronous responses. 3. Bandwidth is infinite Here the author says that bandwidth is limited, so communication should be designed to communicate about the important. On this topic, you can see a recent talk by Jez Humble, co-author of the book “Accelerate”, about which I am talking. told this week. 4. The network is secure Here the author reformulates this thesis as “Information is transmitted accurately”, but everyone who has played a broken phone knows that this is not the case:) The author intends to use the concept of checksums. (Humanists call this “active listening.”). 5. Topology doesn't change - that assumption doesn't work either. You can remember the book “Topology of teams”, which tells you how to change them. (Teams as means of Delivery, Team Topologies that work for flow, Evolving team interactions for innovation and rapid delivery. ) 6. There is one administrator Teams have many stakeholders and it is often difficult to reach consensus. Here comes the practice of facilitation. 7. Transport cost is zero The cost of communication is often significant, so we need to strive to balance our efforts to create value and our efforts to connect with everyone.) 8. The network is homogeneous Here the author says that homogeneity within the team is not good:) But if we have the diversity so desired by many, then there is another problem with everyone agreeing on a shared vision:)
Continuation of the analysis in the next post
#Management #Leadership #Software #SoftwareDevelopment #DistributedSystems #Architecture