More Goto tech episodes

Model-Based Systems Eng. & Requirements Definition  Dennis Hansen & Jorge Orellana thumbnail

Model-Based Systems Eng. & Requirements Definition Dennis Hansen & Jorge Orellana

Published 3 Jul 2026

Duration: 00:22:57

Structured system engineering emphasizes sequential layer development from mission definitions to detailed designs, using documentation (e.g., Technical Requirements Reports, SysML) for traceability, iterative refinement, architecture modeling to manage complexity, and collaboration to align technical and managerial priorities while avoiding parallel component development that causes conflicting requirements.

Episode Description

This interview was recorded for the GOTO Book Club. http://gotopia.tech/bookclub Dennis Hansen - Air Force Veteran, Chief Systems Engineer & Author of...

Overview

The podcast delves into software development through practical lessons and theoretical insights from industry leaders, emphasizing strategies to address current projects and prepare for future challenges in software engineering. A central focus is the book Model-Based System Engineering and Requirements Definition by Dennis Hansen, whose extensive 60-year career in automation, military programs, and systems leadership highlights the importance of structured methodologies in system engineering. Key concepts include a mission-centric approach, where defining missions and capabilities guides technical requirements, and layered system definitionscomparable to an onion structurethat prioritize sequential development to avoid errors. The discussion underscores the use of modeling tools like SysML and UML, with an emphasis on clear documentation at each layer for traceability and coherence.

Methodological critiques highlight the risks of parallel development across system layers, advocating instead for detailed, step-by-step modeling to ensure clarity and alignment. The podcast explores practical applications such as mission planning, satellite simulations, data handling, and compliance with industry standards (e.g., SB 800-53), illustrating how architecture models help manage complexity and integrate security early in the design. It also emphasizes iterative refinement, where models are continuously updated to refine requirements and prevent costly errors, alongside the role of documentation in maintaining design rationale and consistency.

Additional topics include the educational value of the books real-world examples, which bridge high-level system architecture with low-level implementation details. The discussion stresses the importance of collaboration across engineering disciplines, structured team communication, and stakeholder alignment to ensure shared understanding and avoid future issues. Modeling tools are framed as critical for tracking system functionality, maintaining coherence, and supporting iterative improvements. Ultimately, the content advocates for a disciplined, collaborative approach to system engineering, ensuring alignment between documentation, design, and evolving project needs.

What If

  • What if you applied a mission-centric framework to your next software project?

    • Move: Define the core mission and required capabilities before diving into technical specs. Use a Technical Requirements Report (TRR) to outline functional needs and trace them to implementation details.
    • Why Now?: Modern development often prioritizes features over mission alignment, leading to bloated or misaligned products. This approach ensures every feature directly serves the user's goal.
    • Expected Upside: Clearer priorities reduce rework, improve stakeholder buy-in, and create a more focused product roadmap.
  • What if you adopted a layered modeling approach for your architecture?

    • Move: Build your system in sequential layersstarting with high-level SysML models, then translating them into UML diagrams and code. Use connectors to modularize complex diagrams.
    • Why Now?: Parallel development of layers often creates conflicting requirements. This structure avoids misalignment and ensures traceability from mission goals to code.
    • Expected Upside: Easier debugging, fewer integration errors, and faster validation of compliance with standards like SB 800-53.
  • What if you proactively integrated security and compliance into your modeling process?

    • Move: Use SysML viewpoints to model security requirements (e.g., authentication flows) before coding. Document design rationale in the model to justify compliance decisions.
    • Why Now?: Late-stage security checks are costly. Integrating these early aligns with the books emphasis on proactive accreditation and prevents poems (required corrections).
    • Expected Upside: Reduced rework during audits, faster regulatory approval, and a more robust system architecture from the ground up.

Takeaway

  • Define your mission and create Technical Requirements Reports (TRRs): Start by clearly outlining the mission and required capabilities, then document detailed requirements in TRRs to guide system specifications and avoid scope creep.
  • Structure projects in layered, sequential phases: Build your system incrementally, starting from mission definition, then capabilities, activities, documentation (e.g., UML/SysML diagrams), and detailed design, ensuring each layer is fully developed before moving to the next.
  • Use modeling tools for traceability and collaboration: Adopt structured modeling tools (e.g., SysML, UML) to map system behavior, document design rationale, and ensure traceability between requirements, designs, and implementation.
  • Iteratively refine models and document decisions: Regularly update your models as understanding evolves, and maintain detailed documentation of design choices to avoid confusion and streamline future revisions.
  • Simulate stakeholder collaboration through structured documentation: Even as a solo developer, use clear documentation and regular self-reviewed check-ins to mimic cross-disciplinary collaboration, ensuring alignment on goals and reducing errors from miscommunication.

Recent Episodes of Goto tech

26 Jun 2026 Sovereign Cloud: Who Really Owns Your Infrastructure? Jake Warner & Charles Humble

The evolution of infrastructure management highlights Kubernetes' limitations, introduces Cycle as a decentralized alternative offering flexible, hybrid deployments and data sovereignty compliance, while addressing cost, vendor lock-in, and geographic data privacy challenges through bare metal use, geographic control planes, and expanded provider support with a free developer tier.

19 Jun 2026 Continuous Delivery in a World of Constant Change Abby Bangser & Dave Farley

Continuous delivery principles, AI's challenges in code generation, and the necessity of incrementalism, rigorous testing, and human validation in software development are emphasized, alongside critiques of AI's lack of precision and the push for structured validation in high-stakes systems.

16 Jun 2026 Go for Java Programmers Barry Feigenbaum & Shon Saliga

Go emphasizes simplicity, concurrency, and efficiency for lightweight applications through explicit error handling and goroutines, while Java offers a feature-rich, object-oriented framework with extensive libraries and inheritance for complex, general-purpose systems, each suited to distinct development priorities and domains.

12 Jun 2026 Engineering Leadership in Turbulent Times Sarah Wells, Pat Kua & Daniel Terhorst-North

The text contrasts technical leadership and management, highlighting leadership's emphasis on vision and team alignment with management's focus on systems and accountability, while exploring change strategies, frameworks like the "Three Threes Model," challenges in technical debt and cross-functional alignment, and the role of communication, culture, and adaptability in fostering innovation.

9 Jun 2026 Modern Concurrency in Java Bazlur Rahman & Michael Redlich

Modern Java concurrency explores the shift from traditional threads to virtual threads (JDK 21) and structured concurrency, emphasizing scalability for I/O-bound tasks, task management simplification, limitations in CPU-bound work, comparisons with reactive programming, adoption challenges, and the book's unification of knowledge around Project Loom and scoped values for intermediate developers.

More Goto tech episodes