Published Sep 3, 2019

Episode 113: Building Platforms with Jeff McAffer

Discover the art of building robust platforms with Jeff McAffer, as he delves into the nuances of platform versus frameworks, the critical role of API design, and overcoming challenges in maintaining balance and vision in development.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Client Needs

    Balancing client requirements is a critical aspect of platform development, as explains. He emphasizes the importance of having a long-term vision to guide decision-making when faced with competing client demands. This vision helps in determining which features align with the platform's future direction and in communicating these priorities to clients 1.

    By identifying that mechanism, the point at which they can do that and providing a point at which they can hook in, then they can define their policy to hook in at that point and do whatever they need.

    ---

    also highlights the necessity of maintaining backward compatibility to retain the community's trust, despite the challenges it presents 2.

       

    Flexibility

    Extensibility and flexibility are vital for platforms to adapt to client and technological changes. discusses the distinction between mechanism and policy, where mechanisms provide the foundational capabilities and policies define how these capabilities are applied 3. This separation empowers consumers to tailor the platform to their specific needs without altering the core functionality.

    When you mix them you end up with functionality that can't be reused beyond the scope of the original viewpoint because you had a producer, I'm sorry, a consumer viewpoint.

    ---

    He further explains the roles of producers and consumers, emphasizing the importance of maintaining a clear boundary between creating functions and defining their use cases 4.

Related Episodes