Iterative Development

4 posts

kakaoOriginal article

How the POPM Course Became a (opens in new tab)

Kakao developed its internal POPM (Product Owner/Product Manager) training program by treating the curriculum itself as an evolving product rather than a static lecture series. By applying agile methodologies such as data-driven prioritization and iterative versioning, the program successfully moved from a generic pilot to a structured framework that aligns teams through a shared language of problem-solving. This approach demonstrates that internal capability building is most effective when managed with the same rigor and experimentation used in software development. ## Strategic Motivation for POPM Training * Addressed the inherent ambiguity of the PO/PM role, where non-visible tasks often make it difficult for practitioners to define their own growth or impact. * Sought to resolve the disconnect between strategic problem definition (PO) and tactical execution (PM) within Kakao’s teams. * Prioritized the creation of a "common language" to allow cross-functional team members to define problems, analyze metrics, and design experiments under a unified structure. ## Iterative Design and Versioning * The program transitioned through multiple "versions," starting with an 8-session pilot that covered the entire lifecycle from bottleneck exploration to execution review. * Based on participant feedback regarding high fatigue and low efficiency in long presentations, the curriculum was condensed into 5 core modules: Strategy, Metrics, Experiment, Design, and Execution. * The instructional design shifted from "delivering information" to "designing a rhythm," utilizing a "one slide, one question, one example" rule to maintain engagement. ## Data-Driven Program Refinement * Applied a "Product Metaphor" to education by calculating "Opportunity Scores" using a matrix of Importance vs. Satisfaction for each session. * Identified "Data/Metrics" as the highest priority for redesign because it scored high in importance but low in satisfaction, indicating a structural gap in the teaching method. * Refined the "features" of the training by redesigning worksheets to focus on execution routines and converting mandatory practice tasks into selective, flexible modules. ## Structural Insights for Organizational Growth * Focused on accumulating "structure" rather than just training individuals, ensuring that even as participants change, the framework for defining problems remains consistent within the organization. * Designed practice sessions to function as "thinking structures" rather than "answer-seeking" exercises, encouraging teams to bring their training insights directly into actual team meetings. * Prioritized scalability and simplicity in the curriculum to ensure the structure can be adopted across different departments with varying product needs. To build effective internal capabilities, organizations should treat training as a product that requires constant maintenance and versioning. Instead of focusing on one-off lectures, leaders should design structural "rhythms" and feedback loops that allow the curriculum to evolve based on the actual pain points of the practitioners.

netflixOriginal article

Netflix's Metaflow Spin: Faster ML Development | Netflix TechBlog (opens in new tab)

Netflix has introduced Spin, a new functionality within the Metaflow framework designed to significantly accelerate the iterative development cycle for ML and AI workflows. By bridging the gap between the interactive speed of notebooks and the production-grade reliability of versioned workflows, Spin allows developers to experiment with stateful increments without the latency of full restarts. This enhancement ensures that the "prototype to production" pipeline remains fluid while maintaining the deterministic execution and explicit state management that Metaflow provides at scale. ### The Nature of ML and AI Iteration * ML and AI development is distinct from traditional software engineering because it involves large, mutable datasets and computationally expensive, stochastic processes. * State management is a primary concern in this domain, as reloading data or recomputing transformations for every minor code change creates a prohibitively slow feedback loop. * While notebooks like Jupyter or Marimo excel at preserving in-memory state for fast exploration, they often lead to "hidden state" problems and non-deterministic results due to out-of-order cell execution. ### Metaflow as a State-Aware Framework * Metaflow uses the `@step` decorator to define checkpoint boundaries where the framework automatically persists all instance variables as versioned artifacts. * The framework’s `resume` command allows developers to restart execution from a specific step, cloning previous state to avoid recomputing successful upstream tasks. * This architecture addresses notebook limitations by ensuring execution order is explicit and deterministic while making the state fully discoverable and versioned. ### Introducing Spin for Rapid Development * Spin is a new feature introduced in Metaflow 2.19 that further reduces the friction of the iterative development loop. * It aims to provide the near-instant feedback of a notebook environment while operating within the structure of a production-ready Metaflow workflow. * The tool helps developers manage the stateful nature of ML development, allowing for quick, incremental experimentation without losing continuity between code iterations. To improve data science productivity and reduce "waiting time" during the development phase, engineering teams should look to adopt Metaflow 2.19 and integrate Spin into their experimentation workflows.

