Published Sep 3, 2019

Episode 48: Interview Dragos Manolescua

Explore the intricacies of software architecture evaluation with Dragos Manolescu from Microsoft's patterns & practices group, as he shares insightful analysis on the integration of agile processes, the critical role of stakeholders, and the challenges associated with current evaluation tools and methods.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Stakeholders

    Understanding stakeholder roles is crucial in architecture evaluation. emphasizes the importance of involving all stakeholders, not just IT, to ensure a comprehensive evaluation. He notes that often, non-IT stakeholders like operations and developers are overlooked, which can lead to issues later in the project lifecycle 1. advises revisiting and updating stakeholder lists to ensure all relevant parties are included, as this helps in establishing evaluation criteria tailored to the architecture's needs 2.

    If you find yourself on a project that has some work done on this front, try and revive it back, pull it out, and make sure that it's still valid, updated, and people are still aware of what you're dealing with.

    ---

    This approach ensures that the architecture supports all stakeholders effectively.

       

    Prerequisites

    Setting clear prerequisites is essential for effective architecture evaluation. highlights the need for early evaluation to validate design decisions before extensive coding begins, as later changes can be costly 3. He stresses that evaluations should not focus solely on technology but also consider broader architectural concepts like module interactions and distribution patterns 3.

    Actually, it doesn't require big upfront design. It requires some thinking. It requires some thinking ahead of time.

    ---

    This mindset aligns with agile development, where flexibility and iterative feedback are key.

       

    Methods

    Various methodologies exist for architecture evaluation, each with unique strengths. discusses methods like SAM, ATAM, and CBAM, which focus on different aspects such as modifiability, trade-offs, and economic factors 4. These scenario-based methods help identify architectural risks and evaluate design decisions against goals. However, notes that current tools often lack the ability to assess runtime communication between components, highlighting the need for more comprehensive evaluation tools 5.

    These tools tend to require your defining some constraints and then they verify that information that they can pull out of the source code meets or doesn't meet these constraints.

    ---

    Generic tools like wikis and Excel can be effective alternatives for capturing evaluation scenarios.

Related Episodes