How Flow Works & Other Curiosities • James Lewis • YOW! 2023

Optimize software development flow at YOW! 2023: Value stream maps, batch size reduction, canary releasing, continuous delivery, AWS, AI, microservices, queue management, team topologies, and work flow.

Key takeaways

Key Takeaways:

  • Value stream maps are easy to read and represent the flow of code through a system.
  • Batch size reduction can significantly shorten cycle time.
  • Canary releasing makes sense and helps get more done.
  • Continuous delivery is a key principle for optimizing flow.
  • Evolutionary architectures allow for gradual system evolution.
  • Queue size control and batch size queuing principles are important for flow management.
  • Slowing down can counterintuitively make you go faster.
  • AWS and self-service platforms have disrupted the software development landscape.
  • Artificial intelligence is already being used to execute algorithms.
  • Legacy displacement flows are a common challenge.
  • Cassandra admins are a special breed.
  • Queues are everywhere and can be managed using various techniques.
  • Peak throughput principle and congestion collapse are important concepts to understand.
  • Small batch sizes and limiting work in progress are effective flow optimization strategies.
  • Team Topologies provide a framework for understanding and improving team interactions.
  • Generative science allows for modeling and simulation of complex systems.
  • Phase transitions in oligarchic societies can be modeled using agent-based models.
  • Microservices are fun but should be used judiciously.
  • Platform engineering teams are responsible for building and maintaining platforms for development and operations.
  • Data mesh is a newer concept for managing data in distributed systems.
  • Kubernetes and Docker have revolutionized infrastructure management.
  • Flocking behavior in birds and other animals can be modeled using agent-based simulations.
  • Lego’s approach to batch sizes provides valuable insights.
  • Queuing theory provides a mathematical framework for understanding queues.
  • Change request boards and architecture review boards can impede flow.
  • The flow of work is a critical aspect of software development.
  • Flow can be improved by eliminating bottlenecks and optimizing processes.
  • The domain model of work is a useful tool for understanding and improving flow.