figma2 min readCurated summary

The Duolingo Method: Collaboration As A Core Practice | Figma Blog

The Duolingo Math team treats collaboration as a continuous practice rather than a one-time handoff from design to engineering. Designers, engineers, and product managers co-create ideas, validate them through rapid prototypes, and refine features together. This approach helps the team make better decisions quickly while building entirely new learning experiences. ## Ideating Together - The Math team develops new lessons and games without established templates or patterns to follow. - Designers, engineers, and product managers begin projects together in a shared FigJam file. - After agreeing on a direction, designers create detailed Figma mockups, including interactions and motion. - Engineers participate early by evaluating technical complexity and commenting on implementation challenges. - Jira is connected directly to Figma, reducing context switching during development. ## Experimenting Through Rapid Prototyping - Engineers quickly build initial prototypes using components from Duolingo’s design system. - Designers and engineers share Figma files, working prototypes, questions, and feedback in Slack. - The team repeats a “prototype, test, tweak” cycle for each feature. - Duolingo’s “show don’t tell” principle encourages building and experiencing ideas instead of debating them abstractly. - Prototypes reveal how an interaction actually feels, helping the team test assumptions and make decisions before investing in a polished implementation. ## Polishing and Shipping Together - Continuous collaboration allows the team to make decisions and polish features during development. - The team may simplify animations or remove nonessential mechanics to ship faster. - When exploring educational games, Duolingo first created a batch of simple prototypes instead of building two fully developed games. - The team tested seven different prototypes to learn what resonated with users and prioritized features based on those findings. The Duolingo method replaces rigid handoffs with shared ownership, frequent communication, and working software. For exploratory products, teams should involve engineers early, prototype quickly, and use real user or team feedback to guide what gets polished and shipped.

Read original(opens in new tab)
figma2 min readCurated summary

Welcome to the WIP | Figma Blog

Modern digital products are never truly finished, so product development rarely follows the neat sequence of research, brainstorming, design, testing, and launch. Figma argues that teams should embrace this “work in progress” reality, sharing work earlier and designing workflows around continuous collaboration. The challenge is managing changing feedback and uncertainty without waiting for a mythical perfect moment to review or finalize work. ## Digital Products Are Always Works in Progress - Physical product development historically required a linear process because changes were expensive and slow. - Digital products can be updated quickly, making iteration continuous rather than stage-based. - Browser-based tools let collaborators access and modify the same file in real time. - Early sharing lowers the stakes: labels such as “[WIP]” signal that feedback is welcome and the work is not final. ## The Benefits and Confusion of Continuous Collaboration - Real-time collaboration encourages teams to share unfinished work sooner. - Feedback can become outdated as designs change. - Previous approvals may no longer apply when the underlying work evolves. - Teams need better ways to stay informed, including notifications, mobile comments, and integrations with tools such as Google Calendar, Microsoft Teams, and Zoom. - Because work may never have a clearly defined final state, teams can even forget to remove “work in progress” labels after launch. ## Review Work on a Predictable Cadence - In an always-changing workflow, it is difficult to identify the perfect time to involve stakeholders or leadership. - Teams may be tempted to wait until the problem, solution, or product feels sufficiently complete. - Figma recommends predictable, intentional reviews—such as regular weekly critiques—instead of waiting for a supposedly ideal milestone. - Frequent check-ins help teams build confidence progressively while keeping feedback connected to the current state of the work. Teams should treat iteration as a normal operating condition, not a sign of poor planning. Regular reviews, clear communication, and collaboration tools can make continuous work more manageable without forcing it into an unrealistic linear process.

Read original(opens in new tab)