Summary
In this chapter, we learned how an already fine-grained application can be further decomposed to the level of individual functions, each of which may be deployed as its own independent unit. We looked at how we stand to benefit from keeping end-to-end functionality (a thin vertical slice) as a cohesive unit, which includes components from the frontend experience all the way to the backend.
Further, we looked at how Conway’s law can play an important role in the evolution of our architecture. We also looked at how we may be able to course correct cumbersome organizational structures by applying the inverse Conway maneuver. Finally, we briefly touched on popular methods of team organization that you can take inspiration from when designing your own organizational structures.
In the next chapter, we will look at a variety of non-functional characteristics that play a significant role in how we can decompose and distribute applications.